Application Lifecycle Management (ALM) is a broad Rational solution category. ALM is also a market category, with vendors providing solutions competing for market share in this space. Industry analysts and tool vendors define it differently. Wikipedia uses the ALM definition from an SD Times article by Jennifer Dedong:
“..a continuous process of managing the life of an application through governance, development and maintenance. ALM is the marriage of business management to software engineering made possible by tools that facilitate and integrate requirements management, architecture, coding, testing, tracking, and release management”
Forrester analyst Carey Schwaber, in “The Changing Face of Application Lifecycle Management” (Forrester Research, August 18, 2006), states, “ALM is the thread that ties the development lifecycle together.”
While the definitions vary, you can see that creation and management of any asset used in the development of software is important to ALM.
IBM Rational has a broad set of tools supporting the development of software that includes the core capabilities of change management, project management, requirements definition and management, design management, construction & software configuration management, deployment management (software delivery automation) and quality management.
By assembling a solution that covers these core capabilities, software development teams can focus on solving complex business problems.
For a 5-minute introduction to ALM, watch this video on Jazz.net. For a short introduction to Open Services for Lifecycle Collaboration (OSLC), watch this video on open-services.net.
The lead ALM solution from IBM Rational software is the Rational solution for Collaborative Lifecycle Management (CLM), which consists of Rational Requirements Composer, Rational Team Concert, Rational Quality Manager and Rational Software Architect with Design Management
The Jazz platform is strategic for implementing the Rational solution for CLM. The Jazz platform is all about collaboration; it allows individual products to integrate better and more easily, and allows the users of those products who take on distinct roles to work more effectively together than has historically been possible. The Jazz platform supports a more collaborative approach to ALM tools and their users.
That approach is open. It leverages the standards used by the Internet. Just as the internet works with data spread around the world, the approach is to allow development team data to be spread around an organization, and yet be as easily accessible as surfing the world-wide-web. Through the support for OSLC, integrations can be provided for both Jazz-based and classic products. Additionally, third party vendors and customers can consume or provide their own OSLC interfaces to support heterogeneous environments made up of Rational, third party, and/or customer solutions. The combination of Jazz and OSLC provides the ability to have unprecedented collaboration, transparency, automation, and traceability.
Effective ALM can help address current business requirements, enhance productivity with automation, and accelerate decision-making. The key word here is “effective.” ALM is not a one-size-fits-all type of solution; instead, to be effective, you should implement ALM in a way that best suits your development environment and your company’s culture. IBM Rational software professionals have defined Five ALM Imperatives that can help ensure an effective ALM implementation. These imperatives have been developed after more than 20 years of implementing ALM, have been used time and time again, and can be applied to just about any implementation:
In summary, "CLM" expresses the proper scope and differentiated value of our solution. This approach leverages the value that Jazz brings across both IT and systems delivery, delivered via five ALM imperatives.
The Rational solution for CLM , which is covered by this architecture document, is comprised of the following applications running on a common Jazz Team Server: Requirements Management (RM), Change and Configuration Management (CCM), Quality Management (QM), and Design Management (DM). These applications are used by a set of products, including the Rational solution for CLM. These products are:
In addition to these applications, the Rational solution for CLM provides two types of reporting capabilities:
In addition to these applications, the Rational solution for CLM includes a set of process and practices and supporting tool extensions, all packaged in a Rational Method Composer (RMC) configuration. The CLM processes and practices include everything the you need to run the solution. They describe the context and usage model for the products that support the solution -- step-by-step guidance on how to apply the solution, including product guidance in tool mentors. The practices are self-documenting and include Jazz process templates (including Rational Team Concert process and work item templates) for enacting the solution. A published version of the configuration for IBM internal consumption and inline comments can be found here. Customers that have purchased the necessary Rational Method Composer reader licenses can download the configuration from the IBM Rational Solution Process Assets page.
Rational Team Concert, Rational Quality Manager and Rational Requirements Composer share a common installer that deploys the shared Jazz Team Server plus the Change and Configuration Management, Quality Management, and Requirements Management applications. The trial licenses that are installed in the Jazz Team Server provide access to the capabilities of these products. This means that you can install any of these products to enable the full set of collaborative lifecycle management capabilities provided by all the products. To learn more about applications, capabilities and product license keys, read the Building products from applications blog post. Though it currently requires a separate installer, Rational Software Architect with Design Management, part of the Rational solution for CLM, can be installed into the shared Jazz Team Server to provide design management capabilities.
Any of the CLM products can be used individually or combined as an organization's first step towards fully leveraging the power of Collaborative Lifecycle Management. With each tool adopted, the organization will see continual improvements in quality and efficiency.
The CLM product components are built on top of Jazz Team Server, which provides the foundational services that enable a group of tools to work together as a single logical server. The figure below shows a typical departmental installation topology using the current product versions. Each application shares an associated version of Jazz Team Server. The deployment can leverage a single database server to host the individual database instances. This helps to reduce administrative costs including simplifying backup procedures, although is not required. The diagram below shows the various product components or applications. These applications represent capabilities and do not map 1:1 to the products. For example, Rational Quality Manager contains capabilities that are found in each of the applications (CCM, RM, QM, DM and JTS) shown below. A Rational Quality Manager Quality Professional license has access to defining textual requirements in the RM application, work items and plans in the CCM application, and all capacities in the QM application and Jazz Team Server.
Although the Rational solution for CLM supports a very wide variety of deployment topologies and supporting operating systems and software, start from a selected set of the most tested and understood combinations. These standard topologies can be found in the Deployment planning and design section of this wiki.
The Jazz initiative aims to improve software & system lifecycle integration. This initiative consists of three elements:
The Jazz project includes the following:
The Jazz Architecture is an open architecture for lifecycle tool integration that supports a range of integration patterns, embracing linked lifecycle data (OSLC) for sharing lifecycle resources, and defines Jazz Integration Services for common capabilities like administration, reporting, dashboards, etc.
The value of Jazz Integration Services:
The Jazz Integration Architecture implements OSLC specifications for integration:
For CLM, there are four important domains that must be integrated, and four important OSLC specifications that define how: Change Management, Design Management, Requirements Management, and Quality Management. This classification of key concepts of ALM simplifies the integration points, not only between the CLM components, but also for third-party, open source, or in-house tools. Any product can act as a provider, a consumer, or both, of linked lifecycle data, and integrate with any other tool that does the same. This open and flexible approach is how the integration of each customer’s unique set of software lifecycle tools is made a practical reality.
The products covered in this architecture brief implement OSLC specifications; as such, they are either a provider or a consumer of linked lifecycle data. The key specifications are: change management, requirements management, and quality management.
Source: http://open-services.net/software
Open Services for Lifecycle Collaboration provides open, public descriptions of resources and formats for sharing artifacts across the software lifecycle. The term artifact is commonly used to describe the content the users interact with. In the programmable web, this is called a resource. The strategy treats all development artifacts as resources at the end of the URI, where both XML and JSON are supported formats. RESTful interfaces are used to GET, PUT, POST or DELETE data in each of the repositories. Each tool implements the OSLC specification for their domain (for example, change management, requirements management, quality management). In addition, tools that integrate the Jazz Foundation provide the additional benefit of a common UI framework, link-types describing cross-discipline relationships, rich hovers, queries, dashboards that host cross-repository widgets, and much more.
For example, when a requirements user chooses to link to, or create an artifact in Rational Team Concert, Rational Requirements Composer uses the Rational Team Concert change management RESTful interface to send the data defined by the public OSLC change management specification. Per the specification, Rational Requirements Composer delegates the user interface to Rational Team Concert, meaning, the details and semantics provided by Rational Team Concert are consumed by and displayed in a Rational Requirements Composer dialog. When the user clicks OK, Rational Requirements Composer sends a PUT request to the Rational Team Concert change management service. Links are created between both artifacts using link support provided by the Jazz Foundation. This same strategy is employed when a tester in Rational Quality Manager chooses to link to a work item in Rational Team Concert; Rational Quality Manager calls the change management service using the OSLC specification.
OSLC Delegation (source: OSLC Core Specification)
This provides a powerful and resilient integration which supports independent evolution of the products. The URL integrating the two tools can stay the same with each new upgrade, and changes can be made to the user interface (coming from the provider application) without compromising the consumer’s integration. The delegating UI is helpful to the end user but it is even more helpful to a developer. Without delegating the UI the product developers would have to have in-depth knowledge about how to create a particular artifact. For example, creating a defect would require knowing which of the attributes are required and this would require knowledge about the used process and so on. This would increase the coupling between the products and increased coupling has a negative impact on independent evolution. This demonstrates two important architectural decisions to delegate complex capabilities to the provider and provide a simple way to discover a resource. Delegating the UI results in a coarse grained coupling only, and it keeps the barrier of entry low for existing products.
The above diagram illustrates the associations between the core assets of the Rational solution for CLM. The intra-product relationships (the relationships that exist within a lifecycle application) are represented by a dashed line, and the inter-application relationships (the relationships that exist across applications) are represented by a solid line. Those in blue were added in the CLM 2011 release. A few examples of these relationships are listed here. However, the reader should study the diagram to understand all of the relationships that exist.
An example of an intra-application relationship in the Requirements Management application (RRC) is that of a Requirement to a Collection of requirements. A requirement may be of many types, such as, declarative, use-case, storyboard, UI sketch, etc. A collection is a logical grouping of these requirements. Therefore, an analyst may choose to “bundle” a collection of requirements that apply to a specific release, or possibly group requirements that affect a specific bug-fix, allowing the team to know exactly what is to be implemented.
Another example is the relationship between a Test Plan and Test Cases in the Quality Management application (RQM). Test Plans define the overall plan for a testing effort, and they generally include a number of Test Cases that perform the various tests against the application. Similarly, Test Cases are related to Test Executions, which in-turn generate (and hence are related to) Test Results.
Lastly, the Change and Configuration Management application (RTC) also has a number of intra-application relationships. For example, when doing iterative development it is important to have a high-level Plan for a release (such as Version 1.0) and several iteration Plans (Sprint 1, Sprint 2, etc.), that identify the work to be done in each iteration, and will be executed against the Release Plan, thus the Plan relationship to itself in the diagram.
The inter-application relationships shown by the solid lines illustrate the relationships between the applications. These relationships provide for the Collaborative Lifecycle Management integrations.
An example of this is the relationship between a Requirements Collection in RM and a Release Plan in CCM. The Requirements Collection defines the requirements to be implemented in the release, and the Release Plan indicates the work that needs to be done in order to implement the appropriate requirements. In this instance, the Requirements Collection is said to be “implemented by” the Release Plan, and the Release Plan “implements” the Requirements Collection.
Similarly, the Requirements Collection may be linked to a Test Plan in QM, which allows the quality team to ensure they are testing the appropriate requirements. In this instance, the Requirements Collection is said to be “validated by” the Test Plan and the Test Plan “validates” the Requirements Collection.
To complete the traceability, Release Plans in CCM may be linked to Test Plans in QM, such that RQM “tests” the work being performed per the Release Plan.
The Jazz Architecture has enabled a diverse ecosystem of third party tools to emerge based on the available interfaces. The Jazz Integrations Dashboard provides a list of all those IBM Business Partners and other vendors providing value added integrations to the Rational solution for CLM. Further, the internal, Jazz Integration Management Dashboard describes the work by the Gearbox team to develop additional integrations. Lastly, the IBM Rational Integration Engineering Team has developed a number of salable commercial assets (integrations, extensions, utilities, etc.) that are available to use with customers.
The strengths for the Rational solution for CLM are primarily addressed collectively by looking at the current state of the Jazz Team Server and the individual products use of Jazz:
Jazz enables the Rational solution for CLM to be open and complement an existing customers software stack, both Rational and non Rational offerings via OSLC. It should be noted that the products identified in the "IBM Product Alternatives" section can also be considered complementary if a customer already owns these products or requires them. All of these "Product Alternatives" include one or more integrations to the Rational solution for CLM. However, there are notable Rational products that directly complement the core Rational solution for CLM with minimal to no overlap as identified here. A customer-facing Extend your tools page has been created that details all the integrations to Jazz and the Rational solution for CLM. There include native IBM supported integrations planned to non-IBM based products including HP Quality Center, Atlassian Jira, and open source Git.
For an up to date list of all product integrations from IBM and IBM Business Partners, see the following jazz.net locations:
Status icon key: