Creating Reusable Methods Content
I.
Method Content Authoring Overview
Method content is represented in this tool with a schema that defines roles representing development skills and responsibilities for work products. The roles also define responsibility relationships to the work products.
The figure above depicts typical sources for method content, as well as how the method content is represented. To learn about development methods, people research in libraries or receive training. Development methods are typically described in publications such as books, articles, training material, standards and regulations, or any other form of documentation. These sources usually document methods by providing step-by-step explanations for a particular way of achieving a specific development goal under general circumstances. Some examples are: transforming a requirements document into an analysis model; defining an architectural mechanism based on functional and non-functional requirements; creating a project plan for a development iteration; defining a quality assurance plan for functional requirements; redesigning a business organization based on a new strategic direction, and so on.
This tool takes content such as the content described above, and structures it in one specific way using a predefined schema of concepts. This schema supports the organization of large amounts of descriptions for development methods and processes. Such method content and processes do not have to be limited to software engineering, but can also cover other design and engineering disciplines such as mechanical engineering, business transformation, sales cycles, and so on.
The schema for method content is represented this tool as a construct of roles defining development skills and responsibilities for work products. These work products are produced by tasks that are performed by the roles and have the work products as inputs and outputs. The screen capture in the figure above shows how such method content elements are organized in tree browsers on the left. These tree browsers, similar to a library, provide different indexes of the available elements for rapid access. The screen capture shows on the right an example of a task presentation. This task presentation defines the task in terms of steps that need to be performed to achieve the task's purpose. You can see that the task has various relationships, such as relationships to performing roles as well as work products that serve as inputs and outputs to the task. Find more details on tasks, role, and work products in the online help. In addition to roles, tasks, and work products, this tool supports the addition of guidance elements. Guidance are supplementary free-form documentation such as white papers, concept descriptions, guidelines, templates, examples, and so on.
This tool provides various form-based editors to create new method content elements. Document your task, roles, work products, and guidance elements using intuitive rich-text editors that allow you to copy and paste text from other sources such as web pages or documents. Use simple dialogs to establish relationships between content elements. For example, make a work product the input to your task simply by selecting it in a dialog.
Using this tool, you can organize content in physical content packages that allow you to manage your content in configurable units. You can also categorize your content based on a set of predefined categories (for example, categorize your tasks into development disciplines, or your work products into domains) or create your own categorization schemes for your content with your own user-defined categories that allow you to index content in any way you want.
Related concepts
Method Content
Related tasks
Create Method Content
II.
Method Content
Method content provides step-by-step explanations, describing how specific development goals are achieved, independent of the placement of these steps within a development lifecycle. Processes take these method elements and relate them into semi-ordered sequences that are customized to specific types of projects.
Method content elements are:
A Process Engineer authors these elements, defines the relationships between them, and then categorizes them. Method content provides step-by-step explanations, describing how specific development goals are achieved independent of the placement of these steps within a development lifecycle. Processes take these method elements and relate them into semi-ordered sequences that are customized to specific types of projects.
For example, a software development project that develops an application from scratch performs development tasks such as "Develop Vision" or "Use Case Design" similar to a project that extends an existing software system. However, the two projects will perform the tasks at different points in time with a different emphasis, i.e., they perform the steps of these tasks at different points of time and perhaps apply individual variations and additions.
Method content elements are contained within method content packages which, in turn, are contained within a Method plug-in. In order to separate your own content from original IBM Rational content, you should always create new method content in a method plug-in that you produce. Creating method content in a method plug-in of your own also allows you to update your own library with new releases of the IBM Rational library without affecting the content that you have created in your own plug-ins.
See also:
Related concepts
Method Content Categories
Related tasks
Create Method Content
Create a Method Plug-in
III.
Create Method Content
Method content provides step-by-step explanations, describing how specific development goals are achieved independent of the placement of these steps within a development lifecycle. Processes take the method elements and relate them into semi-ordered sequences that are customized to specific types of projects.
Method content elements are:
Click here for more information about Method Content.
To create method content:
Note: For Work Products, choose between Artifact, Outcome, or Deliverable. For Guidance, choose from the list of guidance types.
Related tasks
Create a Role
Create a Task
Create a Work Product
Create Guidance
IV.
Create a Role
A Role defines a set of related skills, competencies, and responsibilities of an individual or individuals.
You should always create new method content in a Method Plug-in that you produce.
To create a role:
Note: You can use the Rich Text Editor to edit or enter the
text for any field that has a rich text editor icon . Simply
click the icon to access the Rich Text Editor. Click the icon again to close
the Rich Text Editor. For more information see Rich Text Editor.
Note: The list of work products in the "Work products that are output of tasks that this role performs" field is calculated and cannot be changed with the role editor. A work product appears here if it is an output of a task that the role performs.
Note: Selected elements in an Add/Remove section display both the element name (plug-in name) and the "path" (package name) to that element.
Parent topic: Create Method Content
Method Content
Create a Task
Create a Work Product
Create Guidance
Variability
V.
Create a Task
A task is an assignable unit of work. Every task is assigned to a specific role. The granularity of a task is generally a few hours to a few days and usually affects one or only a small umber of work products.
You should always create new method content in a Method Plug-in that you produce.
To create a task:
Note: You can use the Rich Text Editor to edit or enter the
text for any field that has a rich text editor icon . Simply
click the icon to access the Rich Text Editor. Click the icon again to close
the Rich Text Editor. For more information see Rich Text Editor.
A task can have a series of steps that detail how to perform that task. The Step Editor allows you to:
Parent topic: Create Method Content
Related concepts
Method Content
Variability
Related tasks
Create a Role
Create a Work Product
Create Guidance
VI.
Create a Work Product
Work product is a general term for task inputs and outputs. There are three types of work product:
You should always create new method content in a Method Plug-in that you produce.
To create a work product:
The Work Product editor for the specific type of work product you are creating appears with the Description tab set as the default.
Note: You can use the Rich Text Editor to edit or enter the
text for any field that has a rich text editor icon . Simply
click the icon to access the Rich Text Editor. Click the icon again to close
the Rich Text Editor. For more information see Rich Text Editor.
Note: Artifacts and Deliverables contain the Notation fields, while Outcomes do not.
Parent topic: Create Method Content
Related concepts
Variability
Related tasks
Create Method Content
Create a Role
Create a Task
Create Guidance
VII.
Create Guidance
Guidance is a general term for additional information related to Role, Task, and Work Product. Guidance provides information on how to perform your role, how to create a work product, how to perform your task, and so on. For more information see Guidance.
You should always create new Method Content in a Method Plug-in that you produce.
To create Guidance:
The following guidance types have the same editor which includes a Description tab and a Preview tab:
Note: You can use the Rich Text Editor to edit or enter the
text for any field that has a rich text editor icon . Simply
click the icon to access the Rich Text Editor. Click the icon again to close
the Rich Text Editor. For more information see Rich Text Editor.
It is possible to change some types of guidance to a limited number of other guidance types. To change a guidance type, click the Change Type button and select an available new type.
If the type of guidance is a Practice, you can add references to other elements. If the guidance is a Template, you can attach a file to the guidance.
Parent topic: Create Method Content
Related tasks
Create Method Content
Create a Role
Create a Task
Create a Work Product
VIII.
Variability
Variability allows elements in one content package to influence or modify elements in other content packages without actually directly modifying the original content. Variability enables changes to the content while keeping the changes separate and optional.
Variability allows you to factor your method content and processes in interrelated units and to architect method content and processes in layers that extend each other with new capabilities. Variability also allows you to extend and tailor method content and processes you do not own and cannot directly modify, and to easily upgrade to newer versions by simply reapplying your personal changes to the upgrades.
The use of variability affects two characteristics of a method element: its attributes and its relationships with other content elements. If an element allows variability, the specification is shown at the bottom of the element's description view.
For the purposes of variability, there are three groups of information for any element to be considered:
In addition, associations can be one-to-one or one-to-many. See Variability Associations for a full list of the associations for each type of element.
IX.
Variability Type
Variability type defines the nature of how one element affects another element using variability. The variability types are:
Related concepts
Variability Associations
Contributes
Replaces
Extends
X.
Contributes
A contributing element adds to the base element. Contributes provides a way for elements to contribute their properties into their base element without directly changing any of its existing properties, such as in an additive fashion. The effect, after contribution, is that the base element is logically replaced with an element that combines the attributes and associations of the contributing element with the base element.
Use the Content Variability section on the Description tab to make an element contribute to another element. Select Contributes as the Variability type and then select the base element to which this element will contribute. The base element must be the same type of element as the contributing element.
Any information you enter in the contributing element is added to the base element. Text fields in the contributing element are added at the end of the respective text fields in the base element.
Contribution only adds attributes and associations to the base. It never overrides or replaces any information from the base. In other words, if the base is allowed an association to exactly one other element and has this one already defined, it is not being replaced by a contributor's association.
Contribution rules:
See Variability Associations to find the associations for each element type.
Related concepts
Variability
Extends
Replaces
XI.
Extends
An extending element inherits characteristics of the base element. Extension allows Method Plug-ins to easily reuse elements from a base plug-in by providing a kind of inheritance for the extending element. Attribute values and association instances are inherited from the "based-on" element to the extending element. The result is that the extending element has the same properties as the "based-on" element, but might define its own additions. Extends is not used to modify content of the base plug-in, but to provide the ability for the extending plug-in to define its own content which is a variant of content already defined. For example, a special version of a generic Review Record for a specific type of review. The effect of this is that the base element and any number of extending elements can be used side by side, but refer to each other through the extends relationship. Extends also provides the key mechanism for binding capability patterns to processes: A pattern is applied by defining an extends relationship from an activity of the applying processes to the capability pattern. The activity inherits association instances from the pattern and the pattern appears to be part of the resulting process after interpretation.
Use the Content Variability section on the Description tab to make an element extend another element. Select Extends as the Variability Type, and then select the base element which this element extends. The base element must be the same type of element as the extending element.
Any information you enter in the extending element is added to the base element in creating an additional element. Text fields in the extending element are added at the end of the respective text fields in the base element.
Extends only defines inheritance for the extending element. The base remains untouched. If the extending element is allowed an association to only one other element and has such an element defined itself, inheritance will not override this association.
Extends rules:
See Variability Associations for more information on the associations for each element type.
Related concepts
Variability
Replaces
Contributes
XII.
Replaces
A replacing element replaces parts of the base element. Replaces provides a way for an element to replace a base element without directly changing any of the base element's existing properties. This is, in most cases, used for method plug-ins that aim to replace specific content elements such as roles, tasks, or activities with either a completely new variant or to change the fundamental relationships of these elements. The effect of this, is that the base content element is logically replaced with the new replacing element to which all incoming associations still point as before, but which has potentially new attribute values and outgoing association properties.
Use the Content Variability section on the Description tab to make an element replace another element. Select Replaces as the variability type and select the base element that this element will replace. The base element must be the same type of element as the replacing element.
When you replace an element, all the description attributes are replaced by the replacing element. If a description attribute in the replacing element is blank, but the base element has content, the attribute will be blank in the resulting element.
Replace always replaces attributes and associations of the base element with the replacing element's attributes and associations, except for incoming associations, which are only added to the base, but do not replace the base's incoming associations.
Replaces rules:
See Variability Associations for more information on the associations for each element type.
Related concepts
Variability
Extends
Contributes
XIII.
Variability Associations
The following table lists the incoming and outgoing associations for each element type for which variability can be used. Associations also have a cardinality of to-many or to-one.
Element Type |
Associated
Element Type |
Association |
Work Product |
contained artifacts |
out-many |
deliverable parts |
out-many |
|
guidance |
out-many |
|
container artifact |
in-one |
|
deliverable |
in-one |
|
responsible role |
in-one |
|
input and output to tasks |
in-many |
|
categories |
in-many |
|
Role |
responsible for work product |
out-many |
guidance |
out-many |
|
performer in task |
in-many |
|
categories |
in-many |
|
Task |
primary performer role |
out-one |
additional performer roles |
out-many |
|
input and output work products |
out-many |
|
guidance |
out-many |
|
steps |
out-many |
|
categories |
in-many |
|
discipline |
in-one |
|
Categories |
||
Custom Category |
categorized elements |
out-many |
other custom categories |
in-many |
|
Discipline |
categorized tasks |
out-many |
referenced workflow activity |
out-one |
|
discipline grouping |
in-one |
|
custom categories |
in-many |
|
Discipline Grouping |
categorized disciplines |
out-many |
custom categories |
in-many |
|
Domain |
categorized work products |
out-many |
sub-domains |
out-many |
|
super-domains |
in-one |
|
custom categories |
in-many |
|
Work Product Type |
categorized work products |
out-many |
custom categories |
in-many |
|
Role Set |
categorized roles |
out-many |
role set grouping |
in-one |
|
custom categories |
in-many |
|
Role Set Grouping |
categorized role sets |
out-many |
custom categories |
in-many |
|
Guidance |
||
Practice |
content element |
out-many |
Other Guidance Types |
sections via content descriptions |
out-many |
Parent topic: Variability
Related concepts
Variability
XIV.
Browse and Preview Method Content
You can browse method content in both the Authoring Perspective and Browsing Perspective. While authoring method content, you can see a preview of the published page for the content you are editing by selecting the Preview tab at the bottom of the content editor. Click any link in the displayed page to go to that page. Use the buttons in the editor toolbar to perform familiar browser actions such as back or refresh. While browsing method content in the browsing perspective you can see a preview of any method and process content in a method configuration as it appears in a published Web site.
To browse and preview Method Content in the Authoring Perspective:
Note: The preview page in the content editor does not resolve content variability relationships. If you are extending, contributing to, or replacing a base content item, you can only see the result of this in the Configuration View in the Browsing Perspective. For more information see Variability.
To browse and preview Method Content
in the Browsing Perspective:
Parent topic: Tool Interface
Previous topic: Library View
Next topic: Search for Method Content
Related concepts
Tool Interface