Options
2003
Journal Article
Title
Impact analysis in software evolution
Abstract
Project planning relies on accurate estimates of the work at hand. In software development, the work at hand is represented by the requirements. In software evolution, when new requirements are added to an existing system in order to produce a new software release, it is important to base the project plan on how much the requirements will cause change in the software. Requirements-Driven Impact Analysis (rdia) is a critical tool in the planning process as it identifies the set of software entities that need to be changed to implement a new requirement in an existing system. rdia thus involves a transition from requirements to software entities or to a representative model of the implemented system. rdia is performed during the release-planning phase. Input is a set of requirements and the existing system. Output is, for each requirement, a set of software entities that have to be changed. The output is used as input to many project-planning activities, for example cost estimation based on change volume. The overall goal of this work has been to gather knowledge about rdia and how to improve this crucial activity. The overall means has been an empirical study of rdia in the industrial object-oriented pmr-project. rdia has been carried out as a normal part of project developers' work. This in-depth case-study has been carried out over four years and in close contact with project developers. Problems with underprediction have been identified and many more entities than predicted are changed. We have also found that project developers are unaware of their own positive and negative capabilities in predicting change. We have found patterns that indicate that certain characteristics among software entities, such as size, relations and inheritance, may be used together with complementary strategies for finding candidates for change. Techniques and methods for data collection and data analysis are provided as well as a thorough description of the context under which this research project was conducted. Simple and robust methods and tools such as sccs, Cohen's kappa, median tests and graphical techniques facilitate future replications in other projects than pmr.