blob: 26587aa0192b9c4d767a953dc1acda32b2ddc7e4 [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="-FKYPLgn_QSFxXDcUbLIhpg"
name="new_guideline,_InSicKmlEd2eRp4Z7dEEOQ" guid="-FKYPLgn_QSFxXDcUbLIhpg" changeDate="2008-11-03T04:48:17.156-0800"
version="7.5.0">
<mainDescription>&lt;p>&#xD;
Structuring 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;core is where the core elements of the framework and their&#xD;
relationships are defined. The core structure must be developed within the guiding principles and constraints of the&#xD;
practice framework&amp;nbsp;in which the core resides.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
When structuring a practice, resist the temptation to enter detailed descriptions into the defined core&#xD;
elements.&amp;nbsp;Instead, just name and briefly describe the elements and enter a few outline details, if they help to&#xD;
more clearly describe the element's basic definition.&amp;nbsp;For more information, see &lt;a class=&quot;elementLinkWithType&quot;&#xD;
href=&quot;./../../../core.mdev.common.base/guidances/guidelines/method_element_naming_conventions_4A4F743B.html&quot;&#xD;
guid=&quot;_lAphAF5-EduT-Px7fh0LSg&quot;>Guideline: Method Element Naming Conventions&lt;/a>&amp;nbsp;and &lt;a class=&quot;elementLinkWithType&quot;&#xD;
href=&quot;./../../../core.mdev.common.base/guidances/guidelines/writing_brief_descriptions_D01D2F53.html&quot;&#xD;
guid=&quot;_cJbBkCAhEdy1y5bWsXfCCg&quot;>Guideline: Writing Brief Descriptions&lt;/a>.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
When structuring the core elements, be sure to look for opportunities to leverage existing information in other core&#xD;
elements (for example, core elements for a specific context may extend, customize and reuse elements from a more&#xD;
general core). If you find existing core elements in another context-specific core that you would like to share, work&#xD;
with the method architects to get the common information moved to&amp;nbsp;a more general core where it can be shared.&#xD;
Likewise, core elements should be defined to maximize reuse.&amp;nbsp;If while structuring the core elements for a specific&#xD;
context,&amp;nbsp;you define an element that can be shared across contexts, it should be defined in&amp;nbsp;in a more general&#xD;
core where it can be shared.&amp;nbsp;&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Core elements are physically packaged in&amp;nbsp;Core plug-ins. For more information on Core plug-ins and what elements&#xD;
should be placed in what plug-ins, see &lt;a class=&quot;elementLinkWithType&quot;&#xD;
href=&quot;./../../../core.mdev.common.base/guidances/concepts/practice_lib_plugin_types_3EA8002F.html&quot;&#xD;
guid=&quot;__428YO6cEdygKbJMUVNEtg&quot;>Concept: Practice Library Plug-In Types&lt;/a>. For more information on defining plug-ins,&#xD;
see &lt;a class=&quot;elementLinkWithType&quot;&#xD;
href=&quot;./../../../core.mdev.common.base/guidances/guidelines/defining_plugins_CF19789C.html&quot;&#xD;
guid=&quot;_OIOSQF_zEduYvI5nsNyVYA&quot;>Guideline: Defining Plugins&lt;/a>.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Structuring the core elements involves:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
&lt;li>&#xD;
&lt;strong>Defining the&lt;/strong> &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>&lt;strong>s&lt;/strong>. For more information, see &lt;a&#xD;
class=&quot;elementLinkWithType&quot;&#xD;
href=&quot;./../../../practice.mdev.auth.practice_fw_arch.base/guidances/guidelines/defining_work_product_slots_EE90888A.html&quot;&#xD;
guid=&quot;_qVnDgC2sEd2CiunvJQy6fQ&quot;>Guideline: Defining Work Product Slots&lt;/a>.&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
&lt;strong>Defining the common&lt;/strong> &lt;a class=&quot;elementLink&quot;&#xD;
href=&quot;./../../../core.default.uma_concept.base/guidances/termdefinitions/method_content_6972AE81.html&quot;&#xD;
guid=&quot;_Ts2joB_MEdq6CKKKq4D7YA&quot;>method content&lt;/a>&lt;strong>&amp;nbsp;elements and their relationships&lt;/strong> (including&#xD;
shared &lt;a class=&quot;elementLink&quot;&#xD;
href=&quot;./../../../core.default.uma_concept.base/guidances/termdefinitions/role_37A0C602.html&quot;&#xD;
guid=&quot;_yUefQNnmEdmO6L4XMImrsA&quot;>role&lt;/a>s,&amp;nbsp;&lt;a class=&quot;elementLink&quot;&#xD;
href=&quot;./../../../core.default.uma_concept.base/guidances/termdefinitions/work_product_826E4C22.html&quot;&#xD;
guid=&quot;_H4JXwB_SEdq6CKKKq4D7YA&quot;>work product&lt;/a>s and &lt;a class=&quot;elementLink&quot;&#xD;
href=&quot;./../../../core.default.uma_concept.base/guidances/termdefinitions/guidance_549AC394.html&quot;&#xD;
guid=&quot;_83ttAB_NEdq6CKKKq4D7YA&quot;>guidance&lt;/a>). For more information, see the &quot;Defining the common method content&#xD;
elements&quot; section of this guideline.&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
&lt;strong>Defining the shared standard categories&lt;/strong> (e.g., &lt;a class=&quot;elementLink&quot;&#xD;
href=&quot;./../../../core.default.uma_concept.base/guidances/termdefinitions/domain_D8238B93.html&quot;&#xD;
guid=&quot;_yHEVYdnmEdmO6L4XMImrsA&quot;>domain&lt;/a>s and &lt;a class=&quot;elementLink&quot;&#xD;
href=&quot;./../../../core.default.uma_concept.base/guidances/termdefinitions/discipline_7667F451.html&quot;&#xD;
guid=&quot;_yGUuidnmEdmO6L4XMImrsA&quot;>discipline&lt;/a>s). For more information, see the &quot;Defining shared standard&#xD;
categories&quot; section of this guideline.&amp;nbsp;&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
&lt;strong>Defining the shared custom categories&lt;/strong> (including shared &lt;a class=&quot;elementLink&quot;&#xD;
href=&quot;./../../../core.mdev.common.base/guidances/termdefinitions/navigation_view_8F89044.html&quot;&#xD;
guid=&quot;_X_hFIPAjEdyHz_B1XFOUgA&quot;>navigation view&lt;/a>s). For more information, see the &quot;Defining shared custom&#xD;
categories&quot; section of this guideline.&#xD;
&lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
Additional information on defining these core elements is provided in the following sections.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
&amp;nbsp;&amp;nbsp;&#xD;
&lt;/p>&#xD;
&lt;h3>&#xD;
Defining a work product slot&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
Work product slots are implemented as &lt;a class=&quot;elementLink&quot;&#xD;
href=&quot;./../../../core.default.uma_concept.base/guidances/termdefinitions/work_product_826E4C22.html&quot;&#xD;
guid=&quot;_H4JXwB_SEdq6CKKKq4D7YA&quot;>work product&lt;/a>s. However, they are &quot;special&quot; work products in that they are&#xD;
implementation/representation agnostic. Thus, for general information on defining work products, see &lt;a&#xD;
class=&quot;elementLinkWithType&quot;&#xD;
href=&quot;./../../../core.mdev.common.base/guidances/guidelines/defining_method_content_elements_21A491E3.html&quot;&#xD;
guid=&quot;_XQqJkCAmEdy1y5bWsXfCCg&quot;>Guideline: Defining Method Content Elements&lt;/a>.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
It&amp;nbsp;is important to remember that work products slots are not “real” elements, in the method sense.&amp;nbsp;Thus,&#xD;
there are some additional authoring guidelines:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
&lt;li>&#xD;
Work product slots may appear as inputs to tasks&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
Work product slots may not appear as an output to tasks&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
Work product slots are filled by real work products in specific practices&amp;nbsp;&amp;nbsp;&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
Work product slots should not be categorized using standard categories&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
When naming separate work product slots, use a descriptive name that indicates explicitly that the element is a&#xD;
slot.&amp;nbsp; Specifically, the slot's presentation name should be between brackets and it's internal name should end&#xD;
in (“_slot”).&amp;nbsp; Such conventions make it easy to see what is a slot and what is an actual artifact that fills a&#xD;
slot.&amp;nbsp;&lt;br />&#xD;
For example:&#xD;
&lt;/li>&#xD;
&lt;li style=&quot;LIST-STYLE-TYPE: none&quot;>&#xD;
&lt;ul>&#xD;
&lt;li>&#xD;
Presentation Name: [Specified System]&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
Name: specified_system_slot&amp;nbsp;&#xD;
&lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;h4>&#xD;
Defining the common method content elements&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
In a practice framework, the common method elements usually include common roles definitions, work product definitions&#xD;
and guidance. Tasks are not considered common elements (they defined in specific practices).&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
The following sections provide core-specific recommendations for defining the common method content elements. For&#xD;
general guidelines on defining method content elements, see &lt;a class=&quot;elementLinkWithType&quot;&#xD;
href=&quot;./../../../core.mdev.common.base/guidances/guidelines/defining_method_content_elements_21A491E3.html&quot;&#xD;
guid=&quot;_XQqJkCAmEdy1y5bWsXfCCg&quot;>Guideline: Defining Method Content Elements&lt;/a>.&amp;nbsp;&#xD;
&lt;/p>&#xD;
&lt;h5>&#xD;
Defining common work products&#xD;
&lt;/h5>&#xD;
&lt;p>&#xD;
Work product definitions are provided in core to allow practices to share the common definition, even though they may&#xD;
use the work product differently (e.g., provide different techniques for producing and consuming the work product).&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Work products are not specified as fulfilling specific slots in the core. The fulfillment of slots is defined within&#xD;
the practice (not in common).&amp;nbsp;&lt;br />&#xD;
Note: Even though common work products are defined in&amp;nbsp;Core, they do not really &quot;exist&quot; as part of the method being&#xD;
defined until they are placed in a slot by a practice. In that case, the work product is considered conceptually part&#xD;
of that practice.&amp;nbsp;The only reason these work product definitions are physically placed in&amp;nbsp;the core&amp;nbsp;is so&#xD;
their definition can be shared.&amp;nbsp;&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Work products in the core are generally &quot;state free&quot;.&amp;nbsp;Specific work product states are considered&#xD;
practice-specific information.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Work products in the core do not have an associated responsible role. What role is responsible for what work product is&#xD;
a practice-specific decision.&#xD;
&lt;/p>&#xD;
&lt;h5>&#xD;
Defining common roles&#xD;
&lt;/h5>&#xD;
&lt;p>&#xD;
Practice frameworks generally implement a&amp;nbsp;&lt;a class=&quot;elementLink&quot;&#xD;
href=&quot;./../../../core.mdev.common.base/guidances/concepts/delayed_assignment_24142865.html&quot;&#xD;
guid=&quot;_rlrykJcbEd2sTqxclDgvog&quot;>Delayed Assignment&lt;/a>&amp;nbsp;approach for roles and role&amp;nbsp;assignments so the role&#xD;
definitions and/or assignments can be easily changed. Common role definitions are included in the core, but they are&#xD;
not assigned to work products or tasks. These assignments are defined as part of the practice.&#xD;
&lt;/p>&#xD;
&lt;h5>&#xD;
Defining common guidance&#xD;
&lt;/h5>&#xD;
&lt;p>&#xD;
Common guidance is guidance that can be shared across practices.&amp;nbsp;Such guidance is not associated to any method&#xD;
content elements in the core. Such associations are done as part of defining the practice.&lt;br />&#xD;
Note: Even though common guidance is defined in&amp;nbsp;the core, such guidance is considered conceptually part of the&#xD;
practice where the guidance is associated to specific practice elements.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&#xD;
&lt;/p>&#xD;
&lt;h3>&#xD;
Defining shared standard categories&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
Standard category definitions (&lt;a class=&quot;elementLink&quot;&#xD;
href=&quot;./../../../core.default.uma_concept.base/guidances/termdefinitions/domain_D8238B93.html&quot;&#xD;
guid=&quot;_yHEVYdnmEdmO6L4XMImrsA&quot;>domain&lt;/a>s, &lt;a class=&quot;elementLink&quot;&#xD;
href=&quot;./../../../core.default.uma_concept.base/guidances/termdefinitions/discipline_7667F451.html&quot;&#xD;
guid=&quot;_yGUuidnmEdmO6L4XMImrsA&quot;>discipline&lt;/a>s, &lt;a class=&quot;elementLink&quot;&#xD;
href=&quot;./../../../core.default.uma_concept.base/guidances/termdefinitions/work_product_kind_F04A382B.html&quot;&#xD;
guid=&quot;_QWhfYMaJEduMlb2cQZNTYw&quot;>work product kind&lt;/a>s, &lt;a class=&quot;elementLink&quot;&#xD;
href=&quot;./../../../core.default.uma_concept.base/guidances/termdefinitions/role_set_396DC9DB.html&quot;&#xD;
guid=&quot;_Fs8HAMaIEduMlb2cQZNTYw&quot;>role set&lt;/a>s, &lt;a class=&quot;elementLink&quot;&#xD;
href=&quot;./../../../core.default.uma_concept.base/guidances/termdefinitions/tool_D0FBC781.html&quot;&#xD;
guid=&quot;_BangwMaJEduMlb2cQZNTYw&quot;>tool&lt;/a>s) are are generally shared across practices, so they are defined in the&#xD;
practice framework core. However, practice frameworks generally implement a &lt;a class=&quot;elementLink&quot;&#xD;
href=&quot;./../../../core.mdev.common.base/guidances/concepts/delayed_assignment_24142865.html&quot;&#xD;
guid=&quot;_rlrykJcbEd2sTqxclDgvog&quot;>Delayed Assignment&lt;/a>&amp;nbsp;approach for standard categories, except for tools (since&#xD;
what &lt;a class=&quot;elementLink&quot;&#xD;
href=&quot;./../../../core.default.uma_concept.base/guidances/termdefinitions/tool_mentor_264766F3.html&quot;&#xD;
guid=&quot;_yYy-mdnmEdmO6L4XMImrsA&quot;>tool mentor&lt;/a>s are assigned to what tools usually does not change). Thus these&#xD;
categories are defined in the core, but elements are not categorized using these categories in the core. The&#xD;
categorization happens as part of the practice. For more information on categorizing method elements into standard&#xD;
categories, see &lt;a class=&quot;elementLinkWithType&quot;&#xD;
href=&quot;./../../../core.mdev.common.base/guidances/guidelines/categorizing_method_elements_using_std_cats_854BD33A.html&quot;&#xD;
guid=&quot;_thsRIMjnEdyoXMhaXAJ-6g&quot;>Guideline: Categorizing Method Elements Using Standard Categories&lt;/a>.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
&amp;nbsp;&amp;nbsp;&#xD;
&lt;/p>&#xD;
&lt;h3>&#xD;
Defining shared custom categories&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
Custom categories may be defined in the core that can be shared across practices. A common example of a shared custom&#xD;
category is a navigation view, but other custom categories may be defined, as well.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Elements are added to the shared custom categories in the core and in practices, as desired. For more information on&#xD;
categorizing method elements into standard categories, see &lt;a class=&quot;elementLinkWithType&quot;&#xD;
href=&quot;./../../../core.mdev.common.base/guidances/guidelines/categorizing_method_elements_using_custom_cats_F66C3F90.html&quot;&#xD;
guid=&quot;_V7qwIMjpEdyoXMhaXAJ-6g&quot;>Guideline: Categorizing Method Elements Using Custom Categories&lt;/a>.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
These custom categories&amp;nbsp;can then be&amp;nbsp;included, as desired, as part of&amp;nbsp;publishable method configurations.&#xD;
For more 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>.&amp;nbsp;&#xD;
&lt;/p></mainDescription>
</org.eclipse.epf.uma:ContentDescription>