<?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.5/uma.ecore"
    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.5.0" xmi:id="-b0rH1AkPSmj1YKyweFWSuQ"
    name="new_guideline,_oVMZADSoEdy07ZJqOGUGaQ" guid="-b0rH1AkPSmj1YKyweFWSuQ" changeDate="2007-07-19T11:38:29.015-0700">
  <mainDescription>&lt;h3>&#xD;
    What Is Prioritized?&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
    Work items are used to prioritize among others:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        enhancement requests and requirements at a level of abstraction appropriate for stakeholders prioritization, such&#xD;
        as use cases and scenarios,&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        project tasks, such as setting up required infrastructure,&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        defects,&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
    or any other work that needs to be prioritized. The &lt;a class=&quot;elementLink&quot;&#xD;
    href=&quot;./../../../openup/workproducts/work_items_list.html&quot; guid=&quot;_rGNWsCbSEdqh1LYUOGRh2A&quot;>Work Items List&lt;/a> hence&#xD;
    provides us with one place for prioritizing work. Prioritizing too small units of work may lead to analysis-paralysis.&#xD;
&lt;/p>&#xD;
&lt;h3>&#xD;
    Who Prioritizes?&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
    Prioritization is done by the extended team. Here are some examples on how different team members contribute to the&#xD;
    prioritization:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        &lt;a class=&quot;elementLink&quot; href=&quot;./../../../openup/roles/analyst.html&quot; guid=&quot;_0VxJsMlgEdmt3adZL5Dmdw&quot;>Analyst&lt;/a>s&#xD;
        collaborate with stakeholders to establish the initial priorities for work items to implement, such as features,&#xD;
        use cases and scenarios.&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        &lt;a class=&quot;elementLink&quot; href=&quot;./../../../openup/roles/architect.html&quot; guid=&quot;_0X9iEMlgEdmt3adZL5Dmdw&quot;>Architect&lt;/a>s&#xD;
        collaborate with stakeholders and development team to identify the architecturally significant use cases and&#xD;
        scenarios, and re-prioritizes these so the team understands what needs to be done to drive down technical risk and&#xD;
        to progress the evolution of the product in a technically sensible fashion.&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        &lt;a class=&quot;elementLink&quot; href=&quot;./../../../openup/roles/developer.html&quot; guid=&quot;_0YDosMlgEdmt3adZL5Dmdw&quot;>Developer&lt;/a>s&#xD;
        and &lt;a class=&quot;elementLink&quot; href=&quot;./../../../openup/roles/tester.html&quot; guid=&quot;_0ZM4MclgEdmt3adZL5Dmdw&quot;>Tester&lt;/a>s&#xD;
        calls out (not decides) the priorities of defects relative to achieving iteration objectives.&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        &lt;a class=&quot;elementLink&quot; href=&quot;./../../../openup/roles/project_manager.html&quot; guid=&quot;_0a0o0MlgEdmt3adZL5Dmdw&quot;>Project&#xD;
        Manager&lt;/a>s facilitates (not decide) driving convergence on what the team should focus on when planning a project,&#xD;
        planning an iteration, and managing an iteration to ensure smooth execution, and that the perspectives of all team&#xD;
        members are properly heard. When the team cannot gain consensus in a reasonable time, the project manager has final&#xD;
        say on the priority of work items to small to warrant the attention of the paying stakeholder(s).&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        &lt;a class=&quot;elementLink&quot; href=&quot;./../../../openup/roles/stakeholder.html&quot;&#xD;
        guid=&quot;_dTa6gMAYEdqX-s4mWhkyqQ&quot;>Stakeholder&lt;/a>s that pay for the application has the final say on what capabilities&#xD;
        to prioritize.&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;h3>&#xD;
    When Do You Prioritize?&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
    When you put in a new work item in a &lt;a class=&quot;elementLink&quot; href=&quot;./../../../openup/workproducts/work_items_list.html&quot;&#xD;
    guid=&quot;_rGNWsCbSEdqh1LYUOGRh2A&quot;>Work Items List&lt;/a>, you should give it an initial priority. Priorities are always&#xD;
    changing, and below we describe what (re-)prioritization is done when Planning a Project, Planning an Iteration, and&#xD;
    Managing an Iteration.&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
    Prioritizing When Planning a Project&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
    When planning the project, see &lt;a class=&quot;elementLink&quot; href=&quot;./../../../openup/tasks/plan_the_project.html&quot;&#xD;
    guid=&quot;_0lC70MlgEdmt3adZL5Dmdw&quot;>Plan Project&lt;/a>, key features, use cases, and scenarios are prioritized and potentially&#xD;
    assigned to iterations as a part of laying out the project plan and what should be done when. These prioritizes will be&#xD;
    revised later on as iterations are planned.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    When starting a project where we enhance an existing application, we may have an existing work items list from past&#xD;
    projects and usage of the application. If this is the case, we go through the work items list to survey and&#xD;
    re-prioritize existing work items, so we understand which to focus on.&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
    Prioritizing When Planning an Iteration&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
    When planning what to deliver for an iteration, see &lt;a class=&quot;elementLink&quot;&#xD;
    href=&quot;./../../../openup/tasks/plan_iteration.html&quot; guid=&quot;_0keUEMlgEdmt3adZL5Dmdw&quot;>Plan Iteration&lt;/a>, the team needs to&#xD;
    balance what delivers immediate value to the stakeholders with mitigating risk, see &lt;a class=&quot;elementLink&quot;&#xD;
    href=&quot;./../../../openup/guidances/concepts/project_lifecycle.html&quot; guid=&quot;_nSfVwCNYEdyCq8v2ZO4QcA&quot;>Project&#xD;
    Lifecycle&lt;/a>. The chosen balance should be reflected in the iteration objectives, which are then driving further&#xD;
    prioritization and assignments of work items to the next iteration. This exercise should be done by the entire team to&#xD;
    reflect all key perspectives, such as technical (“doing A before B saves you time”), managerial (“we do not have&#xD;
    anybody that knows that legacy application until next iteration”, or business (“this scenario is more important than&#xD;
    that scenario”).&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
    Prioritizing When Managing an Iteration&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
    We recommend against expanding or changing the scope of an iteration, see &lt;a class=&quot;elementLink&quot;&#xD;
    href=&quot;./../../../openup/tasks/manage_iteration.html&quot; guid=&quot;_8S2aICbYEdqh1LYUOGRh2A&quot;>Manage Iteration&lt;/a>, since this&#xD;
    will almost certainly lead to scope creep, and potentially confusion among the team what to work on. This means that as&#xD;
    you can up with new enhancement requests, you should capture them to a work item, but not assign them to the current&#xD;
    iteration.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    During an iteration, you are developing and testing code. As you develop solution increments, you will find defects. In&#xD;
    most cases, you will directly fix the defect since it is trivial, best done by you, and should be fixed now. Examples&#xD;
    of such defects are the many problems you find as you implement your code using a test-driven development approach. In&#xD;
    other cases, the defect should captured as a work item. This allows it to be prioritized, potentially developed by&#xD;
    somebody else and at a different time. If a defect needs to be addressed to provide an iteration build of reasonable&#xD;
    quality that addresses the iteration objectives, it should be addressed to the current iteration. Note that this is not&#xD;
    a creep or change of scope, since it merely indicates that we need to fix something to deliver what we already&#xD;
    committed to.&#xD;
&lt;/p>&#xD;
&lt;h3>&#xD;
    How Do You Prioritize&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
    Prioritizing is the difficult balancing of frequently competing priorities. For more information on the art of&#xD;
    prioritizing, see for example [&lt;a class=&quot;elementLinkWithUserText&quot;&#xD;
    href=&quot;./../../../openup/guidances/supportingmaterials/references.html#COH05&quot; guid=&quot;_9ToeIB83Edqsvps02rpOOg&quot;>COH05&lt;/a>].&#xD;
&lt;/p></mainDescription>
</org.eclipse.epf.uma:ContentDescription>
