System Lifecycle Management
Jazz Festival Roadshow
Are you a part of global development with distributed development teams across geographic regions and time zones? Or are you part of a small local team with members across departments, workflows, and objectives? Regardless of your organizational type, we can help you achieve your objectives as individuals and as a team. The Jazz technology is designed to meet your needs and ensure your project’s success.
JazzFestival_WhatIsJazz
Download session material
Collaborative Application Lifecycle Management
Application Lifecycle Management is an integral part of the Ericsson development process. IBM Rational tools form a key component in the Ericsson ALM development process and toolchain. Rational is using a scenario-based approach, the Greenthreads, to drive our Solution Strategy and to identify, document, and test our end-to-end workflows and cross-product integrations. Green Threads is an approach to solution management and validation that; ‘Captures workflows across a set of products to solve a complex customer problem’ and move our organization beyond point product thinking.
This presentation will team discuss the benefits of Collaborative ALM. Examples will be taken from the new Rational ALM Redbook covering continuous integration between stakeholders, integration between distributed team roles and team functions, and integration between development teams and the enterprise software delivery chain using an agile at scale approach.
ERUC08-CALM
Download session material
CQALM and Jazz Interoperability
This year Bob Myers and I present our experiences regarding scenarios and practices for an integrated Application Lifecycle Management solution using the ClearQuest ALM schema and the Jazz products Rational Team Concert and Rational Quality Manager. We also present experiences from developing and deploying such solutions to Rational internal Development Operations.
More details on the CQALM schema have been published at IBM DeveloperWorks in Application lifecycle management with Rational ClearQuest: Part 1, Part 2, and Part 3.
CRMA45
Download session material
Improving Enterprise Change Management
This session will present the new C/ALM integrations for Enterprise Change Management between Rational ClearQuest, Rational Team Concert, and Rational Quality Manager delivered in 2009. Scenarios from the CALM@Scale greenthread will be used to exemplify the improvements in cross-team collaboration, transparency, and openness. The session will also discuss deployments of the ClearQuest Bridge Connector, OSLC server communications, and role-based usage examples of the ClearQuest Dashboard viewlets.
ERUC09-EnterpriseCM_and_CALM
Download session material
SSE Solution Validation and Design Playback
Design studio-like group sessions to validate SSE solu4on scenarios, key personas, and UX storyboards. We will deep dive into the areas of 2014 design exploration of SSE lifecycle scenarios developed by the Ra4onal Design Factory. Product line engineering. Requirements lifecycle change. And Impact analysis.
Innovate2013-2650_SSE_Solution_validation_and_design_playback
Download session material
Designing Systems Practitioner Productivity Improvements
This session starts by listing the roles presumed involved in the SSE solution. Key scenarios for practitioner productivity are discussed. Design improvements are presented and reviewed with the attendees. Areas of additional practitioner productivity discussed.
Innovate2013_BOF-2597_Designing-Practitioner-Productivity
Download session material
Collaborative Application Lifecycle Management with IBM Rational Products
In this IBM® Redbooks® publication, we provide a blueprint for Collaborative Application Lifecycle Management (CALM) and show how the new IBM Rational® products support this evolving market. Driven by the business demands of global software delivery, many large organizations are seeking guidance in how to incorporate agile methods.
In this book, we provide a reference scenario and tool architectures for deploying the new IBM Rational products into an existing enterprise environment. We also provide a set of blueprints that define each of the key disciplines in the development life cycle to help you understand the domain and how the Rational products support the need of that discipline. Our primary focus is to highlight the value of CALM by providing a user view of the solution that is used to support a distributed enterprise development team that incorporates aspects of the “Agility-at-Scale” approach.
While most Redbooks publications provide details about a single product, this book provides a “green-thread” reference scenario that details one end-to-end path through an iteration of a software development project. The scenario demonstrates a reference architecture for an enterprise that uses the new Rational Jazz technology-based products along with the existing Rational team products. The scenario includes Rational Build Forge® Enterprise Edition, Rational ClearCase®, Rational ClearQuest®, and Rational RequisitePro®, and introduces Rational Quality Manager, Rational Requirements Composer, Rational Software Analyzer, and Rational Team Concert.
Download CLM Redbook
Collaborative Lifecycle Management Information Model
Collaborative Lifecycle Management Information Model
The leading ALM solution from IBM is the Collaborative Lifecycle Management (CLM), which consists of Rational Requirements Composer (aka Rational DOORS NG), Rational Team Concert, Rational Quality Manager, and Rational Design Manager. 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. The 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 to have development artifacts as easily accessible as surfing the world-wide-web. Through the support for OSLC, integrations can be provided for Jazz-based 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.
What’s wrong with Change Management State Schemas?
The artifact information model used by the Collaborative Lifecycle Management solution, adopted and extended in the IoT Collaborative Engineering solution, is radically different compared to classic change management and lifecycle tools like Rational Clear Quest. In CQ the complete lifecycle was managed in the complex schema. In CALM the state is distributed over a network of linked and related artifacts. User research on the use of schema-based change management systems identified user pain points
- Complex information schemas modeling artifact types and lifecycles all in ONE schema.
- Weak integrations across lifecycle tools with demands on data synchronization across repositories. Most schemas reference other schemas on the same installation.
- Limited plan information allows teams to plan changes and work using agile methods
- Support for centralized deployment or multisite synchronization
- Support for rich client installation at every user desktop
Research at our enterprise clients reports on similar pain points in establishing a state schema, resulting in years in negotiating a corporate-wide schema in ClearQuest that managed the lifecycle of Change Requests as a single state model.
What’s new with Collaborative Lifecycle Management?
The artifact information model used by the Collaborative Lifecycle Management solution, adopted and extended in the IoT Collaborative Engineering solution, is radically different compared to classic change management and lifecycle tools like Rational Clear Quest. In CLM the state is distributed over a network of linked and related artifacts.
- An application or system lifecycle is composed of multiple domains and disciplines; Requirements, Designs, Tests, Change Requests, and Plans
- Each discipline defines a set of core artifact types. For example, managing tests needs the specification of Test Scripts, Test Cases, Test Suites, Test Plans, Test Results.
- Each artifact has a state. A Requirements may be New, Reviewed, Approved, Implemented, Verified, and Delivered. Or even Duplicate or Withdrawn. The state forms a state model.
- Artifacts have relations, or links, to other artifacts of the same or other domains. A Requirements is validated by a Test Case. A Defect is planned for an Iteration.
- Artifacts have relationships. A Software Requirements satisfies a Subsystem Requirements, that in its turn satisfies a System Requirements, that in its turn satisfies a Stakeholder Requirement.
- Artifacts have attributes that classify the type. A System Requirement, Subsystem Requirement, and Software Requirement all have shared and unique attributes. Some are mandatory, others are optional.
- Links have types that carry semantic meaning. A link between two works items may, for example, be a Parent, Child, or Blocks.
- The semantic interpretation of the link provides insights into the state of the systems. Identifying all Requirements in the current Iteration that has Blocking defects is a good insight into the readiness to release and any unstable/unavailable content of the release.
- The artifact and state models are defined by the client organization and are tailored to implement the development process adopted.
- The artifact link models are defined by the client organizations
- Considering links to be URLs allows artifacts to be distributed over multiple services, locally or globally, and provides flexible centralized or distributed deployment options.
Let’s consider an example by walking the structure in the diagram
- A Requirement is a part of a larger Requirements Module or Collection specifying a system or an application
- A Requirement is implemented as a Story
- The Story may be decomposed into Tasks and there may be Defects in the emerging implementation
- The Story is planned for an Iteration in a Release
- A Requirement and Story is tested by a Test Case
- A Test Case will generate a Test Result in a Test Iteration / Milestone
- A failing Test Case will result in a Defect on a Story
- All tests are a part of a Test Plan testing a Release
- Implementing a Story will create a Change Set of changes in a versioned File
- Changes to a File is organized by Streams making sure that only related changes go into a Build
- A Build is made up of Change Sets on versioned Files in a Stream
- A Workspace is a collection of Streams that are integrated into a Build
- Tests Cases generate Test Results on a deployed Build
Formulating an ALM User Experience Strategy
Based on our research we formulated the ‘ALM Principles’ that was validated by our sponsors
- Development is not an island unto itself; it provides a service to the business
- There are cycles within cycles many of which are ripe for automation
- A Solution is created by a social network of people producing artifacts
- Solutions never die, they are refined and maintained for years
- Assets are Investments
Reporting on Collaborative Lifecycle Management
In 2009 I co-led the publishing of the CALM Redbook together with Carolyn Pampino and a group of Rational SMEs. The Redbook provides a blueprint for Collaborative Application Lifecycle Management by using an end-to-end reference scenario for deploying the new Rational products and ‘Agility at Scale’ into an existing enterprise environment. The scenarios produced for the Redbook cover Change Management, Requirements Management, Enterprise Integration Builds, and Test Management. It also discusses metrics for team success in Application Lifecycle Management.
“ALM is the thread that ties the development lifecycle together” – Forrester analyst Carey Schwaber”
Systems Lifecycle Management and Systems Delivery Scenarios
Systems Lifecycle Management and Systems Delivery Scenarios
From this generalized CLM@scale lifecycle we focus the System Delivery scenario on a story in six acts. These acts focus the scenario on exploring key workflows and lifecycle capability requirements of a System Lifecycle Management solution and are designed to answer a primary lifecycle question that is critical to the success of the project. The six acts cover aspects of configuring the project, planning the project, delivering a part of the system, managing changing requirements, stabilizing the system release, and hand-off of the release.
Act 1 – Inspect and Adapt
The project admin(s) and the project lead(s) are set up and configuring lifecycle management for the project. This act covers upgrading the system delivery platform to the latest release of the products. It also covers the deployment of new tools and capabilities in the system delivery platform. The act also includes how the project environment is configured and related CLM repositories are linked. Finally, it explores how the team selects an improvement strategy and how the practices and process automation used by the project is configured and deployed to the system delivery platform.
Act 2 – System Engineering / Plan Release. This act explores System engineering, Project release planning, and how these two practices interact in a System Delivery project. The act explores how system requirements engineering is supported by the tools on the System Delivery platform, and how Stakeholder Requirements, System Requirements, System Use-Cases, System Architecture relate to the project Iteration plans and Test Plans.
Act 3 – Complete a System Requirement. In this act one of the software delivery teams are planning, modeling, delivering, and integrating a sub-system use-case. This explores the use of model-driven development using the System Delivery platform. It also explores new development collaboration workflows using Modeling and CLM scenarios. The CLM@scale scenario reference this act as Complete a Story.
Act 4- Respond to Change. Requirements Change Management is a key capability for System Delivery teams. This act explores how new formal change requests are submitted, triaged, how the impact from change is analyzed, and how requirements are updated, reviewed, approved, and baselined.
Act 5 – Stabilize. Lifecycle Management with Jazz enables rich capabilities for monitoring project health through CLM queries. This act explores how reporting and Jazz Dashboards help the team ensure quality and prepare for the release.
Act 6 – Deliver. The team is handing off the system release.
Acts are broken into scenes to explore smaller, concrete goals. Browse the links above to learn more about the scenes in each act.
The Scenario Personas
The actors in the System Delivery scenario share common CLM scenarios personas. In some cases, the role name may be adjusted to suit the vocabulary and needs of the scenario. In summary, for this scenario, we use the following teams and roles
Project Management team
- Ursula – Product Manager. Owner of the product. Prioritizes stakeholder needs.
- Patricia – Project and Resource Manager. Responsible for project schedule & deliverables.
- Scott – Development Manager. Managing the project development teams.
- Andy – Project and tool administrator. Manages the project repositories and servers and clients used by the project.
System Engineering team
- Bob – Requirements engineer. Responsible for system requirements.
- Sally – System architect. Defines and validates the system architecture. Manages subsystem dependencies.
Software Engineering / Software subsystem team
- Marco – Software team lead and developer. Manages the agile plans for the software subsystem.
- Al – Software subsystem architect. Responsible for the software architecture.
- Deb – Developer. Practices model-driven development. Performs unit testing of her changes.
- Tanuj – Tester. Validates the quality of the software subsystem.
Integration and Validation
- Tammy – Test manager. Responsible for the overall quality of the system delivery. Leads the independent test team that performs integration validation, and system acceptance tests.
- Rebecca – System integration engineer and Release engineer. Manages software integration builds.
- Terry – Test architect. Responsible for test architectures and test configurations.
Systems Delivery with CLM – Act 1 – Inspect and Adapt
Synopsis
The System Delivery scenario story starts with the project team preparing the System Delivery platform for the new project. Andy, one of the project admin(s), deploys or updates the system delivery platform tools. Scott, the development lead, configures the discipline processes and reports for the project. Some of the steps in the scenes below are shared across the CALM scenarios. Other steps are scenario extensions for the System Delivery platform.
What we Learn
In this act, we are deepening our understanding about
- Install and upgrade path for the capabilities in the System Delivery platform
- How to configure a multi-repository and multi-discipline project
Scene Details
- Install system delivery platform* – Andy upgrades existing servers and installs new servers. He configures and tests the server connections using OSLC.
- Configure System Delivery Platform* – Scott configures new project areas and establishes links across the related project areas.
- Tailor and test process(es) – Scott adds new discipline practices to the project process specifications. He tests and deploys the changes.
- Tailor and test report(s) – Scott adds new reports from selected practices. He adopts the reports to the project. He updates the project dashboards.
- Onboard project – Andy and Scott moves the project infrastructure to production and inform the project teams on how to use changes to process, reports, events, and dashboards
* Scenario extensions for system delivery
Systems Delivery with CLM – Act 2 – Plan release
Synopsis
In this act, we explore how the project is started. Our focus is on System Engineering and Project Planning.
The first scene explores how Ursula, the product manager, is establishing the concept for the project through managing the stakeholder needs and managing the proposal and approval of the system delivery project. We then switch to the next scene where the System Engineering team captures the system requirements, system use-cases, and how traceability is established between the system requirements. In the following two scenes, we explore how the project leadership team is transforming the prioritized system requirements into a project plan, development plans, and test plans. In the final scene, the project leaders are reviewing, approve, and baselining the project plans.
What we Learn
In this act, we are deepening our understanding about
- How OSLC linking between Requirements, Architecture and Plan Items support System Engineering practices
- How to plan a project or a program using multiple related project areas and iteration plans
Scene Details
- Develop Vision and Concept – Ursula managed stakeholder requirements documents and change requests, and prepares a project proposal for approval.
- Organize requirements – The System Engineering team analyzes the requirements.
- Plan project – The project team plans the project.
- Plan test effort – The test team plans the integration, verification, and validation test activities.
- Assess and approve the plan – The project leadership team approves the project plans.
Lifecycle Management Resources
This act in the scenario focuses on two areas in the lifecycle management resource structure; the system requirements, and the plans of the project.
Systems Delivery with CLM – Act 3 – Complete a System Requirement
Synopsis
In this act, we use the System Development practices to explore how the team uses the System Delivery platform to realize system requirements as part of one increment/iteration.
The software sub-system team (in the system delivery project) is using an agile approach to iterative (incremental/spiral) development. Each project iteration is planned for about 4-6 weeks. The objective of each iteration is to realize and validate a set of system requirements and use-cases, resolve prioritized defects and change requests, and integrate the sub-systems into a complete integrated demonstrator/prototype of the system product.
There are potentially many details to explore in this act. We primarily focus the exploitation on two workflows
- The lifestyle management support in the System Delivery platform for the plan, analysis, design, test, and retrospect activities in an increment/iteration
- The lifecycle management support for model-driven development in the Design and Implement scene
- Collaboration with Requirements Engineer and Software Architect
- Design review of model-based design
- Code review of model-based design
- Process controlled delivery of code and model elements
What we learn
In this act, we are deepening our understanding about
- How task as a service help the discipline teams manage their iteration planning and work breakdown
- How work item templates are used to form patterns of teamwork assignments for role-based work breakdown
- How to browse plan items, requirements, and models using OSLC / CALM links
- How collaboration takes place in a model-driven development team, and how the new model server supports such collaboration
- How to use the Jazz SCM and the Work Item review process for model information
Lifecycle Management Resources
This act in the scenario focuses on the lifecycle resources managed by one of the development teams. It expands the resource structure established in Act 2 in the context of the realization of a system requirement. The key lifecycle resources are
- Work Items assigned to the development teams members to analyze, design, implement and test the system requirement realization. In the figure above these work, items are called out as Requirements Engineering Task, Software Architect Task, Developer Task, and Test Task.
- Detailed Requirements and/or Sub-system architecture artifacts
- Design artifacts like; Sub-system design, generated or modified source files.
- Continuous builds of the software sub-system modules
- Test artifacts like; Configure test cases, with test scripts, and execution results of the test cases.
- Defects from failing test cases
- Queries and reports that the completeness of the system requirements increment plan.
Systems Delivery with CLM – Act 4 – Respond to Change
In this act, we explore the Requirements Change Management capability in the System Delivery platform.
In Act 1 the team approved a set of requirements. In this Act a change request has come in that impacts the baselined plan. We explore the steps of how the team agrees to accept it, which changes the requirements, the dev & test teams also respond to the change.
What we learn
- Understand how Requirements Change Management works across providers and consumers of the RM and CM OSLC specs.
- Understand suspect links
Lifecycle Management Resources
The Requirements Change Management scenario outlines a set of core OSLC resources
- Change Request – a request for change on an approved requirement
- Requirement – a requirement on the system
- Impacted Requirements – related requirements that also are impacted by the change request
- Requirements Change Set – a container for the proposed changes to the requirement(s) in the RM repository
This act in the scenario expands the lifecycle resources to explore the relations to project planning and realization and validation of the changed requirement. These resources include
- Release plan – the plan the change request is planned for
- Design and Test tasks – the plan items for the team to work on to realize and test the changes
- Model elements – impacted requirements captured as models
- ChangeSet – the changes to model and code
- Build – the first build containing the delivered changes
- The test case, Test execution, and Test result – the validation that the delivered changes are fulfilling the changed requirements
Systems Delivery with CLM – Act 5 – Stabilize
Synopsis
The system project is approaching its delivery. The focus of the remaining iteration/increment is to stabilize the release. Process changes where deliveries require approvals. But the main focus is on the system versification
What we learn
In this act, we are deepening our understanding about
- How to support the System Verification phase on the System Delivery platform
- Collaboration across development and verification teams
- Use of measures, dashboards, and reports during stabilization
System Delivery Measures
- Completion = how done the project or phase is
- Rate = the rate at which work is being done
- Quality = the quality and stability of the deliverable
- Schedule = the accuracy of the scheduling and estimating process
- Complexity = how hard the work is
Systems Engineering Metrics
- Requirements analyzed – # of requirements that have been reviewed and allocated to a use case
- Use cases analyzed – # of use cases analyzed (incl. scenario elaboration and executable state machine run)
- Use cases allocated – # of analyzed use cases allocated into the selected systems architecture (includes
- construction of logical ICDs and messaging between architectural subsystems)
- Use case complexity – # of transitions + # of actions on use case state machine
- Requirements productivity – # of requirements allocated to use cases and to the selected architecture per person-month of effort
- Requirements volatility – # of requirements changed
- Use Case Defect density – # of identified defects per use case
- Schedule variance – % difference between actual effort and estimated effort
- Task variance – average % difference between actual effort and estimated effort per task
Software Engineering Metrics
- Defect Density – # defects per 1000 lines of delivered source code OR # defects per class
- Unit Test Density – # unit tests per 1000 lines of delivered source code OR # defects per class
- Use Case Velocity – the rate at which use cases are being achieved (# use cases realized and validation tested / unit time)
- Work Item Velocity – the rate at which work items are being completed (# work items completed / unit time)
- Test Coverage – # of source lines code tested / total number of source lines of code
- Requirements velocity – # of requirements demonstrably represented in design, implementation, and test per unit time
- Integration rejection rate – average # of submissions to continuous integration rejected due to breaking the build
- Architectural volatility – # of changes made to the software architecture
- Validation density – # of tested requirements / # of requirements
- Validation test failure rate – # of validation tests that fail / total number of validation tests
- Schedule variance – % difference between actual effort and estimated effort
- Task variance – average % difference between actual effort and estimated effort per task
Jazz.net
Read more about the IBM Engineering Lifecycle Management solutions on Jazz.net.