Author

Lan CaoFollow

Date of Award

11-2-2005

Degree Type

Closed Dissertation

Degree Name

Doctor of Philosophy (PhD)

Department

Computer Information Systems

First Advisor

Balasubramaniam Ramesh - Chair

Second Advisor

Tarek Abdel-Hamid

Third Advisor

Sandeep Purao

Fourth Advisor

Lars Mathiassen

Abstract

Agile software development challenges the traditional way of software development and project management. In rapidly changing environments, changing requirements and tight schedule constraints require software developers to take a different approach toward the process of software development. However, beyond a few case studies, surveys and studies focused on specific practices such as pair programming, the effectiveness and applicability of agile methods have not been established adequately. The objective of my research is to improve the understanding of and gain insights into these issues. For this purpose, I develop a system dynamic simulation model that considers the complex interdependencies among the variety of practices used in agile development. The model is developed on the basis of an extensive review of the literature as well as quantitative and qualitative data collected from real projects in seven organizations. The development of the model was guided by dynamic hypotheses on customer involvement, refactoring and quality of design. The model was refined and validated using data from independent projects. The model helps in answering important questions on the impact of customer behavior, cost of making changes and economics of pair programming. Experimentation with the model suggests that the cost of change is not constant; instead, its value changes cyclically and increases towards the later phase of development. Also, the results of simulation show that with no pair programming, fewer tasks are delivered and it costs more to deliver a task when compared to development with pair programming. Further, customer behavior has a major impact on project performance. The quality of customer feedback is found to be very critical to the successful of an agile software development project. The primary contribution of this research is the simulation model of agile software development that can be used a tool to examine the impact of agile practices and management policies on critical project variables including project scope, schedule, and cost. This research provides a mechanism to study agile development as a dynamic system of practices rather than using a static view and in isolation. The results from this study are expected to be of significant interest to practitioners of agile methods by providing them a simulation environment to examine the impact of their practices, procedures and management policies.

Share

COinS