Overview

About IBM Rational Method Composer

Welcome to Rational Method Composer (RMC). RMC is a tool platform that enables process engineers and managers to implement, deploy, and maintain processes for organizations or individual projects. Typically, two key problems need to be addressed to successfully deploy new processes.

First, development teams need to be educated on the methods applicable to the roles that they are responsible for. Software developers typically need to learn how to do analysis and design, testers need to learn how to test implementations against requirements, managers need to learn how to manage the project scope and change, and so on. Some organizations assume that developers implicitly know how to do such work without documenting their methods, but many organizations want to establish common and regulated practices, to drive specific improvement objectives, and to meet compliance standards.

Second, development teams need to understand how to apply these methods throughout a development lifecycle. That is, they need to define or select a development process. For example, requirements management methods have to be applied differently in early phases of a project where the focus is on elicitation of stakeholder needs and requirements and scoping a vision, than in later phases where the focus is on managing requirements updates and changes and performing impact analysis of these requirements changes. Teams also need clear understanding of how the different tasks of the methods relate to each other, for example, how the change management method impacts the requirements management method as well as regression testing method throughout the lifecycle. Even self-organizing teams need to define a process that gives at minimum some guidance on how the development will be scoped throughout the lifecycle, when milestones will be achieved and verified, and so on.

To that end, RMC has two main purposes:

Rational Method Composer Key Concepts

Key Terminology and Concepts

To effectively work with Method Composer, you need to understand a few concepts that are used to organize the content. The pages Method Content Authoring Overview and Process Authoring Overview contain more detail and concrete examples of how to work in the tool. This page provides you with a general overview of these concepts.

The most fundamental principle in RMC is the separation of reusable core method content from its application in processes. This directly relates back to the two purposes of RMC described in the first section. Almost all of RMC's concepts are categorized along this separation. Method content describes what is to be produced, the necessary skills required and the step-by-step explanations describing how specific development goals are achieved. These method content descriptions are independent of a development lifecycle. Processes describe the development lifecycle. Processes take the method content elements and relate them into semi-ordered sequences that are customized to specific types of projects.

diagram described in accompanying text

The figure above shows how this separation is depicted in Rational Unified Process. Method content, describing how development work is being performed, is categorized by disciplines along the y-axis of the diagram. The work described in a process is seen along the x-axis representing the timeline. This is the lifecycle of a development project. It expresses when what work will be performed. The graph in the illustration represents an estimated workload for each discipline. As you see, for example, one never stops working on requirements in RUP, but there are certainly peak times in which most of the requirements elicitation and description work is performed. There are also times at which a downward trend needs to be observed where fewer and fewer requirements changes have to be processed to bring the project to a close. This avoids what is referred to as feature creep in which requirements work remains constant or even increases. Hence, a lifecycle (process) expresses the variances of work performed in the various disciplines (method content).

diagram described in accompanying text

The picture above provides a summary of the key elements used in RMC and how they relate to method content or process. As you see, method content is primarily expressed using work products, roles, tasks, and guidance. Guidance, such as checklists, examples, or roadmaps, can also be defined to provide exemplary walkthroughs of a process. On the right-hand side of the diagram, you see the elements used to represent processes in RMC. The main element is the activity that can be nested to define breakdown structures as well as related to each other to define a flow of work. Activities also contain descriptors that reference method content. Activities are used to define processes of which RMC support two main kinds: delivery processes and capability patterns. Delivery processes represent a complete and integrated process template for performing one specific type of project. They describe a complete end-to-end project lifecycle and are used as a reference for running projects with similar characteristics. Capability patterns are processes that express and communicate process knowledge for a key area of interest such as a discipline or a best practice. They are also used as building blocks to assemble delivery processes or larger capability patterns. This ensures optimal reuse and application of their key best practices in process authoring activities in RMC.

Related concepts

Method Content Authoring Overview

Process Authoring Overview

 

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.

image described in accompanying text

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

 

 

I.                                                   Process Authoring Overview

A development process defines sequences of tasks performed by roles and work products produced over time.

image described in accompanying text

Processes are typically expressed as workflows or breakdown structures. Defining a strict sequence as in a waterfall model is as much a process as defining semi-ordered sequences in iterations of parallel work. They just represent different development approaches. Hence, for defining a process, one can take method content and combine it into structures that specify how the work shall be organized over time, to meet the needs of a particular type of development project (such as software for a online system versus software and hardware for an embedded system). RMC supports processes based on different development approaches across many different lifecycle models, including waterfall, incremental, and iterative lifecycles. RMC also supports different presentations for process, such as work-breakdown structure or workflow presentations. You can also define processes in RMC that use a minimal set of method content to define processes for agile, self-organizing teams.

