<?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="-vysTxqikgsqd3pYIkSofjg"
    name="new_concept,_S80VwCNbEdyCq8v2ZO4QcA" guid="-vysTxqikgsqd3pYIkSofjg" changeDate="2007-07-31T11:25:39.613-0700">
  <mainDescription>&lt;p>&#xD;
    Personal contribution on an OpenUP project is organized in &lt;strong>micro-increments&lt;/strong>. A micro-increment&#xD;
    represents the outcome of a few hours to a few days of work for one, or typically a few people collaborating to reach&#xD;
    the goals of the iteration. The concept of a micro-increment helps the individual team member to partition their work&#xD;
    into small units that each delivers something of measurable value to the team. Micro-increments provide an extremely&#xD;
    short feedback loop that drives adaptive decisions within each iteration.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    A micro-increment should be well defined, and you should be able to track daily progress of each micro-increment.&#xD;
    Micro-increments are specified and tracked by a work item. Change sets represent the physical outcome in terms of the&#xD;
    files are modified as a part of completing the work item. Let’s have a look at some sample micro-increments:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        &lt;em>Identify Stakeholders.&lt;/em> Defining the Vision is a task that can drag on for weeks, so to ensure that you&#xD;
        make and track daily progress, divide the task into small and well-defined micro-increments. Describing and getting&#xD;
        buy-in on what Stakeholders to put into a Vision document is a meaningful result, and may take a few hours, or at&#xD;
        most a few days, and thus represents a suitable micro-increment.&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        &lt;em>Develop Solution Increment.&lt;/em> Defining, designing, implementing, and testing a use case or even a scenario&#xD;
        can take weeks or longer. To ensure continuous progress, we seek to divide the work into smaller increments, each&#xD;
        of which can be done in a couple of days. A more suitable micro-increment may be to only define, design, implement,&#xD;
        and test a subflow of a use-case or step within a scenario.&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        &lt;em>Agree on Technical Approach for Persistency.&lt;/em> Agreeing on your technical solution may take quite some time,&#xD;
        so we need to narrow the task to something that can be defined and agreed to in a short time. One way to partition&#xD;
        the work is according to the issues you need to resolve, such as persistency or reporting. This micro-increment&#xD;
        will probably involve defining requirements, surveying available assets, prototyping, and documentating the&#xD;
        decisions.&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        &lt;em>Plan Iteration.&lt;/em> This micro-increment could include setting up a meeting for creating the iteration plan,&#xD;
        doing some preparation for the meeting, such as reviewing candidate work items, coaching the team through the&#xD;
        iteration planning meeting, and posting the iteration plan for easy access. The end result is something complete&#xD;
        and measurable, a posted plan that has buy-in from the team.&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
    Your application evolves in micro-increments through simultaneous execution of a number of work items. By openly&#xD;
    sharing progress on your micro-increments through daily team meetings and team collaboration tools, you achieve the&#xD;
    transparency and insight into each other’s work required for effective teamwork. At the same time, you demonstrate&#xD;
    continuous progress by evolving your application one micro-increment at the time.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    OpenUP provides a set of activities. Each activity is captured as a set of tasks, steps within tasks, and guidance.&#xD;
    Even thought micro-increments are not an explicit construct in the process, you will find descriptions of how to carry&#xD;
    out a set of related micro-increments that are commonly found in projects within the activity. OpenUP does not provide&#xD;
    a complete description of potential micro-increments, and each organization should consider adding their own ‘recipes’&#xD;
    for commonly occurring micro-increments.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    OpenUP provides a powerful learning tool and makes it easier to find relevant guidance by outlining when you are most&#xD;
    likely to carry out various tasks. This is done through a visualization of the delivery process which provides a&#xD;
    time-based organization of the tasks within the context of a &lt;a class=&quot;elementLink&quot;&#xD;
    href=&quot;./../../../openup/guidances/concepts/project_lifecycle_203F87.html&quot; guid=&quot;_nSfVwCNYEdyCq8v2ZO4QcA&quot;>Project&#xD;
    Lifecycle&lt;/a>. As an example, you are more likely to agree on a technical approach early in the project. This doesn’t&#xD;
    mean you wouldn’t make technical decisions late in the project. A process is like a map, use it to understand the big&#xD;
    picture and as a reference, but when reality and map don’t match, trust reality.&#xD;
&lt;/p></mainDescription>
</org.eclipse.epf.uma:ContentDescription>
