Skip to main content

skip to main content

developerWorks  >  Rational  >

Method content authoring: Creating a customized work product with IBM Rational Method Composer

developerWorks
Document options

Document options requiring JavaScript are not displayed


New site feature

Check out our new article design and features. Tell us what you think.


Rate this page

Help us improve this content


Level: Introductory

Jean-Louis Maréchaux, IT Specialist, IBM

15 Nov 2006

from The Rational Edge: Learn how IBM Rational Method Composer supports method authoring and publishing. Through a simple case study, the author demonstrates how work product definitions can easily be customized in order to create a tailored process based on the IBM Rational Unified Process (RUP).

illlustrationThe IT industry learned a long time ago that creating products that merely satisfy customers is not a guarantee for long-term success. Successful IT solutions need to be robust and flexible, and above all, they must be aligned with business priorities. Since its creation in the 1990s,1 the Rational Unified Process®, or RUP®, has become the de facto standard for business-driven development. And because a methodology is only valuable when it is adapted to the organization that is using it, IBM Rational best practices embrace process tailoring as a key prInciple for successful iterative development.

To ensure lifecycle efficiency and increase project agility, a right-sized process can be created, documented, and published through the authoring tool known as IBM Rational Method Composer, the environment in which RUP is tailored for use.2

Author's note: This article assumes that you are familiar with RUP methodology and with some of its key concepts.

A case study: Adapting Yummy Inc. process

Yummy Inc. is a fictitious company offering online catering services. Their information system is crucial to ensure business continuity and efficiency. To mitigate risks throughout each project, the IT team has adopted the Rational Unified Process. Now they want to go a step further in the process adoption, so they plan to adapt some parts of the RUP content to their specific needs.

Liz, the IT manager, has decided to start with a proof of concept to evaluate the benefits of RUP tailoring. Based on her experience, she knows it is better to start with a small piece before moving to more advanced process fine-tuning. Richard, the process engineer, has been assigned to conduct the process tailoring activities. After a workshop, Liz and Richard draft out the content of the proof of concept. Their main objective is the tailoring of a work product: the RUP Software Architecture Document. Because they want to use a method authoring and configuration tool, they opt for IBM Rational Method Composer.

After a workshop, the team drafts the content for the proof of concept they want to conduct:

Name: Yummy process tailoring proof of concept
Code name: YPT (Yummy process tailoring)
Description (scope):

  • The proof of concept must customize the default content of RUP.
  • The tool used to adapt and publish the process is Rational Method Composer.
  • The scope of the proof of concept is to customize one work product, the Software Architecture Document. The customization will enrich the default RUP content, providing additional descriptions and a new work product template (Yummy template).

Concepts to demonstrate:

  • Rational Method Composer supports all process tailoring activities.
  • The tool can be used to adapt the default RUP process content to specific Yummy Inc. needs (additional information, additional template).
  • The tool is easy to manipulate. The creation of the adapted process does not require an important learning curve.
  • The tool allows basic customization, but is also a good fit for more advanced process tailoring.

Supporting process authoring with Rational Method Composer

Rational Method Composer is a flexible process platform containing processes and tools for use throughout IT lifecycle management. It helps to customize out-of-the-box process content or to create a new process from scratch. Detailed descriptions of RMC key concepts and core functionalities are available in existing developerWorks articles.3

Now that the project has been founded, Richard, the process engineer, must conduct the proof of concept. The first step is to create a method plug-in as shown in Figure 1. The method plug-in will gather all the additional and customized material created for the tailored RUP framework.

Figure 1: Method plug-in creation

Figure 1: Method plug-in creation

The plug-in is named "Yummy_Resources" (see Figure2). It references the RUP method plug-in because Richard wants to be able to define extensions and changes to the standard RUP content.

Figure 2 : Available reference plug-ins

Figure 2: Available reference plug-ins

Rational Method Composer then creates an empty method plug-in structure (shown in Figure 3) based on an internal template. The method plug-in contains two different packages: the method content package and the processes package.

Figure 3: Default plug-in structure

Figure 3: Default plug-in structure

Take a look at the Yummy_Resources shown in Figure 3. The "method content" package is a container for method content elements and it is broken down into smaller packages to help process engineers understand the content, including content packages, standard categories, and custom categories.