The RMC screen capture above shows an example of a process presented as a breakdown structure of nested activities as well as a workflow or activity diagram for one particular activity, the inception phase. It also indicates with the two blue arrows that the particular method content task "Detail a Use Case" has been applied in the process twice; firstly in the inception phase under the activity "Define the System," and secondly, in the elaboration phase in the activity "Refine the system definition". You see below each of these task applications, referred to as a task descriptors in RMC, lists of the performing roles as well as the input and output work products. If you look closely, you see that these lists are different for each of these two task descriptors, expressing differences in performing the "Detail a Use Case" method throughout the lifecycle. You see different roles involved and changes in the list of inputs to be considered and outputs to be produced or updated. These changes were defined by the author that created this process to express the exact focus of the task performance for each occurrence. In addition to updating the roles, input and output work products for a task descriptor, you can also provide additional textual descriptions as well as define the exact steps of the task that should and should not be performed for this particular occurrence of the task.

RMC provides you with a process editor that supports different breakdown structure views as well as graphical process presentations. As a process author, you typically start by creating an activity breakdown, dividing and breaking your process down into phases, iterations, and high-level activities. Instead of creating your activities in the breakdown structure editor, you can alternatively work in a graphical activity diagram editor that allows you to graphically create a workflow for your activities. To assign method content to your process, you then have the choice of working in different process views (work breakdown structure, work product usage, or team allocation view). Each view supports a different approach for creating a process. You can define the work to be done, define the results to be produced, or define responsibilities for your roles. If requested, the editor updates the other process views semi-automatically using wizards that prompt you for decisions on selecting method content elements.

Related concepts

Process

Related tasks

Create a Reusable Capability Pattern

Create a Delivery Process

 

 

II.                                                   Method Configurations Overview

Rational Method composer ships with a lot of content out of the box. It includes the Rational Unified Process (RUP) framework and various plug-ins extending RUP with domain-specific additions such as development for concrete technologies such as J2EE or different development circumstances such as adopting a commercial of the shelves system (COTS). No organization or project requires all of this documentation all at once, but would work with a selection of specific subsets.

Rational Method Composer (RMC) manages for that purpose so-called method configurations, which allow you to specify working sets of content and processes for a specific context, such as a specific variant of the RUP framework that you want to publish and deploy for a given software project or as a foundation for a development organization. All content and processes in RMC are organized in method plug-ins, which are organized into method packages. A method configuration is simply a selection of the method plug-ins and packages.

image is described in accompanying text

You create and specify a configuration using the configuration editor depicted in the figure above. You could start creating your own method configuration by copying one of the configurations that ship with RMC and modify it to fit your specific needs. You can add or remove whole method plug-ins as well as make selection with each plug-in by checking or un-checking packages.

You can use the resulting configuration as your working set for your RMC work. The actual content of the configuration, i.e. the included method content and process elements are always accessible in the Configuration view. Use the combo box in the toolbar to select the currently used method configuration.

III.                                               Publishing Overview

Method configurations are the basis for publishing method content and processes. A published configuration is an html Web site that presents all the method content and processes of the method configuration in a navigable and searchable way. It uses the relationships established during method content and process authoring to generate hyperlinks between elements as well as provides tree browsers based on the configuration view and user-defined categorizations of the content. The figure below shows an example of the published 'Classic RUP' method configuration.

image is described in accompanying text

For publishing simply create and select a configuration. The publication wizard will do the rest for you and only publish content that is part of the method configuration. It will also automatically adopt content to the configuration such as removing references of method content elements to elements outside of the configuration or removing activities from your processes that only contain work defined outside of the configuration set. Hence, publishing will only include the content that you really need. You can always preview a published configuration using RMC's browsing perspective.

IV.                                       User Roles and Role Specific Tasks

There are four primary roles played by the users of this tool:

Method Author - The Method Author uses the tool on a regular basis to provide standard processes for use in an organization. The Method Author uses the full functionality of the tool to:

Process Author - The Process Author's goal is to produce a delivery process for their project(s) by reusing method elements. The Process Author uses the tool occasionally, as project needs dictate, typically supporting one or, more likely, several projects by specifying the processes to be followed. The Process Author uses the process authoring and configuration publishing functionality of this tool to:

Process Configurator - The Process Configurator's goal is to produce a delivery process for their project(s) by rapidly leveraging ready-made plug-ins. The Process Configurator uses this tool occasional, as project needs dictate, typically supporting one or several projects by specifying the process for the projects. The Process Configurator uses the configuration publishing functionality in this tool to:

Practitioner - A Practitioner's goal is to correctly use the organization's processes and best practices effectively. A Practitioner uses a published configuration on a regular basis driven by the work being performed to view processes and methods.

V.                                             Technical Support

If you require help with this product, or want to report a defect or submit an enhancement request, please go to the Rational Support Web site at:

http://www-128.ibm.com/developerworks/rational/support/