<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C/DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<!-- VERSION rmc:7.1.0 -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<!-- START NON-TRANSLATABLE -->
<title>\openup_basic\guidances\guidelines\iteration_planning.xmi</title>
</head>
<!-- WARNING: do not modify the generated comments in this file below this line.  They are used as markers for the import process. -->
<body>
Element Name: iteration_planning.xmi<br/><br/>
<!-- END NON-TRANSLATABLE -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: presentationName<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:presentationName,_0auiMMlgEdmt3adZL5Dmdw CRC: 3350302035 -->Iteration Planning<!-- END:presentationName,_0auiMMlgEdmt3adZL5Dmdw -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: briefDescription<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:briefDescription,_0auiMMlgEdmt3adZL5Dmdw CRC: 4112489180 -->The goal with iteration planning is to establish a few high-level objectives for what to accomplish during the iteration and produce a sufficiently detailed plan outlining who needs to do what.<!-- END:briefDescription,_0auiMMlgEdmt3adZL5Dmdw -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: mainDescription<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:mainDescription,_71hDkMPgEdmbOvqy4O0adg CRC: 1440019586 --><h3>
    Introduction
</h3>
<p>
    The goal with iteration planning is to establish a few high-level objectives for what to accomplish during the
    iteration, produce a sufficiently detailed plan outlining who needs to do what to accomplish those objectives, and
    define how to assess that you accomplished what you set out to accomplish.
</p>
<p>
    Iteration planning is ideally done with the entire team in a meeting, typically lasting a few hours, at the beginning
    of an iteration. This ensures that the entire team understands what needs to be done, and they become committed to the
    success of the team. In some cases, it is preferred to have a smaller subset of people, such as the Project Manager, an
    Architect and an Analyst to meet in advance to prep the meeting with a draft iteration plan.
</p>
<h3>
    Define High-Level Objectives
</h3>
<p>
    A key aspect of an iteration is to focus the team on a short term deliverable of measurable value. Document 1-5
    high-level objectives to make sure that you don't lose focus on what to accomplish during the iteration. Typically, the
    project plan should outline one or several objectives for each iteration, and those objectives are used as a starting
    point. If you need to further detail or clarify the objectives as you plan your iteration, do so.
</p>
<p>
    The objectives are usually based on the following factors:
</p>
<ul>
    <li>
        <strong>Critical risks not yet mitigated:</strong> Iteration goals often include driving down the most critical
        risks.
    </li>
    <li>
        <strong>The time allocated to the iteration:</strong> Iterations are usually timeboxed, so the Project Manager must
        ensure that the goals for the iteration are realistic relative to the time and the resources allocated to the
        iteration.
    </li>
    <li>
        <strong>The highest priority features:</strong> requirements are prioritized to ensure that the critical features
        of the application will be developed and tested early on.
    </li>
</ul>
<h3>
    Produce an Iteration Plan
</h3>
<p>
    There is an Iteration Plan per iteration that should outline who will implement which Work Item in how long a time.
    Since iterations are time-boxed, we need to understand how big our ‘box” is by assessing how many hours of actual work
    can be taken on. Let’s assume that you have 6 team members, and you have 15 working days in your iteration, and you on
    average can do 5 actual hours of work per person and day. This will give you 6x15x5h = 450 hours of actual work. Note
    that the average team member only performs 4-6 hours of actual project work per day, with the rest being consumed by
    e-mails, meetings, and other overhead activities not directly related to the project.
</p>
<p>
    The team should then revisit and update priorities for all the high-priority items in the Work Items List, to make sure
    that an important Work Item is not missed that would otherwise fall just below the list of what can be taken on in this
    iteration.
</p>
<p>
    Pick the top-priority Work Item and see if it matches the objectives of the iteration. If it does, assess whether the
    Work Item is too big to take on within an iteration. If it is too big, break it down into smaller Work Items. Once the
    Work Item has been decomposed, the team determines whether to take on one or several child Work Items.
</p>
<p>
    <em>Example: The team would like to take on Work Item “Develop Use Case A”, but it would take roughly 300 hours to
    develop, so they feel that it is only necessary to do a subset of the use case to achieve their iteration objectives,
    allowing them to take on other high-priority Work Items. They divide the Work Item into 5 smaller work items
    representing different scenarios of use case A. The team decides to take on one out of the 5 identified scenarios in
    this iteration.</em>
</p>
<p>
    When a team has decided to take on a Work Item, it will assign the work to one or several team members. Ideally, this
    is done by team members signing up to do the work, since this makes people motivated and committed to doing the job,
    but based on culture, you may instead have the project manager assign the work.
</p>
<p>
    The next step is for team member(s) to assess how many actual hours or days it will take to do the work. Ideally, you
    want to have each work assignment to be no more than 2 days of work. If the Work Item is too big, consider breaking it
    down into smaller Work Items.
</p>
<p>
    The team sums up the actual estimate for each Work Item they have committed to, and checks if they can commit to any
    more work.
</p>
<p>
    <em>Example: Jack signed up to develop the chosen scenario for use case A. He thinks that it would take 50 hours, so he
    decided to develop the work into a set of tasks, and he asks other team members to help out with various subtasks:</em>
</p>
<ul>
    <li>
        <em>Detail the requirements (Jack) —5 hours</em>
    </li>
    <li>
        <em>Design the scenario (Jack, Ann, and David) —5 hours</em>
    </li>
    <li>
        <em>Implement and test the dB changes (Ann)—12 hours</em>
    </li>
    <li>
        <em>Implement and test the server portion (David)—16 hours</em>
    </li>
    <li>
        <em>Implement and test the client portion (Jack)—12 hours</em>
    </li>
    <li>
        <em>Total—50 hours</em>
    </li>
</ul>
<p>
    As Work Items are decomposed into smaller tasks, estimates can typically be improved. You also better come to
    understand what is involved, and whether other team member may be better suited to take on a subset of the task
</p>
<p>
    The team now determines whether they are willing to take on another Work Item by comparing actual hours signed up for
    to the actual hours available. In this case, the team has only signed up for 50 hours so far, and hence have another
    400 hours available
</p>
<h3>
    Define Evaluation Criteria
</h3>
<p>
    It is critical that it is clear to all team members and other stakeholders how you will measure success at the end of
    the iteration. Obvious success criteria should be that you can test the functionality implemented, and that no or few
    defects are detected. Having too many defects makes it impossible to use the functionality, and it will prevent
    meaningful feedback. Test objectives and test cases need to be clearly outlined.
</p>
<p>
    There may be other success criteria, such as that you demo the capabilities to a certain set of stakeholders with
    favorable review comments, or that you can successfully demonstrate or make available a tech preview at a conference.
</p><!-- END:mainDescription,_71hDkMPgEdmbOvqy4O0adg -->
</body>
</html>
