blob: d9c822c3e7998e8b6a55929acbd15338591622bd [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<org.eclipse.epf.uma:PracticeDescription xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.6/uma.ecore" xmlns:rmc="http://www.ibm.com/rmc" rmc:version="7.5.1" xmlns:epf="http://www.eclipse.org/epf" epf:version="1.5.1" xmi:id="-Yvy3AKQTjSqBPNxsWkizkQ" name="iterative_development,_LR_g4J9WEdy3Nc4rvuj7bA" guid="-Yvy3AKQTjSqBPNxsWkizkQ" changeDate="2012-02-15T14:13:34.795-0800" version="7.2.0">
<additionalInfo>&lt;h3>&#xD;
Additional Resources&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
For more information on the iterative development approach, see the following:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
&lt;li>&#xD;
Kruchten, P. &lt;em>From Waterfall to Iterative Development - A Challenging Transition for Project Managers&lt;/em>. The&#xD;
Rational Edge, 2000.&#xD;
&lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;blockquote style=&quot;MARGIN-RIGHT: 0px&quot; dir=&quot;ltr&quot;>&#xD;
&lt;p>&#xD;
Retrieved from &lt;a&#xD;
href=&quot;http://www-128.ibm.com/developerworks/rational/library/content/RationalEdge/dec00/FromWaterfalltoIterativeDevelopmentDec00.pdf&quot;>http://www-128.ibm.com/developerworks/rational/library/content/RationalEdge/dec00/FromWaterfalltoIterativeDevelopmentDec00.pdf&lt;/a>.&amp;nbsp;&amp;nbsp;(&lt;a&#xD;
href=&quot;http://get.adobe.com/reader/&quot;>Get Adobe Reader&lt;/a>)&#xD;
&lt;/p>&#xD;
&lt;/blockquote>&#xD;
&lt;ul>&#xD;
&lt;li>&#xD;
Royce, W. &lt;em>Software Project Management: A Unified Framework&lt;/em>. Addison Wesley. 1999.&lt;br />&#xD;
&lt;/li>&#xD;
&lt;/ul></additionalInfo>
<problem>&lt;h3>&#xD;
Why adopt this practice?&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
Today's software applications are too complex to allow you to sequentially define the requirements, come up with an&#xD;
architecture and design, do an implementation, carry out testing, and get it all right. Whether you use waterfall or&#xD;
iterative development approaches, your initial requirements, architecture, design, and code will be suboptimal. With&#xD;
waterfall development, you typically do not get meaningful feedback on what improvements can be made until it is so&#xD;
late in the project that it is too costly to make them. By contrast, dividing the project into a series of time-boxed&#xD;
iterations allows you to deliver capabilities that can be assessed by stakeholders at the end of each iteration. This&#xD;
approach provides rapid and timely feedback loops enabling issues to be addressed and improvements made at a lower cost&#xD;
while budget and time still allow, and before the project has gone so far ahead that major rework is required.&#xD;
&lt;/p></problem>
<application>&lt;p>&#xD;
The best way to read this practice is to first familiarize yourself with its overall structure: what it is in it, and&#xD;
how it is organized.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Begin by making sure that the teams, including stakeholders, understand what the key concepts are, such as:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
&lt;li>&#xD;
&lt;a class=&quot;elementLink&quot; href=&quot;./../../../core.mgmt.common.extend_supp/guidances/concepts/iteration_C20B1904.html&quot;&#xD;
guid=&quot;_lam4ADkBEduxovfWMDsntw&quot;>Iteration&lt;/a>&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
&lt;a class=&quot;elementLink&quot;&#xD;
href=&quot;./../../../practice.mgmt.iterative_dev.base/guidances/concepts/iteration_lifecycle_B16552E2.html&quot;&#xD;
guid=&quot;_DI_tICNaEdyCq8v2ZO4QcA&quot;>Iteration Lifecycle&lt;/a>&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
&lt;a class=&quot;elementLink&quot;&#xD;
href=&quot;./../../../practice.mgmt.iterative_dev.base/guidances/concepts/micro_increments_C8773066.html&quot;&#xD;
guid=&quot;_S80VwCNbEdyCq8v2ZO4QcA&quot;>Micro-Increments&lt;/a>&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
&lt;a class=&quot;elementLink&quot;&#xD;
href=&quot;./../../../practice.mgmt.iterative_dev.base/guidances/concepts/retrospective_B003F386.html&quot;&#xD;
guid=&quot;_2PfbIA4QEdy2q5zsU8WDnA&quot;>Retrospective&lt;/a>&#xD;
&lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
Next, understand how the various participants in a project collaborate on an iterative development approach.&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
&lt;li>&#xD;
The &lt;b>project manager&lt;/b> facilitates the planning of the project iterations, coordinates interactions with the&#xD;
stakeholders, and keeps the project team focused on meeting the project objectives.&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
&lt;b>Stakeholders&lt;/b> help the project manager and the team on requirements prioritization in order to minimize&#xD;
project risks and maximize business value throughout the iterations. Their constant feedback also directs and&#xD;
improves the quality of the project outcome.&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
The &lt;b>team&lt;/b> commits to completing the work within each iteration.&#xD;
&lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
Understand how these groups collaborate when they perform the following tasks:&#xD;
&lt;/p>&#xD;
&lt;ol>&#xD;
&lt;li>&#xD;
&lt;a class=&quot;elementLink&quot; href=&quot;./../../../practice.mgmt.iterative_dev.base/tasks/plan_iteration_957C90DC.html&quot;&#xD;
guid=&quot;_0keUEMlgEdmt3adZL5Dmdw&quot;>Plan Iteration&lt;/a>&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
&lt;a class=&quot;elementLink&quot; href=&quot;./../../../practice.mgmt.iterative_dev.base/tasks/manage_iteration_E4D93A64.html&quot;&#xD;
guid=&quot;_8S2aICbYEdqh1LYUOGRh2A&quot;>Manage Iteration&lt;/a>&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
&lt;a class=&quot;elementLink&quot; href=&quot;./../../../practice.mgmt.iterative_dev.base/tasks/assess_results_EC34D88D.html&quot;&#xD;
guid=&quot;_0l53cMlgEdmt3adZL5Dmdw&quot;>Assess Results&lt;/a>&#xD;
&lt;/li>&#xD;
&lt;/ol>&#xD;
&lt;p>&#xD;
Also, understand what work products are used as inputs to and outputs from these tasks, such as work items list, risk&#xD;
list and &lt;a class=&quot;elementLink&quot;&#xD;
href=&quot;./../../../practice.mgmt.iterative_dev.base/workproducts/iteration_plan_B46FED39.html&quot;&#xD;
guid=&quot;_0aQBEslgEdmt3adZL5Dmdw&quot;>Iteration Plan&lt;/a>.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Last, understand the various guidelines that explain how to plan, run, and assess iterations.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
For details on how to adopt this practice, see &lt;a class=&quot;elementLink&quot;&#xD;
href=&quot;./../../../practice.mgmt.iterative_dev.base/guidances/roadmaps/how_to_adopt_85BF1B9B.html&quot;&#xD;
guid=&quot;_bpWt8OMPEdyM47cGD2jiaQ&quot;>How to Adopt the Iterative Development Practice&lt;/a>.&#xD;
&lt;/p></application>
</org.eclipse.epf.uma:PracticeDescription>