<?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.6/uma.ecore" xmlns:epf="http://www.eclipse.org/epf" epf:version="1.5.1" xmi:id="-SqArASoV4hTpxAprrWhS1g" name="resources_for_modifying_methods,_omneEMX4EduywMSzPTUUwA" guid="-SqArASoV4hTpxAprrWhS1g" changeDate="2007-07-03T00:50:00.218+0330" version="1.0.0">
  <mainDescription>&lt;h1> Customization resources&lt;/h1>&#xD;
&lt;p> There are a number of use scenarios for OpenUP. The simplest&amp;nbsp;is to use &#xD;
  the&amp;nbsp;content available from the EPF project (either the available published &#xD;
  Web site or the one that you publish from the available library). You can find &#xD;
  those resources at&amp;nbsp;&lt;a href=&quot;http://www.eclipse.org/epf&quot;>www.eclipse.org/epf&lt;/a>. &#xD;
&lt;/p>&#xD;
&lt;p> However, you may be&amp;nbsp;looking for&amp;nbsp;adding, removing, suppressing, or &#xD;
  modifying method and process elements to make OpenUP&amp;nbsp;more&amp;nbsp;suitable&amp;nbsp;to &#xD;
  your teams' needs, while keeping it consistent and understandable. &lt;/p>&#xD;
&lt;p> The following sections introduce a few fundamental concepts about&amp;nbsp;method &#xD;
  content and process, as well as&amp;nbsp;descriptions of typical customization scenarios &#xD;
  and&amp;nbsp;links to additional information on how to customize methods. &lt;/p>&#xD;
&lt;h2> Method organization &lt;/h2>&#xD;
&lt;p> You can use EPF Composer to write, configure, and publish method and process &#xD;
  content. EPF Composer organizes the content in a &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../base_concepts/guidances/termdefinitions/method_library_6E08F9E5.html&quot; guid=&quot;_1xELEMaFEduMlb2cQZNTYw&quot;>method &#xD;
  library&lt;/a>. Each method library contains one or more &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../base_concepts/guidances/termdefinitions/method_plugin_190B9F5E.html&quot; guid=&quot;_D4TLgMaGEduMlb2cQZNTYw&quot;>method &#xD;
  plug-ins&lt;/a>. Every plug-in consists of two major packages:&amp;nbsp;&lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../base_concepts/guidances/termdefinitions/content_package_F5C69063.html&quot; guid=&quot;_SAWgwMaFEduMlb2cQZNTYw&quot;>content &#xD;
  packages&lt;/a> and &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../base_concepts/guidances/termdefinitions/process_package_368B7463.html&quot; guid=&quot;_MN1doMaHEduMlb2cQZNTYw&quot;>process &#xD;
  packages&lt;/a>. Content packages contain &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../base_concepts/guidances/termdefinitions/content_element_DA3AD029.html&quot; guid=&quot;_N8x34B_LEdq6CKKKq4D7YA&quot;>content &#xD;
  elements&lt;/a>, such as &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../base_concepts/guidances/termdefinitions/role_37A0C602.html&quot; guid=&quot;_yUefQNnmEdmO6L4XMImrsA&quot;>roles&lt;/a>, &#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;
  &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../base_concepts/guidances/termdefinitions/work_product_826E4C22.html&quot; guid=&quot;_H4JXwB_SEdq6CKKKq4D7YA&quot;>work &#xD;
  products&lt;/a>, and &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../base_concepts/guidances/termdefinitions/guidance_549AC394.html&quot; guid=&quot;_83ttAB_NEdq6CKKKq4D7YA&quot;>guidance&lt;/a>. &#xD;
  Process packages contain &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../base_concepts/guidances/termdefinitions/capability_pattern_F5DDC5F.html&quot; guid=&quot;_2RUJACO4EdqaNq6Ptg8uyA&quot;>capability &#xD;
  patterns&lt;/a> and &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../base_concepts/guidances/termdefinitions/delivery_process_BCDF50B7.html&quot; guid=&quot;_ZufeMCO3EdqaNq6Ptg8uyA&quot;>delivery &#xD;
  processes&lt;/a>. &lt;/p>&#xD;
