Talk:Software engineering/Archive 3

message: These 2 quotes are pretty cynical and down. In a similar vein, one could describe Winston Churchill as "a politician who lost a bunch of elections." Can we not find much better quotes about SE?
*I don't believe you can get much better than Edsger Dijkstra and Fred Brooks, and I would be opposed to replacing these quotations with gee-whiz happy talk. Dpbsmith (talk) 17:34, 19 Nov 2004 (UTC)
thread_title:  Quotes 

message: Why isn't he a pioneer?  His promotion and popularization of the XP concepts seemed pretty radical and pioneering to me at the time.  And even where the whole XP method hasn't been adopted, a lot of its ideas have influenced the development process. -- Key45 23:10, 23 Nov 2004 (UTC)
thread_title:  [[Kent Beck]] 

message: I've reinserted the following which I believe to be accurate:
:As of 2005, in common parlance the term software engineering is used with at least three distinct meanings:
:* As the usual contemporary term for the broad range of activities that was formerly called programming or systems analysis;
:* As the broad term for the technical analysis of all aspects of the practice, as opposed to the theory of computer programming;
:* As the term embodying the advocacy of a specific approach to computer programming, one that urges that it be treated as an engineering profession rather than an art or a craft, and advocates the codification of recommended practices in the form of software engineering methodologies.
The term is really used in all these senses, even if some advocates would like it to be otherwise.  
Why was it removed? 
If, after introducing these terms, it is felt that the article should discuss only one of these meanings for software engineering, it should say so and then continue. Anything else muddies the water. Dpbsmith (talk) 21:22, 15 Feb 2005 (UTC)
thread_title: Meanings

message: Extreme Programming is the best-known agile process. In Extreme Programming, the phases are mixed up. Advocates say this is much more effective. Testing is done first, to provide concrete goals for development. Coding comes next. Design and architecture emerge out of refactoring, and come after coding. Design is done by the same people who do the coding. (Only the last feature - blurring together design and code - is common to all the other agile processes.)
:How can testing "be done first?" If no coding has occurred yet, what is there to test? Dpbsmith (talk) 10:39, 7 Apr 2005 (UTC)
replies: text: You write the unit test as some sort of semi-formal specification to test the design contract of a future implementation. That way you can think of the interface of code, while doing something useful (coding) at the same time. Example: you want to write a certain collection class. First you write the unit test, in which you create an instance of the (not yet existing!) class in code. Then you do a few addition and removal operations, and write code to check the contents and size of the container. This test will of course not compile. So then you write an empty class that conforms to the newly-designed interface. You adapt some changes to the test if needed, and you compile. This time, the unit test will compile, and will fail immediately (otherwhise your test is bad). Now you continue implementing methods, during which you constantly test, expand and adapt the unit test. I hope this clears stuff up. Wouter Lievens 16:51, 7 Apr 2005 (UTC)
replies: text: That's completely different. "Developing unit tests" is not "testing." Please clarify the paragraph language to explain that unit tests are developed before developing the code, which is perfectly sensible (and a common practice for decades), not that "testing is done first," which is absurd. Also, if the unit tests are actually implemented, then surely that counts as "coding," i.e. it is just saying that one part of the coding, the unit tests, is performed before other portions. Note that this is not that different from insisting that well-specified requirements be defined before coding begins; unit tests are simply very well-specified requirements. Dpbsmith (talk) 17:37, 7 Apr 2005 (UTC)
replies: text: You're indeed correct. The paragraph (with which I had nothing to do :p) requires a rewrite. Wouter Lievens 19:12, 7 Apr 2005 (UTC)
thread_title: Excuse me?

message: I weasel-worded the statement that software engineering is "a profession." The definition of "profession" varies. Software engineering meets some definitions of profession but not others.
A good example is the existence of a code of ethics. Many, though not all definitions of "profession" say that a professional is bound by a code of ethics, which takes precedence over the professional's responsibility to his employer. It is very clear that medical doctors and their employers acknowledge that doctors are bound to a code of professional ethics. A doctor may be a hospital employee, but is a doctor first and a hospital employee second. The same is true of accountants.
It is far from clear that this is true of software engineers. Dpbsmith (talk) 16:17, 25 Apr 2005 (UTC)
thread_title:  Careful about POV: "Profession" 

message: I'm not an expert in software engineering, but I request article
critical mass (software) to be written, explaining use of term critical mass in software engineering. A sentence linking to it might look nice after
the sentence...
"Many software products contain millions of lines of code that are expected to perform properly in the face of changing conditions."
...in software engineering article. I just can't find the words to write
it my self. --80.221.54.251 19:36, 25 May 2005 (UTC)
thread_title:  Critical mass