Requirements evolution drives software evolution

  • Authors:
  • Neil A. Ernst;Alexander Borgida;John Mylopoulos

  • Affiliations:
  • University of Toronto, Toronto, ON, Canada;Rutgers University, New Brunswick, NJ, USA;University of Trento, Trento, Italy

  • Venue:
  • Proceedings of the 12th International Workshop on Principles of Software Evolution and the 7th annual ERCIM Workshop on Software Evolution
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Changes to software should be made with reference to the requirements of that software, as these requirements provide the reasons for a change. Requirements serve to tie the implementation world of the developers to the problem world of the stakeholders. Most empirical studies of requirements have shown that misunderstood and changing requirements cause the majority of failures and costs in software. However, research in software evolution has typically focused on how to evolve software and not why. In our view, evolving software is about solving requirements problems, that is, finding new implementations which will satisfy the requirements while respecting domain assumptions. We argue that by describing this relationship, an implementation choice that best meets stakeholder needs can be made. We describe a tool that models requirements problems. This tool can find incremental solutions to evolving requirements problems quickly.