<?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="-At_b3UIzbgdmtJsb2Ymfhg"
    name="new_roadmap,_vEruwN-rEdqiM_wFaqLjNg" guid="-At_b3UIzbgdmtJsb2Ymfhg" changeDate="2007-07-02T14:00:05.357-0700"
    version="1.0.0">
  <mainDescription>&lt;h3> Overview of OpenUP&lt;/h3>&#xD;
&lt;p> OpenUP is for small teams who work together in the same location. The team &#xD;
  needs to engage in plenty of daily face-to-face interaction. Team members include &#xD;
  the stakeholders, developers, architects, project manager, and testers. They &#xD;
  make their own decisions about what they need to work on, what the priorities &#xD;
  are, and how best to address stakeholder needs. The organization must support &#xD;
  the team by allowing them these responsibilities. &lt;/p>&#xD;
&lt;p> Team members collaborate extensively. The presence of stakeholders as team &#xD;
  members is critical to successfully implementing OpenUP. &lt;/p>&#xD;
&lt;p>&#xD;
&#xD;
    Team members participate in daily stand-up meetings to communicate status and issues. Problems are addressed outside of&#xD;
    the daily meetings.&#xD;
&lt;/p>&#xD;
&lt;p> OpenUP focuses on significantly&amp;nbsp;reducing risk early in the lifecycle. &#xD;
  This requires regular risk review meetings and rigorous implementation of mitigation &#xD;
  strategies. &lt;/p>&#xD;
&lt;p> All work is listed, tracked, and assigned through the Work Items List. Team &#xD;
  members use this single repository for all tasks that need to be recorded and &#xD;
  tracked. This includes all change requests, bugs, and stakeholder requests. &#xD;
&lt;/p>&#xD;
&lt;p> Use cases are used to elicit and describe requirements; therefore, team members &#xD;
  need to develop skills in writing good use cases. Stakeholders are responsible &#xD;
  for reviewing and certifying that the requirements are correct. Use cases are &#xD;
  developed collaboratively. &lt;/p>&#xD;
&lt;p> Architecturally significant requirements must be identified and stabilized &#xD;
  in the Elaboration phase so that a robust architecture can be created as the &#xD;
  core of the system. An architecturally significant requirement change that must &#xD;
  be addressed may arise later in development, but the risk of this happening &#xD;
  is significantly reduced in the Elaboration iteration. &lt;/p>&#xD;
&lt;p> Testing is performed multiple times per iteration, every time the solution &#xD;
  is incremented with the development of a requirement, change, or bug fix. These &#xD;
  tests happen after developers have developed the solution (which should have &#xD;
  been unit-tested) and integrate it into the code base. These tests help guarantee &#xD;
  that a stable build is created and always available as development progresses. &#xD;
&lt;/p>&#xD;
&lt;p> OpenUP does not include content for deployment, configuration management, &#xD;
  or the development environment (such as customizing this process or setting &#xD;
  up development environments). OpenUP focuses on a singe team, and these areas &#xD;
  are generally addressed at an organizational or enterprise level. Look for extensions &#xD;
  to OpenUP that address these wider areas. &lt;/p>&#xD;
