Towards Measuring Software Requirements Volatility: A Retrospective Analysis - A. Ebad, Shouki (Malaysian Journal of Computer Science, 2017)
Requirement management (RM) is a fundamental activity in requirements engineering. It keeps track of all the requirements changes that would cause errors or resulted in software delays or cost overruns. When requirements have many changes over time, they have a tendency to be highly volatile. This volatility depends on several factors such as organizational complexity, process maturity of the company, and development phase. Managing the requirements quantitatively by metrics is a good way to understand whether RM is efficient or not. In this paper, we propose a new metric to measure the requirements volatility of object-oriented systems in terms of use cases; we use retrospective analysis that examines the amount of change applied in successive versions of a software product. We theoretically validated our metric through a set of prominent mathematical properties. We also empirically validated our metrics using three versions of an open source project, JHotDraw. Measurements of the metric were shown to be consistent with previous measurements of the JHotDraw versions conducted at the architecture design level. The study results in a foundation for further empirical retrospective studies of the requirements properties.