Title
Modeling dynamics in agile software development
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.
Year
DOI
Venue
2010
10.1145/1877725.1877730
ACM Transactions on Management Information Systems (TMIS)
Keywords
Field
DocType
agile software development,agile software development project,pair programming,management policy,simulation model,software development,integrated system,system dynamics simulation model,various agile development practice,agile practice,agile development,model answer important question,agile approach,customer behavior,decrease development productivity,development team,systems dynamics model,agile method,essential agile practice,empirical research,system dynamics,software systems,simulation,process modeling,system dynamics modeling,integrable system,qualitative data,process model
Pair programming,Agile Unified Process,Computer science,Extreme programming practices,Lean software development,Agile usability engineering,Agile software development,Empirical process (process control model),Code refactoring,Management science,Process management
Journal
Volume
Issue
Citations 
1
1
27
PageRank 
References 
Authors
0.88
44
3
Name
Order
Citations
PageRank
Lan Cao165027.69
Balasubramaniam Ramesh22097141.59
Tarek K. Abdel-Hamid3431102.71