&lt;p>&#xD;
    OpenUP is an iterative software development process that is minimal, complete, and extensible. It is governed by four&#xD;
    &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../openup/customcategories/core_principles_category_8075133D.html&quot; guid=&quot;_UCOtoMXwEduywMSzPTUUwA&quot;>core principles&lt;/a>:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
  &lt;li> &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../openup/guidances/concepts/core_principle_collaborate_EC5EB51F.html&quot; guid=&quot;_KkTIsMp7EdqC_NfSivunjA&quot;>Collaborate &#xD;
    to align interests and share understanding&lt;/a> &lt;/li>&#xD;
  &lt;li> &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../openup/guidances/concepts/core_principle_balance_793DD27.html&quot; guid=&quot;_ssG6MMvpEdqukPpotm3DYg&quot;>Balance &#xD;
    competing priorities to maximize stakeholder value&lt;/a> &lt;/li>&#xD;
  &lt;li> &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../openup/guidances/concepts/core_principle_focus_346C6FAF.html&quot; guid=&quot;_9gocwMvoEdqukPpotm3DYg&quot;>Focus &#xD;
    on the architecture early to minimize risks and organize development&lt;/a> &lt;/li>&#xD;
  &lt;li> &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../openup/guidances/concepts/core_principle_evolve_BFD9AEB4.html&quot; guid=&quot;_GXiogMvoEdqukPpotm3DYg&quot;>Evolve &#xD;
    to continuously obtain feedback and improve&lt;/a> &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>People in &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../base_concepts/guidances/termdefinitions/role_37A0C602.html&quot; guid=&quot;_yUefQNnmEdmO6L4XMImrsA&quot;>Roles&lt;/a>&amp;nbsp;perform &#xD;
  &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../base_concepts/guidances/termdefinitions/task_6C1FF051.html&quot; guid=&quot;_x459ktnmEdmO6L4XMImrsA&quot;>tasks&lt;/a> &#xD;
  that use and produce &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../base_concepts/guidances/termdefinitions/artifact_F635D25.html&quot; guid=&quot;_x7cUM9nmEdmO6L4XMImrsA&quot;>artifacts&lt;/a>. &#xD;
  OpenUP describes the minimal set of&amp;nbsp;Roles, Tasks, and Artifacts&amp;nbsp;involved &#xD;
  in software development: &lt;/p>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../openup/rolesets/openup_roles_5CDDEEDA.html&quot; guid=&quot;_TZIJ0O8NEdmKSqa_gSYthg&quot;>Roles&lt;/a>&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../openup/disciplinegroupings/openup_disciplines_AF6D7A8E.html&quot; guid=&quot;__BZycP1UEdmek8CQTQgrOQ&quot;>Tasks&lt;/a> (organized by disciplines)&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../openup/domains/openup_wp_E9648102.html&quot; guid=&quot;_s4Z9AMWXEdqWePvIjHInwg&quot;>Artifacts&lt;/a> (organized by domains)&amp;nbsp;&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;h4> The OpenUP software development&amp;nbsp;lifecycle &lt;/h4>&#xD;
&lt;p> OpenUP is an iterative process&amp;nbsp;distributed throughout&amp;nbsp;four &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../base_concepts/guidances/concepts/phase_85B003C3.html&quot; guid=&quot;__7xOEC7aEdqHMdmRzC0-2g&quot;>phases&lt;/a>: &#xD;
  Inception, Elaboration, Construction, and Transition. Each phase consists of &#xD;
  one or more iterations where stable, working versions of the software are developed &#xD;
  and released, with the completion of each iteration representing a minor &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../openup/guidances/concepts/phase_milestones_5678231E.html&quot; guid=&quot;_HNxbwMBJEdqSgKaj2SZBmg&quot;>milestone&lt;/a>&amp;nbsp;for &#xD;
  the project and contributing to the successful achievement of the phase's major &#xD;
  milestone, where phase objectives are met. &lt;/p>&#xD;
&lt;p>&#xD;
    The following diagram depicts the OpenUP &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../openup/deliveryprocesses/openup_lifecycle_2CB8A7DA.html&quot; guid=&quot;_0uyGoMlgEdmt3adZL5Dmdw&quot;>lifecycle&lt;/a>.&#xD;
&lt;/p>&#xD;
&lt;p align=&quot;center&quot;> &lt;img height=&quot;192&quot; alt=&quot;Figure 1: Diagram of the OpenUP Lifecycle&quot; src=&quot;./resources/openup_lifecycle.jpg&quot; width=&quot;667&quot;     usemap=&quot;#map&quot; border=&quot;0&quot; /> &#xD;
&lt;/p>&#xD;
&lt;p align=&quot;center&quot;>&amp;nbsp; &lt;/p>&#xD;
	&lt;h4>&#xD;
        How&amp;nbsp;to get started?&#xD;
    &lt;/h4>&#xD;
  &lt;p>&#xD;
        The fourth OpenUP core principle, &quot;Evolve to continuously obtain feedback and improve&quot;, suggests an iterative and&#xD;
        incremental approach to adopting OpenUP.&#xD;
    &lt;/p> &lt;ul> &lt;li>&#xD;
            Start with the core principles and understand the intentions behind OpenUP.&#xD;
        &lt;/li> &lt;li>&#xD;
            Then assess your existing process, and select one or two key areas that you would like to improve.&#xD;
        &lt;/li> &lt;li>&#xD;
            Begin using OpenUP to improve these areas first.&#xD;
        &lt;/li> &lt;li>&#xD;
            In later iterations or development cycles, make incremental improvements in other areas.&#xD;
        &lt;/li> &lt;li>&#xD;
            If you have little or no experience with unified processes or other iterative processes, use OpenUP in a small&#xD;
            pilot project, perhaps with only three to four people working for only two to three months.&#xD;
        &lt;/li> &lt;/ul> &lt;p>&#xD;
        While OpenUP is a ready to use as-is, you may choose to extend the process or modify the work product templates to&#xD;
        suit your specific needs. For example:&#xD;
    &lt;/p> &lt;ul> &lt;li>&#xD;
            You may require more or less precision in your work products.&#xD;
        &lt;/li> &lt;li>&#xD;
            Your organization may have specific configuration management practices or safety protocols to include in your&#xD;
            process.&#xD;
        &lt;/li> &lt;li>&#xD;
            You may simply want to put your own corporate logo on the banner.&#xD;
        &lt;/li> &lt;li>&#xD;
            You may want to incorporate lessons learned from a retrospective review into OpenUP.&#xD;
        &lt;/li> &lt;/ul> &lt;p>&#xD;
        Use EPF Composer to extend and tailor OpenUP. For more information about EPF composer, visit &lt;a href=&quot;http://www.eclipse.org/epf&quot; target=&quot;_blank&quot;>www.eclipse.org/epf&lt;/a>.&#xD;
    &lt;/p> &#xD;
