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