Modeling the behavior of large software projects

This report is based on the M.S. thesis written by Dana S. Borger under the direction of Mladen A. Vouk (NCSU, Dept. of Computer Science, May 1991). The report describes an approach to modeling large software project behavior. The model assumes a phased software development process which is driven by milestone dates. The process is applied to overlapping projects that correspond to the releases of a single software product. Enhancements are implemented in the product as a large number of software components developed in parallel. A certain number of the components must complete each process phase for the product release to attain that phase milestone. The model incorporates Parkinson's Law and the Deadline Effect. The product component lifecycle phase durations are treated as stochastic variables. The durations are related to the time available to a planned milestone date using a regression function. A linear regression model is used to demonstrate the model's adequacy in an observed development environment. The model is evaluated using both empirical project data and simulations. Simulations also serve as a means of investigating non-analytical effects, such as schedule slippages. Empirical results indicate that the model ,-,m be used by software managers and software developers to predict the finish behavior of a project for any life-cycle phase. Such predictions could aid in analyzing risks associated with not meeting planned project deadlines. The model is expandable and programmable, helping to ensure that the model paradigms will be investigated further, and can be adapted and instituted in different environments. CCSP-lR-91/19/Modeling Behaviorof Large SoftwareProjects/NCSU.CSC/DSB.MAV11une-1991 TABLE OF CONTENTS Page LIST OF TABLES ·. · · · · · · · · · · · · · · ·· · . · · · · · · · · · iii LIST OF FIGURES iv LIST OF SYMBOLS AND ABBREVIAnONS ·· · · · · · · . · · · · · VI 1 INTRODUcnON ·. · · . · . · · · · · . · · · · · · 1 1.1 Goals of this Study · ············· 3 1.2 Model Motivation · ·. · · · · · ·· · · · · . · . · · · · . 5 1.3 Review of Past Work · · . · . · · · . · · · · · · . · · 9 1.3.1 Software Schedule Estimation Mooels · · . · 9 1.3.2 Parkinson's Law and the Deadline Effect. 11 1.4 Scope of this Study 14 1.5 Overview of the Study. 15 2 MODaDEvaGPMENT 17 2.1 Model Definitions and Assumptions. 17 DEF'IN'fTIONS . •. 17 ASSUM¥fIONS . •. 19 2.2 DetailedDescriptionof the DevelopmentEnvironment. 22 DESCRIPTION OF THE LIFE-CYCLE PHASES 24 2.3 The Single-Variable Model. 27 2.3.1 Model Notation and Definitions. 27 2.3.2 Calculating the Distribution of Finish Times. ~. 2.3. 3 The Expected Values of Durations and Finish Times. ' 2.3. 4 Applying Least Squares Linear Regression. -: THE SLOPE OF THE REGRESSION LINE . 2.3. 5 Estimating the Variances of Duration and Finish Times . 2.4 The Effect of Schedule Changes . 3 MODEL EVALUATION . 3.1 Model Performanceon SimulatedData . 3.1.1 A Simulation with No Schedule Changes. ' 3.1.2 Simulating Effects of a Schedule Change. 44 3.2 Using the Model to Describe Historical Data 48 3.2.1 Discussion of the Historical Data. 48 3.2.2 Linear Regression Analysis. 50 ANALYSIS OF THE PARAMETER ESTIMATES. 53 NEW PROGRAMS . 54 CARRY-OVER PROGRAMS. 55 TESTING THE REGRESSION ASSUMPTIONS. 55 3.2.3 Another Data Partitioning Scheme. 58 DISCUSSION OF THE TwO MODELS 64 4 CONCLUSION · · . 66 4.1 Summa.ry · · · · . 66 4.2 Recommendations for Future Research 68 5 REFERENCES 71 APPENDIX I: CONFIDENCE INTERVALS FOR LSQ m. 73