&lt;map id=&quot;Map&quot; name=&quot;Map&quot;>&#xD;
  &lt;area shape=&quot;rect&quot; alt=&quot;link to inception phase concept&quot; coords=&quot;116,7,175,25&quot; href=&quot;./../../../openup/guidances/concepts/inception_phase_C4456871.html&quot; guid=&quot;_0hmKgBOMEduCNqgZdt_OaA&quot;>&lt;/area>&lt;/area>&#xD;
    &lt;area shape=&quot;rect&quot; alt=&quot;link to elaboration phase concept&quot; coords=&quot;255,11,327,27&quot; href=&quot;./../../../openup/guidances/concepts/elaboration_phase_BE880435.html&quot; guid=&quot;_2plxwBOMEduCNqgZdt_OaA&quot;>&lt;/area>&lt;/area>&#xD;
    &lt;area shape=&quot;rect&quot; alt=&quot;link to construction phase concept&quot; coords=&quot;395,11,476,27&quot; href=&quot;./../../../openup/guidances/concepts/construction_phase_873B6559.html&quot; guid=&quot;_48EKsBOMEduCNqgZdt_OaA&quot;>&lt;/area>&lt;/area>&#xD;
    &lt;area shape=&quot;rect&quot; alt=&quot;link to transition phase concept&quot; coords=&quot;554,10,619,27&quot; href=&quot;./../../../openup/guidances/concepts/transition_phase_DD5986E5.html&quot; guid=&quot;__ca5UBOMEduCNqgZdt_OaA&quot;>&lt;/area>&lt;/area>&#xD;
    &lt;area shape=&quot;rect&quot; alt=&quot;link to inception phase iteration delivery process&quot; coords=&quot;39,98,100,162&quot; href=&quot;./../../../openup/capabilitypatterns/inception_phase_iteration_C2188B46.html&quot; guid=&quot;_0o3r4slgEdmt3adZL5Dmdw&quot;>&lt;/area>&lt;/area>&#xD;
    &#xD;
  &lt;area shape=&quot;rect&quot; alt=&quot;link to inception phase iteration delivery process&quot; coords=&quot;188,100,250,169&quot; href=&quot;./../../../openup/capabilitypatterns/elaboration_phase_iteration_97E7400D.html&quot; guid=&quot;_0sTaYMlgEdmt3adZL5Dmdw&quot;>&#xD;
  &lt;/area>&lt;/area>&#xD;
    &lt;area shape=&quot;rect&quot; alt=&quot;link to construction phase iteration delivery process&quot; coords=&quot;332,100,397,165&quot; href=&quot;./../../../openup/capabilitypatterns/construction_phase_iteration_FB82CA56.html&quot; guid=&quot;_y-3IrutQEdqc1LGhiSPqRg&quot;>&lt;/area>&lt;/area>&#xD;
    &lt;area shape=&quot;rect&quot; alt=&quot;link to transition phase iteration delivery process&quot; coords=&quot;480,98,541,167&quot; href=&quot;./../../../openup/capabilitypatterns/transition_phase_iteration_87676AD2.html&quot; guid=&quot;_0rQRgMlgEdmt3adZL5Dmdw&quot;>&lt;/area>&lt;/area>&#xD;
&lt;/map></mainDescription>
</org.eclipse.epf.uma:ContentDescription>