&lt;p> Method content and processes are organized in the EPF method library according &#xD;
  to how they build logical units for useful &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../base_concepts/guidances/termdefinitions/method_configuration_C2B8FA8A.html&quot; guid=&quot;__V7pAMaEEduMlb2cQZNTYw&quot;>method &#xD;
  configurations&lt;/a>. For example, all content belonging to one specific discipline, &#xD;
  such as requirements or development, can be found in one content package. Each &#xD;
  of these packages might be further divided into sub-packages for specific practices &#xD;
  in these disciplines. For example,&amp;nbsp;under Development,&amp;nbsp;you may want &#xD;
  to&amp;nbsp;have a package that&amp;nbsp;factors all of the specific information about &#xD;
  visual modeling. Thus, you can add or remove&amp;nbsp;visual modeling&amp;nbsp;specifics &#xD;
  from&amp;nbsp;Development with just one simple mouse-click by selecting or deselecting &#xD;
  the right package. &lt;/p>&#xD;
&lt;p> For more information on method organization, see &lt;b>EPF Composer Overview&lt;/b>, &#xD;
  &lt;a href=&quot;http://www.eclipse.org/epf/general/EPFComposerOverviewPart1.pdf&quot; target=&quot;_blank&quot;>Part &#xD;
  1&lt;/a> and &lt;a href=&quot;http://www.eclipse.org/epf/general/EPFComposerOverviewPart2.pdf&quot; target=&quot;_blank&quot;>Part &#xD;
  2&lt;/a>. &lt;/p>&#xD;
&lt;h2> Customization scenarios &lt;/h2>&#xD;
&lt;p> The following sections describe&amp;nbsp;several possible customization scenarios. &#xD;
  For step-by-step instructions, see the &lt;a href=&quot;http://www.eclipse.org/epf/general/EPFComposer_OpenUP.zip&quot; target=&quot;_blank&quot;>Customization &#xD;
  Scenarios&lt;/a> tutorial. &lt;/p>&#xD;
&lt;h3> Use existing plug-ins and packages to build your own process &lt;/h3>&#xD;
&lt;p> This is the most straight-forward customization scenario. Based on the content &#xD;
  provided by OpenUP, you can use EPF Composer to pick and choose the packages &#xD;
  with the content that you want to have published and made available to your &#xD;
  team. Removing a method package removes all references to the content of that &#xD;
  package from the published process. For example, you can simplify a process &#xD;
  to have it contain a minimal subset of its content by removing packages that &#xD;
  contain elements of work that you do not want to perform. You do this by creating &#xD;
  a new method configuration (or copying an existing one) into your method library. &#xD;
  You can select packages as appropriate without affecting the configuration provided. &#xD;
&lt;/p>&#xD;
&lt;h3> Add&amp;nbsp;method content&amp;nbsp;that your team needs&lt;/h3>&#xD;
&lt;p> Some teams may need to perform a different task that is not contemplated by &#xD;
  the out-of-the-box content. Maybe they need to perform an extra step in an existing &#xD;
  task, or they may need to add a new guideline for a given technique that they &#xD;
  are following. Eventually, they need a new template for a document (or may need &#xD;
  to add or remove sections in an existing template). &lt;/p>&#xD;
&lt;p> In such situations, the recommended approach is to create a separate plug-in &#xD;
  in your library.&amp;nbsp;It is not a good practice&amp;nbsp;to make changes in the &#xD;
  provided OpenUP plug-in (or any plug-in for which you do not have control), &#xD;
  because new versions of these plug-ins, when deployed, can override the changes &#xD;
  that you have made. &lt;/p>&#xD;
&lt;p> EPF Composer provides a series of mechanisms that allow you to indirectly &#xD;
  modify the content in an existing plug-in by using content variability. In your &#xD;
  plug-in, you can define an element that contributes, extends, or replaces an &#xD;
  element in the existing plug-in. For example, in your plug-in, you can define &#xD;
  a task that contributes a new step to an existing task in OpenUP. You can also &#xD;
  define a new artifact that replaces one in OpenUP, and this new artifact can &#xD;
  have a different name, structure, and associated template, for example. &lt;/p>&#xD;
