Software Design and Programmers 3


The scary part is that the software engineering texts that Whitaker and At kin so skillfully deride are the standard texts used in college software development courses. For example, Software Engineering: A Practitioners ApproachMcGowan Hill’s best-selling software engineering text, does not have a single program listing. Software Engineering: Theory and Practice, Prentice Hall’s bestseller, does dedicate 22 pages to coding. [Whitaker, 2002, p. 110]
One approach that has arisen as an alternative to the software engineering approach is the craft-based approach, which DE emphasizes complex processes, specialization, and hand-offs.1 Extreme Programming is an example of a craft-centric methodology. Extreme Programming, and related techniques such as re factoring and "test first design," arose from the work Small talk developers Kent Beck and Ward Cunningham did together. According to Pete McBride in Questioning Extreme Programming, "The idea that the source code is the design was widespread in the Small talk community of the 1980s." Extreme Programming has at its core the idea that the code is the design and that the best way to simultaneously achieve the best design and the highest quality code is to keep the design and coding activities tightly coupled, so much so that the they are performed by the same people—programmers. Re factoring  a key XP concept, codifies a set of methods for incrementally altering, in a controlled manner, the design embodied in code, further leveraging the programmers role as designer. Two other key XP concepts, "test first design" and automated unit testing, are based on the idea that, not only is the code the design, but the design is not complete unless it can be verified through testing. It is, of course, the programmer’s job to verify the design through unit testing.

No comments:

Post a Comment

Related Posts Plugin for WordPress, Blogger...