| <?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.4/uma.ecore" |
| xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-EHSlFv7Gla5oCPGBiaZKow" |
| name="agile_software_development,1.041091673844025E-305" guid="-EHSlFv7Gla5oCPGBiaZKow" |
| changeDate="2006-11-29T18:32:13.357-0500" 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> |