Best practices for systems and software development
An introduction to IBM Rational Solutions for Systems and Software
This article describes the IBM® Rational® Solutions for Systems and Software Engineering and differentiates specific industry solutions and explains how they support regulatory standards. It also describes the practices that are embodied in the solutions and provides guidance on how to use them.
IBM Rational solutions
A Rational solution consists of a set of Rational tools, services, and practice content — a set of practices that provide the process guidance to support the solution. The industry-specific solutions described in this article are:
- IBM Rational solution for aerospace and defense (DO-178B/C compliance)
- IBM Rational solution for automotive engineering (ISO-26262 compliance)
- IBM Rational solution for medical devices
How practices are delivered
Each solution contains practice content that has been developed and tested to provide a complete lifecycle management solution for a particular industry. The practice content describes how to develop a product or system using Rational and third-party tools. You can download the types of published practice content from the IBM Rational Solution Process Assets web page (see Resources).
Practice content is created and managed with IBM® Rational® Method Composer, which has a domain language based on the Unified Method Architecture (UMA). The terminology used in the practice content is derived from UMA.
Practice or process
There is an important distinction between practices and processes. The practices are what you should do; the process is the structure for how to do the tasks. The process defines the order in which to apply the practices and get the work done so that you achieve a meaningful engineering result. Practices leverage the IBM systems and software engineering process that explains the tasks and the order in which they need to be carried out to create specific work products. The general key phases in the process are:
- Project preparation
- Requirements analysis
- Functional analysis
- Design synthesis
- Unit test
Figure 1 shows the connection between the practice and the process. The practice here is development to ISO 26262 for functional safety of automotive vehicles.
The piece of the process in this practice is: "Developing software architectural design in ISO-26262," and it shows the specific tasks to complete the activity "6,7 software architectural design." An activity is simply a flow of tasks presented in an ordered fashion.
In the published content you can click the task called Analyze SW safety to get more information about how to complete the task. The task is shown in Figure 1.
Figure 1. Process with tasks for developing software architectural design in ISO 26262 from the Rational solution for automotive engineering
From the Analyze SW safety task, you are taken to a web page that describes the roles, required input and output, work products, description of the task, and links to the corresponding practices and guidelines. In this task, the practices (called Key Considerations) are Safety and Reliability Analysis and High Fidelity Modeling. You can link directly to the relevant practices from the task. Figure 2 shows the task details.
Figure 2. Elements of the Analyze SW safety task
Customize practice content
You can develop your own customized assets, such as published websites and work item templates. Work item templates are sets of logically grouped tasks derived from a practice that can be instantiated in IBM® Rational Team Concert.™
You can also customize practice content to fit it into your organization's process, such as an agile or iterative process. The work item templates derived from a practice can fit into an agile or iterative process depending on how your development process is set up. Customizing depends on an individual's role, the stage in the development process, and what you want to achieve.
Several work item templates can be part of a process template, which is a way of starting a project in Rational Team Concert so that it supports a particular domain. Typically, a Rational Team Concert process template contains several work item templates and defines several roles, a team structure, and a basic project management structure.
Get started with foundation practice content
To understand the fundamentals of the practice content, start with the base foundation IBM Rational Solution for Systems and Software Engineering. When you open the Practices category, you see that the practices are organized in sections titled Enterprise, Systems Development, and Software Development. These sections provide a way to point you to areas of interest. For instance, the Enterprise category addresses how to measure performance and is intended for project managers and those interested in overall process improvement.
You can look at the same or similar content in other ways to get a different perspective. For example, if you select a role, you can see all the relevant tasks associated with that role. When you open the category named Delivery Processes, you see two sections: SE – Use case focused and Systems Engineering workflow. In both sections you see the work breakdown structure. The first section, SE – Use case focused, follows the general, high-level process or workflow described earlier in this paper. Systems Engineering workflow is also based on the general workflow, presented in the tradition of the classic standard systems engineering V process. Figure 3 shows the welcome page for the Rational Solution for Systems and Software Engineering.
Figure 3. Overview page of the Rational Solution for Systems and Software Engineering
Each of the practices for the different industries (automotive, medical, and aerospace) is written in the language of the industry. Underlying each of the practices are the details about what tasks need to be done. A set of links embedded in the practices provides navigation to other content such as guidance and tool mentors, which teach you how to carry out a task. The practices reuse tool mentors to capture common approaches to handling tasks that are common to all industries.
Use of the practices
Locate the practice content related to your current work by drilling into the hierarchy, typically through the defined workflow. Alternatively, the structure is set up so you can identify work associated with your role. You can also access the practice content through the tool mentors that are embedded in the Rational tools you use.
When you use a work item template in Rational Team Concert, you create a set of work items for tasks detailed in the practices. Different phases of development in the workflow have different work item templates, as shown in Figure 4.
Figure 4. Rational Team Concert project dashboard with work Items selected and drop-down showing work item templates
The templates provide a quick and easy way to enforce project governance and help with project management. Each work item also contains a link to the original description of the task, as shown in Figure 5.
Figure 5. Systems engineering for product development work item in Rational Team Concert
Work item templates can be used in other ways — for example, if there is a requirements change request, an engineer or manager invokes a work item template that automatically creates a set of work items for that task so pieces can be assigned to the appropriate people. Another example: a team leader might instantiate a work item template to create work items to start the tasks related to implement a user story (use case). The team leader then allocates the tasks to team members.
How practices are applied to specific industry solutions
For aerospace applications, a subset of the foundation practices is mapped in detail to the DO-178B standard and called the Integrated Software Development Process for DO-178B (ISDP-178). The standards document DO-178B, Software Considerations in Airborne Systems and Equipment Certification mandates the safety of software used in airborne systems. The practices and related work products are mapped to sets of DO-178B objectives to help show compliance to the standard. The Rational aerospace solution integrates best practices and tooling to facilitate the development of certifiable avionics software.
For automotive applications, Rational has practice content mapped to the process framework defined in the ISO 26262 standard "Road vehicles – Functional safety." The ISO 26262 standard is an adaptation of the international functional safety standard IEC 61508 for programmable electronic systems. ISO 26262 defines functional safety for automotive equipment applicable throughout the lifecycle of all automotive electronic and electrical safety-related systems.
For the medical device industry, the practices, called the Design Control Practices, support various industry standards including 21 CFR Part 820.30 and IEC62304. Design control is an approach to systems development that supports systematic assessment of design as an integral part of development. It is a fundamental concept of the U.S. Federal Food and Drug Administration (FDA) guidance for medical device manufacturers and is compatible with the requirements from other regulatory bodies. Design control can be applied to any medical development approach or lifecycle.
Each of the solutions is structured in a different way because the industries have different approaches. Objectives defined by the standards are met with a set of deliverables that are produced through the use of the process. Different standards have different areas of focus in terms of the product development lifecycle:
- The automotive solution covers management, operations, production, and hardware and software development, and discusses integration and management across the process. It also references third-party tools that you can use.
- The automotive safety standard (ISO 26262) focuses on the whole product lifecycle of a "feature" or "item" that has safety implications.
Aerospace and defense
- The solution for aerospace and defense takes a modeling approach to building software.
- The aerospace and defense safety standard DO178C is about the development of the software in the product.
- The medical device IEC 62304 standard is all about building embedded software for medical devices.
- The medical device design control (FDA) section is not specific to a technology but is based on deliverables and the objectives and relationships between the deliverables. It validates that you built what you said you were going to build.
The ISO 26262 standard for the automotive industry is built around process and deliverables, while the DO-178C standard for aerospace and defense and IEC 62304 and design control for medical devices are focused on objectives. ISO 26262 is a prescriptive standard, whereas the others are descriptive.
Deploy practice content
The practice content is available for download in two forms: as part of the practice library or as a WAR file. The source material in the Rational Method Composer practice library can be modified in Rational Method Composer to customize or add your own specific material; for example, activities and deliverables for company-mandated reviews.
If you want to preview the practice content locally, you can download the .war file, then rename to a .zip file, unzip it, and open it using a standard HTML browser.
If you want to deploy the content on Rational Team Concert to get the full benefit of combining process templates, work item templates, and practice content, download the .war file and install it on the Rational Team Concert web server.
This article describes the purpose and outlines the content of the IBM Rational Solution for Systems and Software Engineering. You are now familiar with how to:
- Follow the Rational best practices and processes for your industry standards
- Use Rational Method Composer to capture and modify the practice content in the industry solutions
- Use the process templates to create work items in Rational Team Concert to implement the defined processes
- Link from process templates to the practice content
- Define terminology related to the practice content
- Link to downloadable materials in source form or as a published website
- Download practice content from the IBM Rational Solution Process Assets web page.
- UMA was submitted to the Object Management Group (OMG) for the Software & Systems Process Engineering Metamodel Specification (SPEM) Version 2.0, April 2008.
- Find out more about the key capabilities and typical usage scenarios of Rational Method Composer in "IBM Rational Method Composer: Part 1: Key concepts" (Peter Haumer, developerWorks, December 2005).
- Check the Rational Method Composer page, where you can also download it for a free trial.
- Download Rational Method Composer to try it at no charge.
- Download Rational Team Concert from Jazz.net and try it free on up to 10 projects for as long as you want (requires registration). If you'd prefer, you can try it in the sandbox instead, without installing it on your own system.
- Download free trial versions of other Rational software.
- Evaluate other IBM software in the way that suits you best: Download it for a trial, try it online, use it in a cloud environment, or spend a few hours in the SOA Sandbox learning how to implement service-oriented architecture efficiently.