Document and automate processes with Rational Method Composer and Jazz: Part 1. The value of methods in an agile world

This series of articles discusses recent innovations in documenting and enacting software development processes. The focus is on integrating Rational Method Composer with Jazz-based tools. This first article in the series discusses the importance of documenting methods for enabling and scaling agile development. This article also summarizes the value proposition of an integrated approach - documenting methods with Rational Method Composer, and automating the enactment of those methods using Jazz. Follow-on articles cover various scenarios for documenting and enacting methods.

Bruce MacIsaac (bmacisaa@us.ibm.com), Manager RMC Method Content, IBM

author photoBruce MacIsaac is responsible for the method libraries included with Rational Method Composer, including the IBM Practices Library and the Rational Unified Process (RUP). He has over 20 years of software development and process development experience. Bruce has been a driving force behind the Rational Unified Process and the Eclipse Process Framework for the last 10 years. He co-authored the book Agility and Discipline Made Easy: Practices from OpenUP and RUP. His current focus is providing complete solutions for such areas as agile development, systems engineering, and enterprise modernization, and enabling such practices to be automated on the Jazz platform.



17 July 2012

Also available in Chinese Russian Vietnamese Portuguese

Introduction

A method is the way a team works to accomplish its goals. It describes how responsibilities are identified and assigned, what techniques are applied, and how success criteria are identified and achieved.

At one time, methods were static documents sitting in dusty binders -- mandated, yet poorly understood and applied. Teams applied the minimum to stay under the radar of the process police. Fast forward a few years, and the agile revolution has overthrown the process police. Freedom reigns. It's all about peace, love, and collaboration, man!

But agility does not mean anarchy. To apply agile methods properly requires discipline. There are principles, such as those found in the Agile Manifesto. There are many alternative techniques to choose from, such as backlog grooming, planning poker, and test-first development. And for many organizations, agile methods aren't enough. As organizational and technical complexity increases, additional scaling factors need to be considered, and processes need to be scaled to match.

As methods become more complex, documentation becomes increasingly important, and automating methods becomes more valuable. This article examines the value of documenting and automating methods by using IBM® Rational® Method Composer and Jazz™ technology-based enactment tools.


Why methods are important

Every person and team follows some method. Some are ad hoc, invented as the need arises, while others are formal, rigid, and enforced. Some methods are documented with specific roles, work products, tasks, templates, checklists, and guidelines. Others are undocumented, so developers rely on a shared understanding among team members and knowledge of who to go to for more information. Most organizations are somewhere between the extremes for two reasons:

  • Rigid methods prevent making changes as needs arise, but ad hoc methods result in chaos
  • Heavily documented methods can be difficult to create and maintain, while undocumented methods limit the communication and sharing of best practices.

Methods are important because they determine how well teams work together. Methods determine whether techniques applied on a project are effective, and they can even define the criteria for what we mean by success. The question is not whether to have a method, but rather how to ensure your method is effective.


Reasons to document a method

Ad hoc, undocumented methods are appealing, because they require no investment and are infinitely agile, because you invent them as you go along. However, this becomes difficult to scale. These are some of the scaling factors included with Rational Method Composer, taken from the Disciplined Agile Delivery process (also see the citations in Resources):

Team size
Mainstream agile processes work well for small teams (10-15), but what if the team is 50 people? One hundred people? One thousand people?
 
Compliance requirements
What if regulatory issues are applicable, such as Sarbanes Oxley, ISO 9000, or FDA CFR 21?
 
Geographical distribution
What if the team is distributed in a building, or around the world?
 
Domain complexity
What if the problem domain is intricate (such as biochemical process monitoring or air traffic control), or it is changing quickly (such as financial derivatives trading or electronic security assurance)?
 
Organization distribution
Sometimes a project team includes members from different divisions, different partner companies, or from external agencies.
 
Technical complexity
Working with legacy systems, multiple platforms, or blending disparate technologies can add technical complexity.
 
Organizational complexity
Organizational structure and culture can reflect traditional values, thus increasing the complexity of adopting and scaling agile strategies. Different subgroups within the organization can have different visions of how they should work.
 
Enterprise discipline
Organizations want to leverage common infrastructure platforms to lower cost, reduce time to market, and to improve consistency. They need effective enterprise architecture, enterprise business modeling, strategic reuse, and portfolio management disciplines. These disciplines must work in concert with -- better yet, enhance -- the software development processes.
 
