Author:
Gilberto Matos
Affiliation:
Siemens Corporate Research, United States
Keyword(s):
Iterative Process, Agile Development, Requirement Stability, Simulation, Optimization.
Related
Ontology
Subjects/Areas/Topics:
Artificial Intelligence
;
Knowledge Engineering
;
Knowledge Engineering and Ontology Development
;
Knowledge-Based Systems
;
Software Engineering
;
Symbolic Systems
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 require
ment 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.
(More)