<?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>