Figure 1. Disciplined agile delivery scaling factors
Diagram of scaling factors and low to high ranges

As project and organizational complexity increases, it becomes increasingly important to document those methods. Documented methods enable an organization to:

  • Define clear responsibilities and critical sequences of events
    As teams become highly distributed, it becomes important to have information available at all times and from all places in some documented form. There isn't time to wait for an explanation, and we can't afford to be confused about what needs to be done, by whom, and when.
  • Capture and promote the organization's best practices
    To stay competitive, organizations must use industry-standard best practices and learn from their mistakes and their successes.
  • Baseline and measure the effect of changes
    If you do not establish a baseline method, what do you improve? Documentation helps you implement the agile principle of continuous improvement based on retrospectives.
  • Address compliance and audits
    CMMi, DO-178B, ITIL, COBIT, SOX, for example. Compliance can be a challenge. Documenting the method is typically necessary to achieve compliance and as evidence to demonstrate compliance.
  • Quickly start projects with a method that fits project characteristics

Increasingly, the question is not whether to have a documented method, but rather what to document and how.


Benefits of using a method authoring tool

The most common method authoring tools are word processors and wikis. They offer some significant advantages, because little or no training is required, and there are few constraints on how information is organized and presented.

The disadvantage is that such unstructured information is like a book. The only way to use it is to read it. A method authoring tool provides a methods database. A database offers these advantages:

configurability and customization
You can create or adapt methods from the pieces and parts of other methods. You can scale methods to fit both small and large projects. Customization can be collaborative, where team members comment on the method and collectively make changes and additions.
 
process builder wizards
You can create wizards that ask questions and adapt the method based on your answers.
 
consistency and completeness
A process-aware method authoring tool ensures that information is consistent and complete. Form-fill interfaces make it easy to provide the correct information. Information (such as cross-references between related elements) can be generated, thus ensuring consistency.
 
automation
Method information can be used to configure tools to automate the process. Automations include generation of initial project plans or work item lists, at-your-fingertips context-specific process guidance, automatic tool configuration. Much more is possible in the future.
 
queries, mashups, and reports
Method databases can support RSS feeds and other mashup technologies to increase the accessibility and value of method information. Queries and reports can be used to view method information in different ways, including in tables, in summary form, as cards, or in portlets. You can hook into different information sources, such as online help, communities, and tool databases.
 

The question is no longer "Should we use a method authoring tool," but rather "How should we structure our method information so that we can optimize our use of the method?"


Value of Rational Method Composer

Rational Method Composer includes these features and capabilities:

  • A huge library of practices, including a rich set of agile practices integrated with practical business and technical controls
  • Tool integration features, such as:
    • Auto-configuration of tools to match the documented process
    • Creation of plans and work item templates from process definitions
    • "At your fingertips" process guidance as you do your work
  • Combined process and tool solutions for different types of development in different industries, such as:
    • Collaborative Lifecycle Management for IT agility@scale™ (see Resources)
    • Systems and software engineering
    • Automotive
    • Aerospace
  • Customizability features:
    • Skins (optional displays) to customize how information is presented
    • Option to define your own method element types, rules, and relationships
    • Simple tailoring of existing methods for a project or organization
  • A host of features for rich text editing, diagrams, breakdown structures, adaptation, reporting, and queries
  • Guidance and metrics for measuring project performance and making improvements
  • Supporting assets, such as "self-check" and "measured improvement" for improving the performance of teams and organizations

As Figure 2 illustrates, Rational Method Composer is composed of a tool for documenting processes and a library of reusable practices. Documented processes are enacted with development tools. A measured improvement approach enables you to improve the process.

Figure 2. Document, enact, measure, and improve
diagrams of components and workflow

Conclusions

Methods are important to your organization because they define how your organization operates. Document those methods to communicate and improve those operations.

With Rational Method Composer, you can create consistent, customizable methods, thereby taking advantage of a rich library of agile and scaled agile practices. Rational Method Composer integrations with Jazz-based tools enable teams to work more efficiently and effectively. Supporting assets, such as self-check, measured improvement, and industry-specific solutions, can help you effectively roll out organizational improvements that deliver real business value.

Subsequent articles in this series explore scenarios for documenting and automating processes, using the features introduced here.

Resources

Learn

Get products and technologies

Discuss

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into Rational software on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Rational,
ArticleID=825882
ArticleTitle=Document and automate processes with Rational Method Composer and Jazz: Part 1. The value of methods in an agile world
publish-date=07172012