USE OF REQUIREMENT STABILITY IN OPTIMIZING ITERATIVE DEVELOPMENT PROCESSES

Gilberto Matos

Abstract

Unstable requirements are widely understood as being a common cause of problems in delivering desired software functionality on time and within budget. Requirement volatility manifests itself through various symptoms, including scope creep, rejected feature implementations, and late discovery of non-functional requirements. Iterative processes use cycles of development and feedback to create an environment where requirements can be evolved to better address the user’s needs. Agile development methods are based on the assumption that the most valuable feedback comes from customers reviewing a live demo of the system being developed. The duration of an iteration generally determines the frequency of such reviews, and we are interested in understanding its impact on the development process. We developed a discrete simulation model of iterative development processes, and use it to evaluate process efficiency. By simulating the process for different iteration durations and initial requirement stability levels, we show that efficiency in iterative development processes depends on how well the iteration duration is adjusted to the initial requirement stability. We also propose a method for actively evaluating requirement stability, and using that information to adjust the review frequency during the execution of a development project.

References

  1. Beck, K., 1999. Extreme Programming Explained: Embrace Change, Addison-Wesley.
  2. Cohn, M., 2004. User Stories Applied : For Agile Software Development. Addison-Wesley Professional.
  3. Demarco, T., Lister, T., 2003. Waltzing With Bears: Managing Risk on Software Projects, Dorset House Publishing Company.
  4. Fayad, M., Altman, A, 2001. An Introduction to Software Stability. In COMMUNICATIONS OF THE ACM September 2001/Vol. 44, No. 9
  5. Hwong, B., Matos, G., McKenna, M., Nelson, C., Nikolova, G., et al, 2007. “Quality Improvements From Using Agile Development Methods: Lessons Learned”, In I. Stamelos, P. Sfetsos (eds.), Agile Software Development Quality Assurance, IGI Global
  6. Javed, T., Maqsood, M., Durrani, Q., 2004. A Study to Investigate the Impact of Requirements Instability on Software Defects, in ACM Software Engineering Notes, Volume 29, Number 4 , May 2004.
  7. Jones, C., 1998. Estimating Software Costs, McGraw-Hill.
  8. Pfahl, D., Lebsanft, K., 2000. Using Simulation to Analyze the Impact of Software Requirement Volatility on Project Performance, in Information and Software Technology 42, 2000.
  9. Schwaber, K., Beedle , M., 2001. Agile Software Development with SCRUM, Prentice Hall.
  10. Song, X., Matos, G., Hwong, B., Rudorfer, A., Nelson, C., 2005. S-RaP: A Concurrent Prototyping Process for Refining Workflow-Oriented Requirements, in RE'05 International Conference on Requirement Engineering , Sept, 2005. Paris, France.
Download


Paper Citation


in Harvard Style

Matos G. (2007). USE OF REQUIREMENT STABILITY IN OPTIMIZING ITERATIVE DEVELOPMENT PROCESSES . In Proceedings of the Second International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE, ISBN 978-989-8111-10-4, pages 113-118. DOI: 10.5220/0002587101130118


in Bibtex Style

@conference{enase07,
author={Gilberto Matos},
title={USE OF REQUIREMENT STABILITY IN OPTIMIZING ITERATIVE DEVELOPMENT PROCESSES},
booktitle={Proceedings of the Second International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,},
year={2007},
pages={113-118},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0002587101130118},
isbn={978-989-8111-10-4},
}


in EndNote Style

TY - CONF
JO - Proceedings of the Second International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,
TI - USE OF REQUIREMENT STABILITY IN OPTIMIZING ITERATIVE DEVELOPMENT PROCESSES
SN - 978-989-8111-10-4
AU - Matos G.
PY - 2007
SP - 113
EP - 118
DO - 10.5220/0002587101130118