Best practices for systems and software development

An introduction to IBM Rational Solutions for Systems and Software

Authors Graham Bleakley, Keith Collyer, and Joanne Scouler present an easy-to-understand explanation of the best practices for the IBM® Rational® Solutions for Systems and Software Engineering. The article describes the purpose, outlines the content, and explains how they support regulatory standards.

Dr Graham Bleakley (graham.bleakley@uk.ibm.com), Rational Principal Consultant, IBM

author photoDr. Graham Bleakley originally studied Mechanical Engineering at Southbank University, this was followed by a PhD in Model Based Systems Engineering and Process for Safety Critical Systems at City University. After going back to Southbank University for 2 years to run and teach the Computer Aided Engineering degree, he left and joined I-Logix in 2000, working as an Application Engineer/Consultant with companies such as BAE, Thales,Selex, MBDA and Alcatel. He has written and presented a number of technical papers at INCOSE as well for other publications on the themes of Model Based Systems Engineering. He is currently a principal consultant in IBM Rational where, when not consulting, he works on Model Based System Engineering Process definition and Architectural Frameworks, being one of the lead architects on the OMG UPDM submission.



Keith Collyer, PhD, Senior Solution Manager, Electronics and Medical Devices Industry Solutions, IBM

author photoDr. Keith Collyer is a subject matter expert in requirements and systems engineering. He trained as an electronic engineer and later moved into software development. His interest in the "people" aspects led him into project management, quality assurance, and processes, never losing sight of the need to develop systems that meet real needs. Throughout much of his career, he has concentrated on helping both large and small organizations introduce requirements management. The key aspects of this are ensuring that the client understands the needs for and benefits from requirements management, clarifying and defining with the client the processes involved, including the necessary information and inter-relationships, and defining an IBM Rational DOORS implementation to best support the client's needs.



Joanne L. Scouler (jscouler@us.ibm.com), Curriculum Architect, IBM

Author1 photoJoanne Scouler is a curriculum architect at IBM, where she does business planning and course development for systems engineering software. She has developed and taught training courses on Rational Rhapsody software over the past six years. Her background in embedded systems and software modeling training has involved working with diverse clients, including Raytheon, Draper Lab, Pratt & Whitney, Zoll Medical, and Kollmorgren. Prior to IBM, Joanne worked at Telelogic, Hewlett-Packard, 3Com Corporation, Symantec, and Addison-Wesley. She holds a BA from McGill University.



17 September 2013

Also available in Chinese Russian Portuguese Spanish

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
  • Implementation
  • 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
Software architectural design activity diagram

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
Analyze task with description, purpose, etc.

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
Welcome page 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
Work item templates in ISO 26262 process template

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 with link to task description

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:

Automotive

  • 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.

Medical devices

  • 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.


Conclusion

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

Resources

Learn

Get products and technologies

  • 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.

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=945065
ArticleTitle=Best practices for systems and software development
publish-date=09172013