Extreme Programming

1018 Words5 Pages
Extreme Programming Upon reading the word, extreme; it is not uncommon to take a step back and consider what that actually means; including the severity it may imply. Severity is no stranger to Extreme Programming, which aims to streamline the software development process in some radical ways. Some of the methods this style of development implements include: pair programming, test-driven development, simple design, customer tests, sustainability, design improvement, and iterative releases. “Extreme Programming improves a software project in five essential ways; communication, simplicity, feedback, respect, and courage”(Wells). Defenders of this method claim success due to its high regard for customer satisfaction; as development is incremental in frequent, functional releases; and the customer is always involved. Customer satisfaction can be touted as the most important variable in a development contract. If the customer is satisified, then the project can be heralded as a success; however if the customer is not, the project and the developer's reputation are on the line. An underlying concept of extreme programming is the Whole Team concept. This means that every person involved with the development including the customer, are on the same level, and part of the same team. While the members of the team may specialize in certain areas, all of them contribute in other areas when they are needed. Treating the customer as a part of the team allows them to help tailor the product to their needs, as well as provide satisfaction by means of visible progress(Extreme). The planning game is comprised of two steps, which address the questions of what will be accomplished by the due date, and what should be done next. This planning is meant to steer the project, rather than exactly predict what will be needed, or how long it will take. Release planning starts with the
Open Document