Software Engineering Online

An Introduction to Software Process

The reader's attention is called to Chapter 9 of the SWEBOK. There is no merit in reinventing the wheel so the discussion structure will follow that of the SWEBOK.

Definition of the Software Engineering Process Knowledge Area[1]

Virtually every element of Software Engineering can be viewed from a process-centric perspective.  Processes interface with and enable each of the elements of the SWEBOK.  As the reader explores the SW Engineering Portal website attention should be paid to the underlying processes and process framework.  This also is consistent with the emerging trend in the software and systems standards community toward process (rather than product) oriented standards.

The software engineering process Knowledge Area (KA) can potentially be examined at two levels.  The first level encompasses the technical and managerial activities within the software engineering process that are performed during software acquisition, development, maintenance, and retirement.  The second is the meta-level, which is concerned with the definition, implementation, measurement, management, change and improvement of the software engineering process itself.  The latter we will term software process engineering.  The first level is covered by the other KA?s of this Guide to the Software Engineering Body of Knowledge. This Knowledge Area is concerned with the second.

Process Chart


In order to set workable boundaries and establish a basis for interfacing with other components of the SWEBOK, this process section will examine the elements from Chapter 9 of the SWEBOK as shown in above:

  1. Process Implementation and Change 
  2. Process Definition 
  1. Process Assessment
  2. Process and Product Measurement. 

There may be overlap among the elements but this is acceptable for a well-linked web site where the goal is easy access to information vice a formal taxonomy.  For completeness a fifth process element, Process interface with Project Management, has been added to this discussion.

         5. Process interface with Project Management 

In-depth discussion, links to appropriate articles and resources will appear throughout this website.

1. Process Implementation and Change

This element focuses on organizational change both as applied to the initial deployment of a new process and maintenance of existing processes.  The SWEBOK uses the term ?process evolution? in this regard.

The first component is the process infrastructure.  (See standards IEEE 12207.0-96, ISO 15504-98.)  Critical to Process Implementation and Change is a Software Engineering Process Group (SEPG) that manages implementation and change and a software process management cycle.  The SWEBOK identifies two primary models for process implementation and change:  the Quality Improvement Paradigm and the IDEAL (Initiating-Diagnosing-Establishing-Acting-Learning) model developed by the Software Engineering Institute.

2. Process Definition 

Process definition can take the form of a procedure, policy or standard.  Reasons for process definition include the need to communicate the process infrastructure to all participants, as support for process improvement, and to provide process guidance and support.  There are two primary approaches to defining for process:  The Work Breakdown Structure (WBS) view focuses on the process tasks need to be performed, while a Work Product view focuses on the work products that need to be produced by the process.  Additionally, there are several different models for defining and communicating the software engineering process.

Process definition is strongly tied to software lifecycle models.  Process definition must be aware of areas such as software risk management, software reuse and software measurement.  Additionally process automation tools may be an important component in enforcing and enabling processes within your environment.

Plan-do-check-act (PDCA) is a basic lifecycle approach that can be applied to process.  Each of the process elements fits within this cycle.  At the conceptual center of this cycle is an experience base or knowledge repository containing process related intellectual capital.  The PDCA applies to the continuous implementation and change of process.

3. Process Assessment 

Process Assessment involves both an Assessment Model and an Assessment Method.  The reader is encouraged to refer to the SWEBOK for additional detail and to see the various Assessment Models and Assessment Methods discussed within this section of the SE Portal {to be added.}

4. Process and Product Measurement 

Process and Product measurement is the collection, analysis and interpretation of quantitative process information leading to improvements in the process infrastructure.  Factors that may be of interest include product quality, development productivity, and customer satisfaction.  A key point is to understand the importance of various factors within your organization, project or product and focus measurement resources accordingly.

Qualitative process analysis is needed for both process trouble shooting and for continuous process improvement.  Two of the more common models for qualitative process analysis are Process Definition Review (PDR) and Root Cause Analysis.

5. Process interface with Project Management 

This will be addressed from both the process perspective and the project management perspective.  Project management consists of developing a project plan and the executing / managing the execution of that plan.  Here we will consider a process-centric view.  Developing a project plan involves the tailoring processes, project execution involve following the process and project management keys on effective adherence to process.

Among the topics that impact the space shared by Process and Project are:  Agile computing, CMM (and CMMI), and Business Process reengineering / Business Process Management.



Suggestions