The "processes" package is a container for process elements. It contains capability patterns (reusable building blocks to assemble a full process) and delivery processes (processes that cover a whole development lifecycle from beginning to end).

Richard can see immediately that the RMC platform supports complex process tailoring. By using the different plug-in packages shown in Figure 3, engineers can customize any aspect of a process according to disciplines, the role sets, a specific reusable cluster of activities (capability pattern), or even a whole process (delivery process).

In Richard's case, based on the Yummy proof-of-concept objectives, it is clear that he will not have to create a full process. His tailoring work will only focus on the method content package.

Authoring a work product

In order to create the new work product content for the proof of concept, it is necessary to add a content package (see Figure 4). RMC creates a default structure for sorting the contents of each package (roles, tasks, work product, guidance), as shown in Figure 5.

Figure 4: Content package creation

Figure 4: Content package creation

Figure 5: Default content package structure

Figure 5: Default content package structure

Richard needs to create a new artifact: the Yummy Software Architecture Document, shown in Figure 6.

Figure 6: Artifact creation

Figure 6: Artifact creation

The team had decided that the Yummy process will provide additions to the existing RUP material, so Richard uses the content variability attribute to specify the additional material must be added to the base content, as shown in Figure 7.

Figure 7: Content variability: contribution

Figure 7: Content variability: contribution

Variability allows elements in one content package to influence or modify elements in another without actually directly modifying the original content. Variability enables changes to the content while keeping the changes separate and optional.

As a contributing artifact, the content of the Yummy software architecture document elements will be added to the base element called rup_software_architecture_document. The effect, after contribution, is that the base element is replaced with an element that combines the attributes and associations of the contributing element with the base element.

In order to achieve the proof-of-concept objectives, a Yummy template must be added to the newly created artifact. In RMC, a template is created in the guidance folder of a method content package, shown in Figure 8.

Figure 8: Template creation

Figure 8: Template creation

A template is a specific type of guidance that provides a work product with a predefined table of contents, sections, packages, and/or headings or a standardized format. A template in RMC can contain, along with other information, one more attachment, such as template files for different word processors, as shown in Figure 9.

Figure 9: Template editor

Figure 9: Template editor

Similar to the creation of a template, it is possible to create other guidance elements. Richard decides to create an example element that will contain a sample software architecture document, as shown in Figure 10.

Figure 10: Guidance elements

Figure 10: Guidance elements

Now that the guidance elements have been defined, they must be associated to the Yummy artifact as shown in Figure 11.

Figure 11:  Associating guidance with a work product with the editor

Figure 11: Associating guidance with a work product with the editor

The elements specified in the guidance tab will populate the illustrations section of the artifact. Then the published document will contain both the Yummy Inc. template and the Yummy Inc. example, which you can see reflected in Figure 18 at the end of this article.

In addition, it is also possible to add some customized text for each element of the artifact. For instance, in the purpose section, Richard decides to explain a bit further why a specific Yummy template has been created (see Figure 12). As the new artifacts contribute to the RUP software architecture document, any description will be added to the base element once the process is published.

Figure 12: Work product customization

Figure 12: Work product customization

Richard has completed the process authoring. Now he wants to show to Liz the result of his work with a published process.

Publishing the Yummy process

Before being able to publish a method, it is necessary to create a configuration. In a method configuration, it is possible to select and deselect from the content packages and processes available in the method library's set of method plug-ins, as shown in Figure 13. The selections help determine the content of the published Website.

Figure 13: Method configuration creation

Figure 13: Method configuration creation

The new configuration created contains the method plug-in he created previously (Yummy_Resources). But all the plug-ins of a classic RUP configuration are also included (RUP, formal resources, informal resources, SOA, and base concepts), as shown in Figure 14. Reusing the out-of-the-box plug-ins, Richard can efficiently assemble a complete process with minimum effort.

Figure 14: Choosing the content of a configuration

Figure 14: Choosing the content of a configuration

The last step is to publish the Yummy configuration. In RMC, there is a simple wizard for specifying the destination directory and other Website attributes, which is shown in Figure 15.

