An examination of stability and reusability in highly iterative software

  • Authors:
  • Letha Etzkorn;Patricia L. Roden

  • Affiliations:
  • The University of Alabama in Huntsville;The University of Alabama in Huntsville

  • Venue:
  • An examination of stability and reusability in highly iterative software
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this dissertation, we examine the stability and reusability of agilely developed software. When considering stability, we wonder if the highly iterative nature of the agilely-developed software would adversely affect software stability. When considering reusability, from one standpoint we could suppose that the highly iterative nature of an agile process such as the extreme programming paradigm, with less time spent on formal design and the continuous emphasis on choosing the simplest approach to accomplish the task, would result in code which would be less reusable. This seemed particularly true since in the past it has been a truism that developing reusable software required additional work. On the other hand, because of the emphasis on refactoring in highly iterative processes, the resulting code should be more readable, simple, and perhaps therefore more reusable and stable.First, we investigate the stability of software developed with an agile process utilizing existing stability metrics. The relationship of these stability metrics with the Total Quality Index (TQI) of the QMOOD Quality Model is also studied. Secondly, the well known Chidamber and Kemerer metrics are examined in an effort to develop a model to predict faults over the iterations of the agilely developed projects. Next, we investigate the relationship between faults, refactoring, and reusability in software developed using an agile process. Lastly, the expert reusability evaluations of software developed using a traditional plan-based method are compared to the reusability evaluations for the same applications developed using agile methods.Our results show that some of the existing object-oriented metrics show potential for stability analysis. Our results also indicate TQI and stability might be used interchangeably in some situations. The intercorrelation of the C&K metrics over our data set made developing fault prediction models difficult and is similar to that experienced by some other researchers in the past. We determine that faults and refactoring are related; however, our results did not show a clear relationship between faults and reusability or refactoring and reusability. Lastly, our results indicate that software developed using a traditional plan-based method is more reusable than software developed using an agile method.