Software processes are software too
ICSE '87 Proceedings of the 9th international conference on Software Engineering
Scale Economies in New Software Development
IEEE Transactions on Software Engineering
Rapid application development
The early history of Smalltalk
HOPL-II The second ACM SIGPLAN conference on History of programming languages
Joint application development (2nd ed.)
Joint application development (2nd ed.)
The innovator's dilemma: when new technologies cause great firms to fail
The innovator's dilemma: when new technologies cause great firms to fail
Evaluating the cost of software quality
Communications of the ACM
A field study of scale economies in software maintenance
Management Science - Special issue: Frontier research on information systems and economics
The unified software development process
The unified software development process
Extreme programming explained: embrace change
Extreme programming explained: embrace change
Adaptive software development: a collaborative approach to managing complex systems
Adaptive software development: a collaborative approach to managing complex systems
Structured Programming with go to Statements
ACM Computing Surveys (CSUR)
Letters to the editor: go to statement considered harmful
Communications of the ACM
Flow diagrams, turing machines and languages with only two formation rules
Communications of the ACM
Agile software development ecosystems
Agile software development ecosystems
The Mythical Man-Month: Essays on Softw
The Mythical Man-Month: Essays on Softw
Design Rules: The Power of Modularity Volume 1
Design Rules: The Power of Modularity Volume 1
Planning the Software Industrial Revolution
IEEE Software
How the Learning Curve Affects CASE Tool Adoption
IEEE Software
COTS Software: The Economical Choice?
IEEE Software
A Framework for Software Product Line Practice
Proceedings of the Workshop on Object-Oriented Technology
Balancing Agility and Discipline: A Guide for the Perplexed
Balancing Agility and Discipline: A Guide for the Perplexed
To Pull or Not to Pull: What Is the Question?
Manufacturing & Service Operations Management
SIMULA 67 common base language, (Norwegian Computing Center. Publication)
SIMULA 67 common base language, (Norwegian Computing Center. Publication)
Communications of the ACM
Structured programming
Artful making: what managers need to know about how artists work
Artful making: what managers need to know about how artists work
Information Systems Research
Control of Flexible Software Development Under Uncertainty
Information Systems Research
Aligning software processes with strategy
MIS Quarterly
Post-agility: What follows a decade of agility?
Information and Software Technology
The usability expert's fear of agility: an empirical study of global trends and emerging practices
Proceedings of the 7th Nordic Conference on Human-Computer Interaction: Making Sense Through Design
Problem solving representations in systems development
International Journal of Business Information Systems
Hi-index | 0.00 |
In recent years, flexibility has emerged as a divisive issue in discussions about the appropriate design of processes for making software. Partisans in both research and practice argue for and against plan-based (allegedly inflexible) and agile (allegedly too flexible) approaches. The stakes in this debate are high; questions raised about plan-based approaches undermine longstanding claims that those approaches, when realized, represent maturity of practice. In this commentary, we call for research programs that will move beyond partisan disagreement to a more nuanced discussion, one that takes into account both benefits and costs of flexibility. Key to such programs will be the development of a robust contingency framework for deciding when (in what conditions) plan-based and agile methods should be used. We develop a basic contingency framework in this paper, one that models the benefit/cost economics described in narratives about the transition from craft to industrial production of physical products. We use this framework to demonstrate the power of even a simple model to help us accomplish three objectives: (1) to refocus discussions about the appropriate design of software development processes, concentrating on when to use particular approaches and how they might be usefully combined; (2) to suggest and guide a trajectory of research that can support and enrich this discussion; and (3) to suggest a technology-based explanation for the emergence of agile development at this point in history. Although we are not the first to argue in favor of a contingency perspective, we show that there remain many opportunities for information systems (IS) research to have a major impact on practice in this area.