Figure 15: Publish a configuration

Figure 15: Publish a configuration

The published process can be browsed and contains all the material usually found within a classic RUP configuration, shown in Figure 16.

Figure 16: Published Yummy Inc. process

Figure 16: Published Yummy Inc. process
Click to enlarge

But because Richard has created some additional content, the software architecture document is now adapted to Yummy Inc. needs. It contains additional descriptions (purpose section) specific to the Yummy organization, new links to a corporate template, and a sample (see Figure 17).

figure 17

Figure 17: Published document -- custom content added to the purpose section
Click to enlarge

The new guidance elements (template and sample) are now part of the Yummy process, as shown in Figure 18.

figure 18

Figure 18: Published document -- template and guidance elements added to the illustrations section
Click to enlarge

They can be displayed or downloaded by any process user through the published Website.

The customized artifact also contains all the standard RUP content (description, templates, and samples).

Conclusion

Now that the Yummy process tailoring proof of concept has been completed, Liz, the IT manager, wants to conduct an assessment of the method authoring tool they used. She calls Richard into a meeting room and they start writing down what they learned during the proof-of-concept exercise. For example:

  • Rational Method Composer has supported the tailoring process efficiently. It was useful for customization, authoring, and even publishing activities.
  • Rational Method Composer has provided guidance and structured packages to easily create and organize custom content (the Yummy artifact, the template, and the sample).
  • Using Rational Method Composer, the proof of concept objectives were achieved through five easy steps (create a plug-in, create a content package, create an artifact, create guidance elements, associate the artifact with guidance elements).
  • The process publication was even easier (create a configuration, pick and choose the content, publish the configuration).
  • Rational Method Composer was easy and intuitive. Richard was able to customize an existing process without any technical skills, like having to know Unified Modeling Language (UML) before he could begin.
  • Rational Method Composer can leverage reusable assets. It contains several out-of-the-box plug-ins, and new plug-ins can be imported to bring additional values. A complete list of available plug-ins can be found at http://www-128.ibm.com/developerworks/rational/library/05/1206_ibmstaff/
  • Rational Method Composer plug-ins can be exported to Microsoft Project or Rational Portfolio Manager, so RMC bridges the gap between process and project management.
  • A rich set of customization options allow different levels of process authoring, from the most basic (a configuration, a role, a work product) to the most advanced (new capability patterns, modified tasks, brand new delivery processes, etc.). It can obviously support the most experienced organization in their process tailoring.

At the end of the meeting, they all agree that Yummy Inc. must adopt Rational Method Composer as their method authoring, configuration, and publishing tool.

Acknowledgments

Many thanks to Peter Haumer, solution architect for the IBM Rational Method Composer product platform, who kindly agreed to share his experience and to review this article.

Notes

1 A brief introduction to RUP is available at http://en.wikipedia.org/wiki/Rational_Unified_Process#History. The official RUP Website is http://www-306.ibm.com/software/awdtools/rup/

2 Information regarding Rational Method Composer can be found at http://www-306.ibm.com/software/awdtools/rmc/index.html

3 See the following three articles published in The Rational Edge: Per Kroll, "Introducing IBM Rational Method Composer," at http://www-128.ibm.com/developerworks/rational/library/nov05/kroll/index.html; Peter Haumer, "IBM Rational Method Composer: Part 1: Key concepts," at http://www-128.ibm.com/developerworks/rational/library/dec05/haumer/index.html, and "IBM Rational Method Composer: Part 2: Authoring method content and processes," at http://www-128.ibm.com/developerworks/rational/library/jan06/haumer/index.html



About the author

Jean-Louis Marechaux photo

Jean-Louis Maréchaux works as an IT specialist for IBM Rational in Canada. His areas of interest include J2EE architecture, Web services technologies, SOA, and software process implementation. Prior to joining the Rational group, he worked as an IT architect for the IBM Global Services group and other IT organizations, where he was involved in application architecture and design. You can contact him at jlmarech@ca.ibm.com.




Rate this page


Please take a moment to complete this form to help us better serve you.



 


 


Not
useful
Extremely
useful
 


Share this....

digg Digg this story del.icio.us del.icio.us Slashdot Slashdot it!



Back to top