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 Approach, McGowan 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