A field study of the software design process for large systems
Communications of the ACM
The Dynamics of Software Project Staffing: A System Dynamics Based Simulation Approach
IEEE Transactions on Software Engineering
Software project dynamics: an integrated approach
Software project dynamics: an integrated approach
The WyCash portfolio management system
OOPSLA '92 Addendum to the proceedings on Object-oriented programming systems, languages, and applications (Addendum)
Software Project Control: An Experimental Investigation of Judgment with Fallible Information
IEEE Transactions on Software Engineering
Object-oriented metrics that predict maintainability
Journal of Systems and Software - Special issue on object-oriented software
The case for collaborative programming
Communications of the ACM
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Extreme programming explained: embrace change
Extreme programming explained: embrace change
An examination of the effects of requirements changes on software maintenance releases
Journal of Software Maintenance: Research and Practice
The dynamics of software project scheduling
Communications of the ACM
Characteristics of application software maintenance
Communications of the ACM
Software Engineering Economics
Software Engineering Economics
Business Dynamics
Extreme Programming Installed
Test Driven Development: By Example
Test Driven Development: By Example
Recognizing and responding to "bad smells" in extreme programming
Proceedings of the 24th International Conference on Software Engineering
eXtreme Programming Development through Dialog
IEEE Software
Strengthening the Case for Pair Programming
IEEE Software
The Effects of "Pair-Pressure" and "Pair-Learning" on Software Engineering Education
CSEET '00 Proceedings of the 13th Conference on Software Engineering Education & Training
Integrating Pair Programming into a Software Development Process
CSEET '01 Proceedings of the 14th Conference on Software Engineering Education and Training
ICSE '76 Proceedings of the 2nd international conference on Software engineering
Balancing Agility and Discipline: A Guide for the Perplexed
Balancing Agility and Discipline: A Guide for the Perplexed
A Quantitative Evaluation of Maintainability Enhancement by Refactoring
ICSM '02 Proceedings of the International Conference on Software Maintenance (ICSM'02)
Practical analysis for refactoring
Practical analysis for refactoring
An initial investigation of test driven development in industry
Proceedings of the 2003 ACM symposium on Applied computing
IEEE Software
A Survey of Software Refactoring
IEEE Transactions on Software Engineering
Matching methodology to problem domain
Communications of the ACM - New architectures for financial services
Refactoring the Development Process: Experiences with the Incremental Adoption of Agile Practices
ADC '04 Proceedings of the Agile Development Conference
Journal of Systems and Software
Customising agile methods to software practices at Intel Shannon
European Journal of Information Systems - Including a special section on business agility and diffusion of information technology
Offshore Outsourcing: A Dynamic Causal Model of Counteracting Forces
Journal of Management Information Systems
IEEE Transactions on Systems, Man, and Cybernetics, Part A: Systems and Humans
Coping with staffing delays in software project management: an experimental investigation
IEEE Transactions on Systems, Man, and Cybernetics, Part A: Systems and Humans
Vertical software industry evolution: The impact of software costs and limited customer base
Information and Software Technology
The Impact of SOA Implementation on IT-Business Alignment: A System Dynamics Approach
ACM Transactions on Management Information Systems (TMIS)
Modeling user story completion of an agile software process
Proceedings of the 2013 International Conference on Software and System Process
Comparative paradigms in the examination of software production
Proceedings of the South African Institute for Computer Scientists and Information Technologists Conference
Hi-index | 0.00 |
Changes in the business environment such as turbulent market forces, rapidly evolving system requirements, and advances in technology demand agility in the development of software systems. Though agile approaches have received wide attention, empirical research that evaluates their effectiveness and appropriateness is scarce. Further, research to-date has investigated individual practices in isolation rather than as an integrated system. Addressing these concerns, we develop a system dynamics 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 nine organizations. We present the structure of the model focusing on essential agile practices. The validity of the model is established based on extensive structural and behavioral validation tests. Insights gained from experimentation with the model answer important questions faced by development teams in implementing two unique practices used in agile development. The results suggest that due to refactoring, the cost of implementing changes to a system varies cyclically and increases during later phases of development. Delays in refactoring also increase costs and decrease development productivity. Also, the simulation shows that pair programming helps complete more tasks and at a lower cost. The systems dynamics model developed in this research can be used as a tool by IS organizations to understand and analyze the impacts of various agile development practices and project management strategies.