<?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:rmc="http://www.ibm.com/rmc" rmc:version="7.5.0" xmlns:epf="http://www.eclipse.org/epf"
    epf:version="1.5.0" xmi:id="-b0rH1AkPSmj1YKyweFWSuQ"
    name="new_guideline,_oVMZADSoEdy07ZJqOGUGaQ" guid="-b0rH1AkPSmj1YKyweFWSuQ" changeDate="2008-07-11T13:04:38.186-0700"
    version="7.2.0">
  <mainDescription>&lt;h3>&#xD;
    What is prioritized?&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
    Prioritization should happen for work items, such as enhancement requests,&amp;nbsp;requirements, defects, project tasks, and so on.&#xD;
    The work items list provides one place for prioritizing work. Prioritizing units of work that are too small may lead to&#xD;
    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;
        Analysts&amp;nbsp;collaborate with stakeholders to establish the initial priorities for work items to implement, such&#xD;
        as features, use cases, and scenarios.&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Architects&amp;nbsp;collaborate with stakeholders and the development team to identify the architecturally significant use&#xD;
        cases and scenarios, and re-prioritize these so that the team understands what needs to be done to drive down technical&#xD;
        risk, and&amp;nbsp;to make progress&amp;nbsp;on&amp;nbsp;evolving the product in a technically sensible fashion.&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Developers&amp;nbsp;and&amp;nbsp;testers help define&amp;nbsp;(but do not decide) the priorities of defects relative to achieving&#xD;
        iteration objectives.&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Project managers facilitate (but do not decide), driving convergence on what the team should focus on when planning a&#xD;
        project, planning an iteration, and managing an iteration. They do this in order to ensure smooth execution, and that the&#xD;
        perspectives of all team members are properly heard. When the team cannot gain consensus in a reasonable time, the&#xD;
        project manager has final say on the priority of work items that are too small to warrant the attention of the&#xD;
        paying stakeholders.&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Stakeholders&amp;nbsp;that pay for the application have the final say on what capabilities 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&amp;nbsp;enter a new work item in&amp;nbsp;the Work Items List, give it an initial priority. Priorities are always&#xD;
    changing. The sections below describe what re-prioritization is done when you are planning a project,&#xD;
    planning an iteration,&amp;nbsp;or managing an iteration.&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
    Prioritizing when planning a project&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
    During project planning,&amp;nbsp;prioritize the key features, use cases, and scenarios. Also, potentially assign them&#xD;
    to&amp;nbsp;iterations as a part of laying out the project plan, by defining at a high level what should be done when.&#xD;
    These priorities will be revised later on as iterations are planned.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    When starting a project where an existing application will be enhanced,&amp;nbsp;a Work Items List may exist from past&#xD;
    projects and usage of the application. If this is the case,&amp;nbsp;go through the Work Items List to survey and&#xD;
    re-prioritize existing work items, so&amp;nbsp;that the team understands what 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,&amp;nbsp;the team needs to balance what delivers immediate value to the&#xD;
    stakeholders with what risks need to be mitigated.The chosen balance should be reflected in the iteration objectives,&#xD;
    which then drive further prioritization and assignments of work items to the next iteration. This exercise should be&#xD;
    done by the entire team to reflect all of the key perspectives, such as technical (&quot;doing task A before task B saves you&#xD;
    time&quot;), managerial (&quot;we do not have anybody that knows that legacy application until next iteration&quot;, or business&#xD;
    (&quot;this scenario is more important than that scenario&quot;).&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
    Prioritizing when managing an iteration&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
    The recommendation is not to&amp;nbsp;expand or change the scope of an iteration, because this will almost certainly lead to&#xD;
    scope creep, as well as potential confusion among the team on what to work on. As new features and enhancements are requested,&#xD;
    capture them in the Work Items List, but do not assign them to the current 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 trivial&amp;nbsp;defects as you find them during development. Examples of such defects&#xD;
    are the many problems you find as you implement your code (for example, using a test-driven development approach or&#xD;
    doing your regular unit tests). In other cases, the defect should be captured as a work item. This allows it to be&#xD;
    prioritized, and potentially developed by somebody else or at a different time. If a defect needs to be addressed to&#xD;
    provide an iteration build of reasonable quality&amp;nbsp;and that&amp;nbsp;aligns with the&amp;nbsp;iteration objectives,&amp;nbsp;the&#xD;
    defect&amp;nbsp;should be&amp;nbsp;fixed&amp;nbsp;during the current iteration. Note that this is not a creep or change of scope,&#xD;
    since it merely indicates that something needs to be fixed to deliver what&amp;nbsp;the team&amp;nbsp;already 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; href=&quot;./../../../core.tech.common.base/guidances/supportingmaterials/references.tech_6CCF393.html#COH05&quot; guid=&quot;_9ToeIB83Edqsvps02rpOOg&quot;>COH05&lt;/a>].&#xD;
&lt;/p></mainDescription>
</org.eclipse.epf.uma:ContentDescription>