&lt;p> When you create a new plug-in, it should depend on existing plug-ins to where &#xD;
  content will be contributed, extended or replaced. After you have created your &#xD;
  plug-in, you add&amp;nbsp;it to a new configuration from which you can finally select &#xD;
  the packages with content that you want published. During publication, EPF Composer &#xD;
  will resolve the content variability that you defined by adding the new content &#xD;
  into the existing content where appropriate, replacing existing content with &#xD;
  the content you defined, and so on. &lt;/p>&#xD;
&lt;h3> Define a different development lifecycle &lt;/h3>&#xD;
&lt;p> Both method content and process are created independently from&amp;nbsp;each other. &#xD;
  For example, you create tasks in the method content (and define their&amp;nbsp;inputs, &#xD;
  outputs, and responsible roles), but you do not necessarily define the lifecycle &#xD;
  of your process, meaning the sequence in which the various tasks will be performed. &#xD;
  On the process side, you then define the lifecycle (such as phases, iterations, &#xD;
  activities, and tasks), as well as the precedence among these elements. &lt;/p>&#xD;
&lt;p> Some teams may find the method content appropriate without any further customization, &#xD;
  but they may want to work by following a different software development lifecycle. &#xD;
  Some teams may like the four development phases and iterations from OpenUP, &#xD;
  but some may want to develop iteratively, without being tied to the phase structure. &#xD;
&lt;/p>&#xD;
&lt;p> You can add, remove and replace elements in the work breakdown structure of &#xD;
  an existing process by applying variability. This is called&lt;b> process contribution&lt;/b>, &#xD;
  which means that differential changes can be applied to an existing process. &#xD;
&lt;/p>&#xD;
&lt;p> As an alternative to tailoring an existing process, you can write a completely &#xD;
  new process that reuses activities from one or more existing processes. In cases &#xD;
  where you cannot find any reusable material at all, you can also create a completely &#xD;
  new process from scratch. In most cases, however, you will start developing &#xD;
  your own process by assembling reusable building blocks from method content, &#xD;
  as well as predefined process patterns&amp;nbsp;called &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../base_concepts/guidances/termdefinitions/capability_pattern_F5DDC5F.html&quot; guid=&quot;_2RUJACO4EdqaNq6Ptg8uyA&quot;>capability &#xD;
  patterns&lt;/a>. The resulting assembled process is called a&amp;nbsp;&lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../base_concepts/guidances/termdefinitions/delivery_process_BCDF50B7.html&quot; guid=&quot;_ZufeMCO3EdqaNq6Ptg8uyA&quot;>delivery &#xD;
  process&lt;/a>. &lt;/p>&#xD;
&lt;p> This newly created delivery process&amp;nbsp;is part of a configuration that you &#xD;
  publish and make available to members of your team. &lt;/p>&#xD;
&lt;h3> Publish the process Web site &lt;/h3>&#xD;
&lt;p> Every customization scenario is finalized by publishing content in a Web site &#xD;
  format that can&amp;nbsp;be accessed by practitioners in the project. EPF Composer &#xD;
  allows you to publish&amp;nbsp;content based on a given configuration, which will &#xD;
  publish all of the content available from the&amp;nbsp;method and process packages &#xD;
  selected in that configuration. Another option for publishing is to select only &#xD;
  the capability patterns or delivery process of interest. This will make available &#xD;
  only the content related to the process packages that you select.&lt;/p>&#xD;
&lt;p> For the published Web site look and feel, you can customize the views and &#xD;
  nodes in the directory (tree) browser by defining &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../base_concepts/guidances/termdefinitions/custom_category_554AC4D6.html&quot; guid=&quot;_eqw94MaFEduMlb2cQZNTYw&quot;>custom &#xD;
  categories&lt;/a> that will be part of your configuration. &lt;/p></mainDescription>
</org.eclipse.epf.uma:ContentDescription>
