Issue No. 10 - October (1999 vol. 32)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/2.796139
<p>Traditional software engineering means have been characterized by a rather predictable process in the past. Users tell once and for all exactly what they want. Programmers design the system that will deliver those features. They code it, test it, and all is well. But all was not always well. The users didn't tell once and for all exactly what they wanted. They changed their minds. And the users weren't the only problem. Programmers could misjudge their progress. The academic software engineering community took the high cost of changing software as a challenge, creating technologies like relational databases, modular programming, and information hiding. This is where Extreme Programming comes in. Rather than planning, analyzing, and designing for the far-flung future, XP exploits the reduction in the cost of changing software to do all of these activities a little at a time, throughout software development. According to the author, XP is by no means a finished, polished idea. The limits of its application are not clear. To try it today would require courage, flexibility, and a willingness to abandon the project if necessary.</p>
K. Beck, "Embracing Change with Extreme Programming," in Computer, vol. 32, no. , pp. 70-77, 1999.