System and Software Engineering as described by the ISO/IEC 12207

Last modified date

The ISO/IEC 12207 is an international standard that defines software life cycle processes for software engineering projects. Firstly released as “12207” in 1994, its newest version is from 2017 (see ISO/IEC 33001). It provides a set of different processes divided into four main groups: Agreement Processes, Organizational Project-enabling, Technical Management, and Technical Processes.

The standard is very detailed and deep information for the requirements and outcomes expected for each process step defined. This post provide a generic overview and the most relevant points according to my personal experience.

Agreement Processes

This group of processes includes the Acquisition and Supply processes which describes activities for agreements between the supplier and customer. Whereas the Acquisition processes describe how to obtain and monitor a project or a service from a supplier; and the Supply processes describe how to develop a project or service to be delivered to a customer.

In general, these processes support the establishment of common ground communication and requirements so that the deliverables from the supplier matches the expectations of the customer.

Regardless of the size of a project, customer or supplier, establishing common ground for understanding the project requirements, expectations and duties for the parties involved is an important factor which supports the successfull development of the project. I personally recommend project managers to plan for these processes for any project (software-related or not).

Organizational Project-Enabling processes

These processes are related to the overall organization and apply to surrounding activities of a project. It includes, for instance, processes for infrastructure management, human resources management, quality management, knowledge management, and others. These processes are important to support projects activities and to ensure the pre-requisites and resources are available for during the development of the project.

Technical management

These processes are related to the practical side of project management. It contains 8 different processes includeing Project Planning, Risk Management, Configuration Management, Quality assurance, and others. The activities of a project manager range within tasks from these processes in order to ensure quality levels of a project during its development life cycle.

Techinical processes

These processes define most of the activities which are to be performed by the project software engineers. It contains 14 different processes, including Requirements definition, Architecture and Design Definition, Implementation, Integration, Verification (testing), Validation and others.

The set of processes listed in this norm can enhance software engineering practices in order to reduce unintended results, improve overall project quality deliveries (costs, schedule, technical) and provide repeatable (and measurable) methods for developing projects across an organization.

Reference: ISO/IEC 33001

See the translated (pt-BR) version here.

Armando Perico


1 Response

Leave a Reply

Your e-mail address will not be published. Required fields are marked *

Post comment