| <?xml version="1.0" encoding="UTF-8"?> |
| <org.eclipse.epf.uma:ContentDescription xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.3/uma.ecore" epf:version="1.0.0" xmi:id="-EHSlFv7Gla5oCPGBiaZKow" name="agile_software_development,1.041091673844025E-305" guid="-EHSlFv7Gla5oCPGBiaZKow" changeDate="2006-11-29T15:32:13.357-0800" version="1.0.0"> |
| <mainDescription><a id="XE_agile_software_development__process_differentiators" |
| name="XE_agile_software_development__process_differentiators"></a> |
| <h2> |
| <a id="Intro" name="Intro">Introduction</a> |
| </h2> |
| <p> |
| Extreme Programming is probably the best known and very likely the most used of what have come to be known as agile |
| software development methods. There are many software professionals working on agile methods today. There have been |
| several international conferences on agile methods, numerous papers, many websites, and quite a few books. We'll key |
| our discussion from the Agile Manifesto at <a href="http://www.agilemanifesto.org" |
| target="_blank">www.agilemanifesto.org</a>. |
| </p> |
| <p> |
| We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have |
| come to value: |
| </p> |
| <h2> |
| <a id="Individuals" name="Individuals">Individuals and Interactions Over Processes and Tools</a> |
| </h2> |
| <p> |
| Processes and tools are very important. We wouldn't be writing this and you wouldn't be reading it were that not true. |
| The best processes and tools, we believe, are those that enable the individuals who are part of a software project to |
| do their job most effectively. To do that, the processes and tools need to facilitate the human interactions that bring |
| about understanding and cooperation. The agile methods use the smallest amount of process that's safe and the simplest |
| tools that are effective in aid of those individuals and interactions. |
| </p> |
| <h2> |
| <a id="Working" name="Working">Working Software Over Comprehensive Documentation</a> |
| </h2> |
| <p> |
| Documentation can be very important to a software project. Sometimes it's the only way to communicate ideas across |
| space and time. For an ongoing software project, however, there is a much better way to know what's going on and to |
| steer the project. |
| </p> |
| <p> |
| Observe the software. The software can be tested, used, and inspected, and all the answers you get are unambiguous. The |
| agile methods focus on keeping the software visible, beginning as early as possible. The best XP projects begin |
| producing tested visible software in the first couple of weeks of the project and never stop. |
| </p> |
| <h2> |
| <a id="Customer" name="Customer">Customer Collaboration Over Contract Negotiation</a> |
| </h2> |
| <p> |
| Many software projects require a contract, and all benefit from a clear understanding of what will be done. Attempts to |
| over-constrain the initial understanding, however, almost always backfire. Too often, the result can be a "letter of |
| the law" product that pleases neither the developers nor the users. Agile methods recognize that all stakeholders will |
| be learning over the course of the project. Agile projects are thus set up to facilitate learning and to take advantage |
| of it. |
| </p> |
| <h2> |
| <a id="Responding" name="Responding">Responding to Change Over Following a Plan</a> |
| </h2> |
| <p> |
| Too many changes of direction can cause a project to go out of control, costing too much or never finishing. Initial |
| plans, however, cannot know which potential changes should be accommodated and which ignored. Agile methods address |
| this issue in two ways: |
| </p> |
| <p> |
| First, they respond to change by planning publicly and often. Small changes are dealt with in frequent in-team small |
| planning sessions, while the big picture is published and processed by all stakeholders, again very frequently. |
| </p> |
| <p> |
| Second, the development techniques in the agile methods generally allow stakeholders to substitute new and better ideas |
| for earlier notions without exorbitant increases in costs. |
| </p> |
| <h2> |
| <a id="Summary" name="Summary">Summary</a> |
| </h2> |
| <p> |
| As you study Extreme Programming and as you use it, it's important to keep these agile values in mind. As you tune and |
| adjust the process to your situation, working with the values will enable you to get the best results from the least |
| effort. |
| </p></mainDescription> |
| </org.eclipse.epf.uma:ContentDescription> |