A Pattern for Modeling Rework in Software Development Processes

  • Authors:
  • Aaron G. Cass;Leon J. Osterweil;Alexander Wise

  • Affiliations:
  • Department of Computer Science, Union College, Schenectady NY 12308;Department of Computer Science, University of Massachusetts Amherst, Amherst, MA 01003;Department of Computer Science, University of Massachusetts Amherst, Amherst, MA 01003

  • Venue:
  • ICSP '09 Proceedings of the International Conference on Software Process: Trustworthy Software Development Processes
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

It is usual for work completed at one point in a software development process to be revisited, or reworked, at a later point. Such rework is informally understood, but if we hope to support reasoning about, and partial automation of, software development processes, rework be more formally understood. In our experience in designing formalized processes in software development and other domains, we have noticed a recurring process pattern that can be used to model rework quite successfully. This paper presents that pattern, which models rework as procedure invocation in a context that is carefully constructed and managed. We present some scenarios drawn from software engineering in which rework occurs. The paper presents rigorously defined models of these scenarios, and demonstrates the applicability of the pattern in constructing these models.