ISO/IEC 29110 (Part 1): Lightweight Standard-based Software and Systems Engineering

Those familiar in the software and systems engineering domain are typically familiar with ISO/IEC 15288, a standard covering processes and life cycle stages. But it’s huge, and small organizations have a hard time to justify its adaptation, for good reasons. For those not familiar with the standard should check out  What is ISO/IEC 15288 and Why Should I Care?

Before we Start: Some News

Last week, we spent in Munich at ReConf 2015.  We posted our impressions in a separate article – please check it out.

Also, the current issue of Eclipse Magazin (German) features the article “Entwicklung mit System: Systems Engineering mit Eclipse” by Michael Jastram.

Is ISO/IEC 29110 for me?

The following statements and questions should help you decide whether ISO 29110 may be useful to you:

  • You develop software or systems.
  • Your current process is lightweight, and you are looking for a more formal approach towards development.
  • You want to benefit from established best practices.
  • You operate in an environment with regulatory requirements.
  • You looked at ISO/IEC 15288 in the past, and the idea seemed good, but in practice, it turned out  too heavy-weight.
  • You want to work agile? ISO/IEC 29110 does not preclude a lifecycle.  From the standard: “ISO/IEC 29110 is not intended to preclude the use of different life cycles such as: waterfall, iterative, incremental, evolutionary or agile.”
  • You are small? ISO/IEC 29110 is targeted at VSEs: “A Very Small Entity (VSE) is an entity (enterprise, organization, department or project) having up to 25 people” (from the Standard).

Where to start?

Even though ISO/IEC 29110 is supposedly lightweight, it consists of a dozen documents.  Scroll to the section Overview of the set of documents to learn more.  The actual “meat” of the standard is found in the Profiles.  These follow the naming convention 29110-5-m-n:

  • m: The profile group: Currently, there is only the Generic profile group for Software (1) and Systems (6), respectively. These are not designed for safety critical systems.
  • n: The profile, one of Entry, Basic, Intermediate, Advanced.

So I suggest to start with the simplest profile, the Entry Profile for Software Engineering, which can be downloaded for free.

ISO/IEC 29110-5-1-1: Entry Profile for Software Engineering

The “meat” of this profile consists of two processes: One for Project Management (PM), and one for Software Implementation (SI).  As an example, the following shows the high-level diagram for PM (taken from the standard):

Process Diagram for Project Management, taken from ISO 29110-5-1-1

Project Management consists of four major Activities, which cover the lifecycle from the creation of the Statement of Work, to the acceptance of the resulting software in the form of an Acceptance Record.

The standard concisely defines all all products (like Statement of Work), but it does not prescribe anything regarding its form, nor does it prescribe a specific life cycle.

Each rectangle in the diagram consists of a number of Tasks. For example, the Activity Project Assessment and Control (PM.3) consists of three tasks with their respective inputs and outputs, which can be visualized as follows:

The role shown (Project Manager) is just the primary role.  Not shown are the additional performers, which in this case include the Work Team.

The figure shown has been generated automatically with the Eclipse Process Framework, which allows the generation of interactive HTML. When deployed, each element in the figure can be clicked to show the details of those elements.

Implementing a Profile

In order to use a Profile, it needs to be tailored.  Specifically, the abstract description of Tasks has to be made concrete: For instance, a Change Request could simply be an entry in an issue tracker, or a formal document that gets updated on a regular basis with a signature underneath.

Further, as the arrows already indicate, these are not sequential activities.  To make the profile concrete, the mode of operation must be fixed.

Next steps

This is the first post in a series.  Over the next months, we will post more on ISO 29110, as we believe that it has a lot of potential.  Further, we will pursue two additional activities:

  • We will apply it on se-teaching.org, our initiative for light-weight, Eclipse-based systems engineering.
  • We will attempt to model the Profile using the Eclipse Process Framework, a tool for process documentation that can publish in HTML. How the result can look like is nicely demonstrated by the OpenUP.

Help with ISO 29110

Are you intrigued by ISO 29110? If you consider it for your organization, please contact us: As experts, we can help you with the evaluation or implementation of ISO 29110.

Image Credit: Puzzle Image from http://profs.etsmtl.ca/claporte/English/VSE/VSE-packages.html