<?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="-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; 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; href=&quot;./../../../core.default.nav_view.base/customcategories/work_products_FB13601A.html&quot; 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; href=&quot;./../../../core.default.nav_view.base/customcategories/tasks_E310E5A5.html&quot; 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; href=&quot;./../../../core.default.tool_def.base/guidances/supportingmaterials/resources_for_customizing_methods_7663A1A6.html&quot; guid=&quot;_omneEMX4EduywMSzPTUUwA&quot;>Supporting Material: Resources for Customizing Methods&lt;/a>.&#xD;
&lt;/p></mainDescription>
</org.eclipse.epf.uma:ContentDescription>
