<?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="-AO488Z6M5HCAbxm1c-SjUA"
    name="new_supporting_material,_xKvXkMn8EdyuBO4ZIzcyig" guid="-AO488Z6M5HCAbxm1c-SjUA"
    changeDate="2008-06-06T15:35:19.835-0700" version="7.2.0">
  <mainDescription>&lt;h3>&#xD;
    Introduction&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
    A good way to understand OpenUP is to think of it as targeted to teams that have the following objectives:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        Apply the minimally necessary process that brings value.&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Avoid being overloaded with unproductive formal work products.&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Use a process that can be tailored and extended for additional needs that may arise during the software development&#xD;
        lifecycle.&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
    In order to be applied to as many project environments as possible, OpenUP is a process that has the following&#xD;
    characteristics:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        Minimal - only fundamental content is included&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Complete - it can be manifested as an entire process to build a system&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Extensible - it can be used as a foundation on which process content can be added or tailored as needed&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;h4>&#xD;
    Minimal&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
    OpenUP is considered an agile, lightweight process that promotes software development best practices such as:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        iterative development&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        team collaboration&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        continuous integration and tests&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        frequent deliveries of working software&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        adaptation to changes, and so on.&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
    Other factors also count when determining the size of process material, such as the number of method elements like&#xD;
    roles, tasks, artifacts and guidance.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    OpenUP provides descriptions of responsibilities, skills and competencies of the fundamental roles in a team. See the&#xD;
    list of &lt;a class=&quot;elementLink&quot; href=&quot;./../../../core.default.nav_view.base/customcategories/role_list_4C636D88.html&quot;&#xD;
    guid=&quot;_WCIHZMRdEdyD76CYS6Ta7A&quot;>Roles&lt;/a>&amp;nbsp;for more details.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    OpenUP provides the essential artifacts needed to capture and communicate decisions. Ultimately, the process is not&#xD;
    governed by artifact creation. For example, thinking about design is more important than documenting the design;&#xD;
    assessing and planning an iteration is about promoting team collaboration instead of creating plans that are written in&#xD;
    stone. In addition, for each artifact, OpenUP suggests informal representations or provides informal templates as&#xD;
    starting points for teams that do not need to create their own. The team decides what the most appropriate form to be&#xD;
    applied is. See the list of &lt;a class=&quot;elementLink&quot;&#xD;
    href=&quot;./../../../core.default.nav_view.base/customcategories/work_products_FB13601A.html&quot;&#xD;
    guid=&quot;__O1Y8MRgEdyD76CYS6Ta7A&quot;>Work Products&lt;/a>&amp;nbsp;organized by domains.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Tasks in OpenUP are clear and focused on results. Text is usually short and objective, describing how individuals&#xD;
    should collaborate to achieve objectives. Steps are short descriptions of what to achieve, and point to external&#xD;
    guidance on how to do it. See the list of&amp;nbsp;&lt;a class=&quot;elementLink&quot;&#xD;
    href=&quot;./../../../core.default.nav_view.base/customcategories/tasks_E310E5A5.html&quot;&#xD;
    guid=&quot;_CXQicMRhEdyD76CYS6Ta7A&quot;>Tasks&lt;/a>&amp;nbsp;organized by disciplines.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    OpenUP recommends the least amount of process guidance a team should use in order to be successful. Teams may have&#xD;
    different names or responsibilities for roles, may perform tasks in or have different representations for artifacts,&#xD;
    but they still want to follow the principles and practices described in OpenUP to increase the chances of project&#xD;
    success.&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
    Complete&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
    OpenUP is considered a complete process because it covers the essential disciplines in a software development lifecycle&#xD;
    by guiding the team in the following high level activities:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        Customer needs and requirements are elicited and captured, with continuous customer involvement.&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        A robust architecture for the system is evolved, addressing technical risks and promoting team organization.&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        For each requirement, a technical solution is designed, implemented and tested, which conforms to the architectural&#xD;
        decisions.&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        The system is evaluated by tests that validate customer requirements.&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Defects and enhancements feed back into development.&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Work is prioritized, iterations are planned and assessed, and team members take on work to be done.&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
    However, OpenUP assumes that the project team is not responsible for certain activities and decisions that are assigned&#xD;
    to other areas of the organization, such as:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        Creation of the business case is dealt with by management who decides whether or not the project is worth investing&#xD;
        in, what is the return on investment, and so on.&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Environment setup - some organizational issues may not be in the scope of the team, such as: installation,&#xD;
        configuration and licensing of development tools and configuration management tools; development process&#xD;
        customization and publishing, etc.&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Deployment and operation - addressed at an organizational rather than a team level.&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
    Other areas of concern are also not present in OpenUP, because small teams do not need to deal with the formality or&#xD;
    overhead of these areas. They include, but are not limited to:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        Advanced configuration management&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Advanced requirements management&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Program and portfolio management&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;h4>&#xD;
    Extensible&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
    OpenUP can be adopted by projects as it is, out-of-the-box, because it's minimal and complete.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    However, different projects may have different needs. Organizations may be interested in customizing some aspects of&#xD;
    OpenUP to adapt it to their projects. These are some examples of possible customization:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        Add new or rename existing roles&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Add steps to existing tasks&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Create new guidelines on a given technique&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Remove a given content area&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Modify existing or add new templates to artifacts&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Modify or create a new process lifecycle&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Add or remove process content&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Add guidance on how to achieve compliance&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Add guidance specific to a technology being used&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Replace or augment&amp;nbsp;one of the layers with new&amp;nbsp;content (e.g. by changing&amp;nbsp;or adding material to how&#xD;
        management is performed)&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Etc.&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
    OpenUP can be customized and extended by using the EPF Composer tool, which allows you to author, configure and publish&#xD;
    methods. With EPF Composer, you can add, remove and change elements according to your team needs, then publish the&#xD;
    content to serve as guidance for your team.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    See more information about customization in &lt;a class=&quot;elementLinkWithType&quot;&#xD;
    href=&quot;./../../../core.default.tool_def.base/guidances/supportingmaterials/resources_for_modifying_methods_7663A1A6.html&quot;&#xD;
     guid=&quot;_omneEMX4EduywMSzPTUUwA&quot;>Supporting Material: Resources for Modifying Methods&lt;/a>.&#xD;
&lt;/p></mainDescription>
</org.eclipse.epf.uma:ContentDescription>
