Analysis of process practice

One approach to process analysis is to examine the process with respect to good software engineering practice. You start by identifying what are good practices in some area (such as requirements engineering) and then use questionnaires and interviews to discover the extent that these practices are used.

Some examples of good requirements engineering practices are:

  1. Uniquely identify each requirement
  2. Define policies for requirements management
  3. Define traceability policies
  4. Maintain a traceability manual
  5. Use a database to manage requirements
  6. Define change management policies
  7. Identify global system requirements

You may rank the use of good practice as ad hoc, which means that they may be used within a company by individual teams but do not have official company support. When good practice has company support it may be defined, which means that it is routinely used but not necessarily in the same way by different teams or standardized, which means that the practice is institutionalized and used across the company.

I have written about experiences in using this approach in a paper that surveyed good requirements engineering practice in 9 European companies.

As part of the process of analysing process practice, you may produce software process models, which are descriptions of the software development activities and results of these activities.


Sommerville, I. and Sawyer, P. Requirements Engineering: A Good Practice Guide. Chichester, John Wiley & Sons, 1997.

Sommerville, I. and Ransom, J. (2005) An empirical study of industrial requirements engineering process assessment and improvement. ACM Trans. on Software Eng. and Methodology (TOSEM), 14 (1), 1-33.


(c) Ian Sommerville 2008