blob: 45b12e80da15c4d04ae75c387358fe2d1e6e8393 [file] [log] [blame]
<?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" xmlns:rmc="http://www.ibm.com/rmc"
rmc:version="7.5.0" xmi:id="-rsHCan4NDJUYJeoK5s-DBA"
name="new_guideline,__428YO6cEdygKbJMUVNEtg" guid="-rsHCan4NDJUYJeoK5s-DBA" changeDate="2008-11-05T09:48:31.125-0800"
version="7.2.0">
<mainDescription>&lt;p>&#xD;
In order to ensure that the plug-ins within the &lt;a class=&quot;elementLink&quot;&#xD;
href=&quot;./../../../core.mdev.common.base/guidances/concepts/practice_fw_6DA4D54D.html&quot;&#xD;
guid=&quot;__LjaEFQsEd2uvIuuFjd1Fg&quot;>Practice Framework&lt;/a>&amp;nbsp;library&amp;nbsp;fit together nicely and to maximize reuse&#xD;
across elements, specific plug-in types are defined. Such a consistent approach for how plug-ins are structured allows&#xD;
true plug-and-play between content authored by different groups and ensures that remotely authored content integrates&#xD;
seamlessly into the overall library. To support this, individual plug-in types can be defined to define each the&#xD;
important separate areas of concern.&amp;nbsp;Plug-ins&amp;nbsp;can then follow a consistent packaging structure for the actual&#xD;
content based on the plug-in's type.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Figure 1 summarizes the types of plug-ins that should be defined when defining a practice framework&amp;nbsp;library, as&#xD;
well as the allowable dependencies between these plug-in types.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Figure 1. Practice Framework Library Plug-In Types and their Relationships&#xD;
&lt;/p>&lt;br />&#xD;
&lt;br />&#xD;
&lt;p>&#xD;
&lt;img height=&quot;443&quot; alt=&quot;plugin_types_and_their_relationships&quot; src=&quot;./resources/plugin_types.jpg&quot; width=&quot;338&quot; />&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
The plug-ins shown in&amp;nbsp;Figure 1 and&amp;nbsp; described below are &quot;logical&quot; plug-ins. As described in the &quot;Plug-in&#xD;
parts&quot; section below, each logical plug-in may be represented by a number of individual &quot;plug-in parts&quot;. In other&#xD;
works, for every logical plug-in, there may be more than one physical plug-in.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
&lt;strong>Core&lt;/strong> plug-ins contain the elements intended to be shared between other plug-ins in the&#xD;
framework.&amp;nbsp; They provide the foundation of the framework and enable reuse across the elements in the framework&#xD;
(e.g., &lt;a class=&quot;elementLink&quot; href=&quot;./../../../core.default.uma_concept.base/guidances/concepts/practice_F5C8EAAB.html&quot;&#xD;
guid=&quot;_qhCTAFRREd2CWscN8Mx6rg&quot;>Practice&lt;/a>s and &lt;a class=&quot;elementLink&quot;&#xD;
href=&quot;./../../../core.default.uma_concept.base/guidances/termdefinitions/process_68E308B4.html&quot;&#xD;
guid=&quot;_yQ5m2NnmEdmO6L4XMImrsA&quot;>process&lt;/a>es). The core elements serve used as a foundation for defining how the&#xD;
various different types of content will fit together.&amp;nbsp;Specifically, include elements that serve as the interface&#xD;
between practices (&lt;a class=&quot;elementLink&quot;&#xD;
href=&quot;./../../../core.mdev.common.base/guidances/concepts/work_product_slot_D5B44CE7.html&quot;&#xD;
guid=&quot;_Er1OcJIfEdybeduord13cg&quot;>Work Product Slot&lt;/a>s), as well as key reusable elements such as work products or&#xD;
guidance that are intended to be used in a variety of different practices (i.e., shared across practice plug-ins).&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
&lt;strong>Practice&lt;/strong> plug-ins contain the&amp;nbsp;practice&amp;nbsp;elements.&amp;nbsp;There is&amp;nbsp;a Practice plug-in per&#xD;
practice.&amp;nbsp;Practice plug-ins only depend on Core plug-ins (thus enabling them to be plugged and played).&lt;br />&#xD;
Exception: Some practices are defined by reusing content from other practices (e.g., booster practices). For example, a&#xD;
practice may be defined to pre-configure a set of practices into one and then provide some value-added extensions to&#xD;
the whole.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
&lt;strong>Process&lt;/strong> plug-ins contain the elements that define &lt;a class=&quot;elementLink&quot;&#xD;
href=&quot;./../../../core.mdev.common.base/guidances/termdefinitions/cross_practice_process_5F83B112.html&quot;&#xD;
guid=&quot;_9NcfoFJgEd2SzrMjC_svdw&quot;>cross-practice process&lt;/a>es that are intended to be shared across configurations&#xD;
(practice-specific processes are contained in Practice plug-ins and configuration-specific processes are contained in&#xD;
Publish plug-ins). Cross-practice processes are assembled from elements (&lt;a class=&quot;elementLink&quot;&#xD;
href=&quot;./../../../core.default.uma_concept.base/guidances/termdefinitions/task_6C1FF051.html&quot;&#xD;
guid=&quot;_x459ktnmEdmO6L4XMImrsA&quot;>task&lt;/a>s and/or processes) contained in Practice plug-ins and possibly other Process&#xD;
plug-ins.&amp;nbsp;Process plug-ins include the processes themselves, as well as any process-specific extensions to&#xD;
existing elements that are needed to make the various parts of the process work and fit together. There can by any&#xD;
number of process plug-ins; however, an attempt should be made to group similar processes that always appear together&#xD;
in the same process plug-in.&amp;nbsp;For example, you may define a Process plug-in for a particular process family, for a&#xD;
set of processes that share a common lifecycle approach/style and/or for all of the processes included in a specific&#xD;
method asset.Process plug-ins can depend on Core plug-ins (for shared elements), Practice plug-ins (for&#xD;
practice-specific elements to included in the process) and Process plug-ins (for shared processes).&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
&lt;strong>Publish&lt;/strong> plug-ins contain method elements that are unique to a specific configuration that is being&#xD;
published. For example, a Publish plug-in might contain some configuration-specific navigation views, roadmaps, a&#xD;
welcome page, an so on. A Publish plug-in may even include process, if that process is configuration-specific.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
In summary, the practice framework plug-in types represent how the key concepts are implemented physically (i.e., how&#xD;
the practice framework library is organized around practices):&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
&lt;li>&#xD;
The practices themselves (&lt;strong>Practice&lt;/strong> plug-ins)&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
The elements that are shared across practices (&lt;strong>Core&lt;/strong> plug-ins)&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
The processes that are assembled from the practices and that are shared across&#xD;
configurations&amp;nbsp;(&lt;strong>Process&lt;/strong> plug-ins)&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
The elements that support a specific Publishable configuration (&lt;strong>Publish&lt;/strong> plug-ins). For more&#xD;
information on Publishable configurations, see &lt;a class=&quot;elementLinkWithType&quot;&#xD;
href=&quot;./../../../core.mdev.common.base/guidances/concepts/practice_lib_config_types_B96A959A.html&quot;&#xD;
guid=&quot;_1gchoO6dEdygKbJMUVNEtg&quot;>Concept: Practice Library Configuration Types&lt;/a>.&#xD;
&lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
The separation of shared elements (Core plug-ins), practice-specific elements (Practice plug-ins) and cross-practice&#xD;
elements (Process and Publish plug-ins) maximizes reuse between the elements in the framework (practices share core&#xD;
elements and&amp;nbsp;cross-practice processes share practice and&amp;nbsp;core elements)&#xD;
&lt;/p>&#xD;
&lt;h3>&#xD;
Plug-in parts&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
In order to improve the configurability and navigability of the practice framework library (as well as to implement &lt;a&#xD;
class=&quot;elementLink&quot; href=&quot;./../../../core.mdev.common.base/guidances/concepts/delayed_assignment_24142865.html&quot;&#xD;
guid=&quot;_rlrykJcbEd2sTqxclDgvog&quot;>Delayed Assignment&lt;/a>), the concept of plug-in parts was introduced.&amp;nbsp; For more&#xD;
information on this, see &lt;a class=&quot;elementLinkWithType&quot;&#xD;
href=&quot;./../../../core.mdev.common.base/guidances/concepts/practice_lib_plugin_parts_538A81D.html&quot;&#xD;
guid=&quot;_vgjh4PG1EdyO9sYxKNWf8A&quot;>Concept: Practice Library Plug-In Parts&lt;/a>.&#xD;
&lt;/p></mainDescription>
</org.eclipse.epf.uma:ContentDescription>