Soapbox - eXtreme Programming Development through Dialog
نویسنده
چکیده
T o those who are unfamiliar with the method, eXtreme Programming might conjure up visions of programmers madly hacking away without concern for analysis, architecture, design, or consequences. Indeed, people have frequently made such accusations. Yet such claims are not only baseless, they are dia-metrically opposed to what XP is all about. XP is the brainchild of Kent Beck, and he describes it in his landmark book eXtreme Programming Explained (Addison-Wesley, 2000). (A review of this book appears on page 113 in this issue.) It is a software development method that views people, rather than paper, as a project's most potent element. Its primary motive is to start a dialog between the people involved in a project. It facilitates this by identifying the parties in the conversation and arming them with the clear knowledge of what they are responsible for communicating to others. The Dialog The two primary roles in XP are customer and programmer. The customer is the person or group who represents the users. The customer is responsible for identifying the features (known as stories) that the programmers must implement, providing detailed acceptance tests for those stories and assigning priority to them. Thus, the programmers should implement the stories the customer wants, in the order the customer wants, and pass any tests that the customer specifies. Programmers may not implement anything that the customer does not explicitly request. On the other hand, programmers are responsible for estimating how long it will take to implement the stories. Customers may not question or challenge those estimates or make commitments to third parties that do not reflect those estimates. With this division of responsibility in place, it is clear that a project plan represents a dialog between the customer and programmers. The protocol of that dialog is also clear. The customer tells the programmers what stories he or she wants in the next iteration. The programmers add up the estimates for those stories and tell the customer whether they are possible. The customer can remove or swap stories but can't get more in the iteration than the programmers estimate is possible. The programmers can tell the customer how long something will take, but they can't select the stories to be implemented. How could this possibly work? After all, no customer is going to simply accept the pro-grammers' estimates; instead, the customer will push back on those estimates, demand better performance, and …
منابع مشابه
IJEE Soapbox: Prince kroPotkin meets the hutchinsonian niche
E-mail: [email protected] The IJEE Soapbox provides an informal forum for leading ecologists and evolutionary biologists to expound on issues that they find particularly exciting, thought provoking, and novel. Robert D. Holt is our first invited IJEE Soapbox essayist. Bob is Professor of Biology and Arthur R. Marshall, Jr., Chair in Ecology at the University of Florida, and is one of the forem...
متن کاملA declarative framework for building compositional dialog modules
Rapid development of spoken language dialog applications requires a domain-portable dialog framework and the ability to re-use dialogs which have already been created. Satisfying this goal should not come at the expense of dialog flexibility and naturalness. Current frameworks which enable dialog re-use typically do so by linking dialogs sequentially in a finite-state graph, producing a rigid d...
متن کاملThe Effect of Explicit and Implicit Instruction through Plays on EFL Learners’ Speech Act Production
Despite the general findings that address the positive contribution of teaching pragmatic features to interlanguage pragmatic development, the question as to the most effective method is far from being resolved. Moreover, the potential of literature as a means of introducing learners into the social practices and norms of the target culture, which underlie the pragmatic competence, has not been...
متن کاملA Study of Extreme Programming in a Large Company
Agile software development is an approach to software that focuses on lightweight processes and adaptability to change. The best-known agile methodology is called Extreme Programming. It suggests twelve practices that include iterative development practices, automated unit testing, and pair programming. Extreme Programming is designed for small projects, but has been picked up through grassroot...
متن کاملTailoring XP for Large System Mission Critical Software Development
A plethora of subjective evidence exists to support the use of agile development methods on non-life-critical software projects. Until recently, Extreme Programming and Agile Methods have been sparsely applied to Mission Critical software products. This paper gives some objective evidence, through our experiences, that agile methods can be applied to life critical systems. This paper describes ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- IEEE Software
دوره 17 شماره
صفحات -
تاریخ انتشار 2000