A conceptual framework for evolving software processes

  • Authors:
  • Reidar Conradi;Christer Fernström;Alfonso Fuggetta

  • Affiliations:
  • -;-;-

  • Venue:
  • ACM SIGSOFT Software Engineering Notes
  • Year:
  • 1993

Quantified Score

Hi-index 0.00

Visualization

Abstract

Software processes are complex entities that may last for long periods of time and are carried out through the interaction of humans and computerized tools. They need to continuously evolve in order to cope with different kinds of changes or customizations both in the organization and in the technologies used to support software production activities.In recent years, many software process support technologies have been developed, and have currently been further extended and used in trial projects. Moreover, some research prototypes have generated commercial products, that are marketed and currently used in industrial organizations. Despite these significant efforts and results, however, there is still little conceptual characterization and assessment of the properties of software processes and related support environments. It is difficult to compare and assess existing approaches. Even a common characterization of the problems to be addressed seems to be problematic and difficult to achieve. This is particularly true when we consider the process evolution problem, for which it does not seem that a common view of the issue has been established yet.This paper aims at proposing a conceptual framework to describe and assess flexible and evolving software processes. It is based on the assumption that a software process is composed of two main components: a software production process to carry out software production activities, and a software meta-process to improve and evolve the whole software process.The general requirements and properties of the process domain are first discussed, and the meta-process concept is introduced. Then, we discuss several process related concepts and, in particular, the relationship between the meta-process and the rest of the software process. Methods and technologies needed to support the meta-process are highlighted and discussed. Finally, we apply the resulting framework to an example, in order to show the potential and expected benefits of the proposed approach.