skip to main content
Skip header Section
Balancing Agility and Discipline: A Guide for the PerplexedSeptember 2003
Publisher:
  • Addison-Wesley Longman Publishing Co., Inc.
  • 75 Arlington Street, Suite 300 Boston, MA
  • United States
ISBN:978-0-321-18612-6
Published:01 September 2003
Pages:
304
Skip Bibliometrics Section
Bibliometrics
Skip Abstract Section
Abstract

From the Book: Why We Wrote This Book True believers represent software development alternatives In the last few years, two ostensibly conflicting approaches to software development have competed for hegemony. Agile method supporters released a manifesto that shifts the focus from traditional plan-driven, process-based methods to lighter, more adaptive paradigms. Traditional methods have reasserted the need for strong process discipline and rigorous practices. True believers on both sides have raised strident, often antagonistic, voices. This book is for the rest of us We wrote this book for the rest of usthose caught in the middle of the method wars simply trying to get our projects completed and accepted within too-tight schedules and budgets. We hope to clarify the perplexity about the roles of discipline, agility, and process in software development. We objectively compare and contrast the traditional, plan-driven approaches to the newer, agile approaches and present an overview of their home grounds, strengths, and weaknesses. We then describe a risk-based approach to aid in balancing agility and discipline within a software development project. Our goal is to help you in your business environment We hope that this is a practical book. It is intended to be neither academic nor exhaustive, but pragmatic. It is based on our own development experiences, current and past literature, long conversations with proponents of agile and plan-driven approaches, teaching students how to balance discipline and agility, and years of observing and measuring software development in industry, government, and academia. We discuss the subjectmatter absent a need to choose sides. Our goal is to help you gain the understanding and information you need to integrate the approaches in a manner that best fits your business environment. Who Should Read This Book The perplexedor just curious This book is for perplexed software and management professionals who have heard the buzz about agile methods and want to separate the chaff from the wheat. Perhaps you have a CMM- or ISO-certified organization and want to know if and how agile methods can help you. Or perhaps some part of your organization has adopted agile methods and you are unsure of how they should fit in. Fundamentally, if you need to understand how the latest software development approaches can help meet business goals, this book is for you. Software project managers and mid-level executives should read this book to understand the agility/plan-driven controversy and learn how best to apply the new approaches in your organizations. Software developers should read this book to better understand how your field is evolving and what it means for your career. Computer science and software engineering students should read this book to better understand how to make choices about your own level of discipline, both in school and at work. Academicians should read this book to understand some of what your students are asking about, and how to help them make informed decisions. Proponents of both agile and plan-driven methods should read this book to dispassionately look at your opponent's ideas. CIOs and CEOs should read this book to help you understand what's going on in the software world and what implications it may have for your company. How To Read This Book Several ways to read the book Most of you are busy people, and "must-read" material attacks you from all sides, 24/7. Some of you want to quickly assess the material for later reflection. Others want to know how to implement the concepts we present. For that reason, we've tried to make this book easy to read quickly but with pointers to more in-depth material. In a hurry Use the fast track for a quick overview If time is short, use the fast track summaries to scan the total content of the book, stopping to read things you find interesting or particularly applicable to your needs, and following the icons for specific technical information. If you find you need even more detailed material, there are references as well as a list of additional resources in Appendix F. First and last chapters are key You can also tailor your reading through chapter selection. Reading the first and last chapters gives a pretty good idea of the material at a familiarization level. You can read the chapters in any order. Here is a quick summary: The first chapter sets the stage for what follows. It introduces the main points and provides an executive summary of the book. Chapter 2 compares the agile and plan-driven approaches and provides insight into the type of projects where each has been most successfultheir home grounds. Chapter 3 provides an experiential introduction to the approaches by describing how both a typical and not-so-typical day might be spent using each. Chapter 4 presents two project case studies that illustrate the limits of pure agile and pure plan-driven implementations and the benefits of integrating the approaches. Chapter 5 describes a risk-based approach for making methodology decisions that integrate agile and plan-driven practices, and illustrates it with representative examples. Chapter 6 summarizes the material and offers some final observations. Appendix A provides top-level descriptions of the major agile and plan-driven methods, highlighting their primary distinguishing factors, and a summary of those factors for comparison. Appendices B-E provide technical and background information to support our analyses and speak to specific technical topics. Appendix F supplies references and the endnotes are listed by chapter in Appendix G. 0321186125P04142003

Cited By

  1. Shen Y and Breaux T (2024). Stakeholder Preference Extraction From Scenarios, IEEE Transactions on Software Engineering, 50:1, (69-84), Online publication date: 1-Jan-2024.
  2. Ståhl D (2023). The dynamic versus the stable team, Journal of Software: Evolution and Process, 35:12, Online publication date: 28-Dec-2023.
  3. Wiesmann D (2023). Avoidance of the term agile in software engineering, Journal of Software: Evolution and Process, 35:12, Online publication date: 28-Dec-2023.
  4. Zolduoarrati E, Licorish S and Stanger N (2023). Secondary studies on human aspects in software engineering, Journal of Systems and Software, 200:C, Online publication date: 1-Jun-2023.
  5. Batra D (2022). Antecedents of Organizational Agility During Business Uncertainty in Noninformation Technology Sectors, Journal of Database Management, 33:1, (1-22), Online publication date: 21-Jul-2022.
  6. Ošlejšek R and Pitner T (2021). Optimization of Cyber Defense Exercises Using Balanced Software Development Methodology, International Journal of Information Technologies and Systems Approach, 14:1, (136-155), Online publication date: 1-Jan-2021.
  7. ACM
    Silva M, Freire A, Perkusich M, Gorgônio K, Almeida H and Perkusich A On the influence of different perspectives on evaluating the teamwork quality in the context of agile software development Proceedings of the XXXIV Brazilian Symposium on Software Engineering, (1-10)
  8. ACM
    Gren L and Lenberg P Agility is responsiveness to change Proceedings of the 24th International Conference on Evaluation and Assessment in Software Engineering, (348-353)
  9. Ziebell R, Albors-Garrigos J, Schoeneberg K and Marin M (2019). e-HRM in a Cloud Environment, International Journal of Human Capital and Information Technology Professionals, 10:4, (16-40), Online publication date: 1-Oct-2019.
  10. David R, Rosenberg D, Boehm B, Wang B and Qi K (2019). The parallel agile process, Journal of Software: Evolution and Process, 31:6, Online publication date: 24-Jun-2019.
  11. ACM
    Tejera-Hernández D, Ciudad-Ricardo F and Libotton A Participation in software projects as professional communities of practice Proceedings of the Sixth International Conference on Technological Ecosystems for Enhancing Multiculturality, (1032-1039)
  12. ACM
    Bastarrica M, Espinoza G and Marín J Implementing agile practices Proceedings of the 12th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, (1-10)
  13. ACM
    Clarke P, O'Connor R and Yilmaz M In search of the origins and enduring impact of Agile software development Proceedings of the 2018 International Conference on Software and System Process, (142-146)
  14. ACM
    Rindell K, Hyrynsalmi S and Leppänen V Aligning security objectives with agile software development Proceedings of the 19th International Conference on Agile Software Development: Companion, (1-9)
  15. ACM
    Łukasiewicz K and Górski J Introducing agile practices into development processes of safety critical software Proceedings of the 19th International Conference on Agile Software Development: Companion, (1-8)
  16. ACM
    Wang H (2018). Harnessing the crowd wisdom for software trustworthiness, ACM SIGSOFT Software Engineering Notes, 43:1, (1-6), Online publication date: 28-Mar-2018.
  17. Rong G, Zhang H, Liu B, Shan Q and Shao D (2018). A replicated experiment for evaluating the effectiveness of pairing practice in PSP education, Journal of Systems and Software, 136:C, (139-152), Online publication date: 1-Feb-2018.
  18. Leppänen V, Rindell K and Hyrynsalmi S (2018). Fitting Security into Agile Software Development, International Journal of Systems and Software Security and Protection, 9:1, (47-70), Online publication date: 1-Jan-2018.
  19. Batra D (2017). Adapting Agile Practices for Data Warehousing, Business Intelligence, and Analytics, Journal of Database Management, 28:4, (1-23), Online publication date: 1-Oct-2017.
  20. ACM
    Chapman R, White N and Woodcock J (2017). What can agile methods bring to high-integrity software development?, Communications of the ACM, 60:10, (38-41), Online publication date: 25-Sep-2017.
  21. ACM
    Rosenberg D, Boehm B, Wang B and Qi K Rapid, evolutionary, reliable, scalable system and software development: the resilient agile process Proceedings of the 2017 International Conference on Software and System Process, (60-69)
  22. ACM
    Taibi D, Lenarduzzi V, Ahmad M and Liukkunen K Comparing Communication Effort within the Scrum, Scrum with Kanban, XP, and Banana Development Processes Proceedings of the 21st International Conference on Evaluation and Assessment in Software Engineering, (258-263)
  23. Li Y, Shepherd M, Liu J and Klein G (2017). Enhancing development team flexibility in IS projects, Information Technology and Management, 18:1, (83-96), Online publication date: 1-Mar-2017.
  24. Gren L, Torkar R and Feldt R (2017). Group development and group maturity when building agile teams, Journal of Systems and Software, 124:C, (104-119), Online publication date: 1-Feb-2017.
  25. Kneuper R (2017). Sixty Years of Software Development Life Cycle Models, IEEE Annals of the History of Computing, 39:3, (41-54), Online publication date: 1-Jan-2017.
  26. ACM
    Kastl P, Kiesmüller U and Romeike R Starting out with Projects Proceedings of the 11th Workshop in Primary and Secondary Computing Education, (60-65)
  27. Bonner N, Kulangara N, Nerur S and Teng J (2016). An Empirical Investigation of the Perceived Benefits of Agile Methodologies Using an Innovation-Theoretical model, Journal of Database Management, 27:3, (38-63), Online publication date: 1-Jul-2016.
  28. ACM
    Benedicenti L, Cotugno F, Ciancarini P, Messina A, Pedrycz W, Sillitti A and Succi G Applying scrum to the army Proceedings of the 38th International Conference on Software Engineering Companion, (725-727)
  29. (2016). Agile project management and stage-gate model-A hybrid framework for technology-based companies, Journal of Engineering and Technology Management, 40:C, (1-14), Online publication date: 1-Apr-2016.
  30. Torrecilla-Salinas C, Sedeño J, Escalona M and Mejías M (2016). Agile, Web Engineering and Capability Maturity Model Integration, Information and Software Technology, 71:C, (92-107), Online publication date: 1-Mar-2016.
  31. Alzoubi Y, Gill A and Al-Ani A (2016). Empirical studies of geographically distributed agile development communication challenges, Information and Management, 53:1, (22-37), Online publication date: 1-Jan-2016.
  32. ACM
    Schneider K, Liskin O, Paulsen H and Kauffeld S (2015). Media, Mood, and Meetings, ACM Transactions on Computing Education, 15:4, (1-33), Online publication date: 23-Dec-2015.
  33. Clarke P, OConnor R, Leavy B and Yilmaz M (2015). Exploring the Relationship between Software Process Adaptive Capability and Organisational Performance, IEEE Transactions on Software Engineering, 41:12, (1169-1183), Online publication date: 1-Dec-2015.
  34. Krall J, Menzies T and Davies M (2015). GALE: Geometric Active Learning for Search-Based Software Engineering, IEEE Transactions on Software Engineering, 41:10, (1001-1018), Online publication date: 1-Oct-2015.
  35. ACM
    Olszewska M and Waldén M DevOps meets formal modelling in high-criticality complex systems Proceedings of the 1st International Workshop on Quality-Aware DevOps, (7-12)
  36. ACM
    O'Connor R and Lepmets M Exploring the use of the cynefin framework to inform software development approach decisions Proceedings of the 2015 International Conference on Software and System Process, (97-101)
  37. ACM
    O'Connor R and Clarke P Software process reflexivity and business performance: initial results from an empirical study Proceedings of the 2015 International Conference on Software and System Process, (142-146)
  38. Licorish S and MacDonell S (2015). Communication and personality profiles of global software developers, Information and Software Technology, 64:C, (113-131), Online publication date: 1-Aug-2015.
  39. ACM
    Schümmer T, haake J and Stark W Theoretical and practical thoughts on the interplay of patterns and creativity Proceedings of the 20th European Conference on Pattern Languages of Programs, (1-21)
  40. Schneider K and Liskin O Exploring FLOW distance in project communication Proceedings of the Eighth International Workshop on Cooperative and Human Aspects of Software Engineering, (117-118)
  41. Mesh E Supporting scientific SE process improvement Proceedings of the 37th International Conference on Software Engineering - Volume 2, (923-926)
  42. Korkala M and Maurer F (2014). Waste identification as the means for improving communication in globally distributed agile software development, Journal of Systems and Software, 95, (122-140), Online publication date: 1-Sep-2014.
  43. ACM
    Lutz M, Naveda J and Vallino J (2014). Undergraduate software engineering, Communications of the ACM, 57:8, (52-58), Online publication date: 1-Aug-2014.
  44. ACM
    Ayed H, Vanderose B and Habra N Supported approach for agile methods adaptation: an adoption study Proceedings of the 1st International Workshop on Rapid Continuous Software Engineering, (36-41)
  45. ACM
    Lutz M, Naveda J and Vallino J (2014). Undergraduate Software Engineering: Addressing the Needs of Professional Software Development, Queue, 12:6, (30-39), Online publication date: 1-Jun-2014.
  46. ACM
    Garlan D Software architecture: a travelogue Future of Software Engineering Proceedings, (29-39)
  47. ACM
    Péraire C and Sedano T State-based monitoring and goal-driven project steering: field study of the SEMAT essence framework Companion Proceedings of the 36th International Conference on Software Engineering, (325-334)
  48. ACM
    Moazeni R, Link D and Boehm B COCOMO II parameters and IDPD: bilateral relevances Proceedings of the 2014 International Conference on Software and System Process, (20-24)
  49. ACM
    Moazeni R, Link D, Chen C and Boehm B Software domains in incremental development productivity decline Proceedings of the 2014 International Conference on Software and System Process, (75-83)
  50. McHugh M, McCaffery F and Casey V (2014). Adopting agile practices when developing software for use in the medical domain, Journal of Software: Evolution and Process, 26:5, (504-512), Online publication date: 1-May-2014.
  51. ACM
    Tuan N and Thang H Combining maturity with agility Proceedings of the 4th Symposium on Information and Communication Technology, (267-274)
  52. Kelly D Industrial scientific software Proceedings of the 2013 Conference of the Center for Advanced Studies on Collaborative Research, (299-310)
  53. ACM
    de Castro R, Braga J and Soares L (2013). Selection of good practices for small software development teams, ACM SIGSOFT Software Engineering Notes, 38:6, (1-15), Online publication date: 11-Nov-2013.
  54. ACM
    Moazeni R, Link D and Boehm B Incremental development productivity decline Proceedings of the 9th International Conference on Predictive Models in Software Engineering, (1-9)
  55. Futó I The Synchronized Functional Project SFP of Public Administration Proceedings of the Second Joint International Conference on Technology-Enabled Innovation for Democracy, Government and Governance - Volume 8061, (102-111)
  56. ACM
    Rodrigues L, Costa C and Oliveira A How to develop financial applications with game features in e-banking? Proceedings of the 2013 International Conference on Information Systems and Design of Communication, (124-134)
  57. Hovorka D and Pries-Heje J Don't ignore the iceberg Proceedings of the 8th international conference on Design Science at the Intersection of Physical and Virtual Design, (228-241)
  58. Mesh E and Hawker J Scientific software process improvement decisions Proceedings of the 5th International Workshop on Software Engineering for Computational Science and Engineering, (32-39)
  59. ACM
    Ingold D, Boehm B and Koolmanojwong S A model for estimating agile project process and schedule acceleration Proceedings of the 2013 International Conference on Software and System Process, (29-35)
  60. ACM
    Salinas C, Escalona M and Mejías M A scrum-based approach to CMMI maturity level 2 in web development environments Proceedings of the 14th International Conference on Information Integration and Web-based Applications & Services, (282-285)
  61. ACM
    Janes A and Succi G The dark side of agile software development Proceedings of the ACM international symposium on New ideas, new paradigms, and reflections on programming and software, (215-228)
  62. Hwang Y (2012). End User Adoption of Enterprise Systems in Eastern and Western Cultures, Journal of Organizational and End User Computing, 24:4, (1-17), Online publication date: 1-Oct-2012.
  63. ACM
    Reggio G, Leotta M, Ricca F and Astesiano E Business process modelling Proceedings of the Second Edition of the International Workshop on Experiences and Empirical Studies in Software Modelling, (1-6)
  64. Clarke P and O'Connor R (2012). The influence of SPI on business success in software SMEs, Journal of Systems and Software, 85:10, (2356-2367), Online publication date: 1-Oct-2012.
  65. ACM
    Braga M, Bezerra C, Monteiro J and Andrade R A pattern language for agile software estimation Proceedings of the 9th Latin-American Conference on Pattern Languages of Programming, (1-15)
  66. ACM
    Aghaee S, Nowak M and Pautasso C Reusable decision space for mashup tool design Proceedings of the 4th ACM SIGCHI symposium on Engineering interactive computing systems, (211-220)
  67. Vlaanderen K, van Stijn P, Brinkkemper S and van de Weerd I Growing into agility Proceedings of the 13th international conference on Product-Focused Software Process Improvement, (116-130)
  68. Turner R, Madachy R, Ingold D and Lane J Improving systems engineering effectiveness in rapid response development environments Proceedings of the International Conference on Software and System Process, (78-82)
  69. Turner R, Madachy R, Ingold D and Lane J Modeling kanban processes in systems engineering Proceedings of the International Conference on Software and System Process, (23-27)
  70. Ramesh B, Mohan K and Cao L (2012). Ambidexterity in Agile Distributed Development, Information Systems Research, 23:2, (323-339), Online publication date: 1-Jun-2012.
  71. Dingsøyr T, Nerur S, Balijepally V and Moe N (2012). A decade of agile methodologies, Journal of Systems and Software, 85:6, (1213-1221), Online publication date: 1-Jun-2012.
  72. Wiredu G (2012). Global Software Development and the Problem of Increased Uncertainties, Journal of Global Information Management, 20:2, (1-24), Online publication date: 1-Apr-2012.
  73. ACM
    Hammond S and Umphress D Test driven development Proceedings of the 50th Annual Southeast Regional Conference, (158-163)
  74. ACM
    Fischbein D, D’Ippolito N, Brunet G, Chechik M and Uchitel S (2012). Weak Alphabet Merging of Partial Behavior Models, ACM Transactions on Software Engineering and Methodology, 21:2, (1-47), Online publication date: 1-Mar-2012.
  75. ACM
    Kainerstorfer M, Sametinger J and Wiesauer A Software security for small development teams Proceedings of the 13th International Conference on Information Integration and Web-based Applications and Services, (305-310)
  76. ACM
    Tang A, Gerrits T, Nacken P and van Vliet H On the responsibilities of software architects and software engineers in an agile environment Proceedings of the 4th international workshop on Social software engineering, (11-18)
  77. Kollanus S Critical issues on test-driven development Proceedings of the 12th international conference on Product-focused software process improvement, (322-336)
  78. Trujillo M, Oktaba H, Pino F and Orozco M Applying agile and lean practices in a software development project into a CMMI organization Proceedings of the 12th international conference on Product-focused software process improvement, (17-29)
  79. ACM
    Nichols W, Kirwan P and Andelfinger U A manifesto for effective process models Proceedings of the 2011 International Conference on Software and Systems Process, (242-244)
  80. Thummadi B, Shiv O, Berente N and Lyytinen K Enacted software development routines based on waterfall and agile software methods Proceedings of the 6th international conference on Service-oriented perspectives in design science research, (207-222)
  81. Baskerville R, Pries-Heje J and Madsen S (2011). Post-agility, Information and Software Technology, 53:5, (543-555), Online publication date: 1-May-2011.
  82. Baxter G and Sommerville I (2011). Socio-technical systems, Interacting with Computers, 23:1, (4-17), Online publication date: 1-Jan-2011.
  83. ACM
    Cao L, Ramesh B and Abdel-Hamid T (2010). Modeling dynamics in agile software development, ACM Transactions on Management Information Systems, 1:1, (1-26), Online publication date: 1-Dec-2010.
  84. Magdaleno A, Werner C and De Araujo R Analyzing collaboration in software development processes through social networks Proceedings of the 4th international conference on Leveraging applications of formal methods, verification, and validation - Volume Part I, (435-446)
  85. ACM
    Hannay J and Benestad H Perceived productivity threats in large agile development projects Proceedings of the 2010 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement, (1-10)
  86. Pérez J, Díaz J, Garbajosa J and Alarcón P Flexible working architectures Proceedings of the 4th European conference on Software architecture, (102-117)
  87. ACM
    Kettunen V, Kasurinen J, Taipale O and Smolander K A study on agility and testing processes in software organizations Proceedings of the 19th international symposium on Software testing and analysis, (231-240)
  88. ACM
    Korkala M, Pikkarainen M and Conboy K A case study of customer communication in globally distributed software product development Proceedings of the 11th International Conference on Product Focused Software, (43-46)
  89. ACM
    Goeschl S, Herp M and Wais C When agile meets OO testing Proceedings of the 1st Workshop on Testing Object-Oriented Systems, (1-5)
  90. ACM
    Conboy K and Fitzgerald B (2010). Method and developer characteristics for effective agile method tailoring, ACM Transactions on Software Engineering and Methodology, 20:1, (1-30), Online publication date: 1-Jun-2010.
  91. ACM
    Ktata O and Lévesque G Designing and implementing a measurement program for Scrum teams Proceedings of the Third C* Conference on Computer Science and Software Engineering, (101-107)
  92. ACM
    Hanssen G Opening up software product line engineering Proceedings of the 2010 ICSE Workshop on Product Line Approaches in Software Engineering, (1-7)
  93. ACM
    Magdaleno A Balancing collaboration and discipline in software development processes Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2, (331-332)
  94. ACM
    Carriere J, Kazman R and Ozkaya I A cost-benefit framework for making architectural decisions in a business context Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2, (149-157)
  95. Bardhan I, Kauffman R and Naranpanawe S (2010). IT project portfolio optimization, IBM Journal of Research and Development, 54:2, (143-160), Online publication date: 1-Mar-2010.
  96. Oppenheim D, Ratakonda K and Chee Y Enterprise oriented services Proceedings of the 2009 international conference on Service-oriented computing, (82-95)
  97. Austin R and Devin L (2009). Research Commentary---Weighing the Benefits and Costs of Flexibility in Making Software, Information Systems Research, 20:3, (462-477), Online publication date: 1-Sep-2009.
  98. Harris M, Collins R and Hevner A (2009). Control of Flexible Software Development Under Uncertainty, Information Systems Research, 20:3, (400-419), Online publication date: 1-Sep-2009.
  99. ACM
    Batra D (2009). Modified agile practices for outsourced software projects, Communications of the ACM, 52:9, (143-148), Online publication date: 1-Sep-2009.
  100. Crabtree C, Koru A, Seaman C and Erdogmus H An empirical characterization of scientific software development projects according to the Boehm and Turner model Proceedings of the 2009 ICSE Workshop on Software Engineering for Computational Science and Engineering, (22-27)
  101. Schümmer T and Lukosch S Supporting the Social Practices of Distributed Pair Programming Groupware: Design, Implementation, and Use, (83-98)
  102. Chan F and Thong J (2009). Acceptance of agile methodologies, Decision Support Systems, 46:4, (803-814), Online publication date: 1-Mar-2009.
  103. ACM
    Heckman S and Williams L On establishing a benchmark for evaluating static analysis alert prioritization and classification techniques Proceedings of the Second ACM-IEEE international symposium on Empirical software engineering and measurement, (41-50)
  104. Farcas C, Farcas E and Krüger I Requirements for service composition in ultra-large scale software-intensive systems Proceedings of the 15th Monterey conference on Foundations of Computer Software: future Trends and Techniques for Development, (93-115)
  105. ACM
    Kotlarsky J, Oshri I, Kumar K and van Hillegersberg J (2008). Towards agility in design in global component-based development, Communications of the ACM, 51:9, (123-127), Online publication date: 1-Sep-2008.
  106. Dybå T and Dingsøyr T (2008). Empirical studies of agile software development, Information and Software Technology, 50:9-10, (833-859), Online publication date: 1-Aug-2008.
  107. Jääskeläinen A, Katara M, Kervinen A, Heiskanen H, Maunumaa M and Pääkkönen T Model-Based Testing Service on the Web Proceedings of the 20th IFIP TC 6/WG 6.1 international conference on Testing of Software and Communicating Systems: 8th International Workshop, (38-53)
  108. Karam M, Dascalu S, Safa H, Santina R and Koteich Z (2008). A product-line architecture for web service-based visual composition of web applications, Journal of Systems and Software, 81:6, (855-867), Online publication date: 1-Jun-2008.
  109. Hanssen G and Fígri T (2008). Process fusion, Journal of Systems and Software, 81:6, (843-854), Online publication date: 1-Jun-2008.
  110. ACM
    McCaffery F, Pikkarainen M and Richardson I Ahaa --agile, hybrid assessment method for automotive, safety critical smes Proceedings of the 30th international conference on Software engineering, (551-560)
  111. Dong F, Li M, Zhao Y, Li J and Yang Y Software multi-project resource scheduling Proceedings of the Software process, 2008 international conference on Making globally distributed software development a success story, (63-75)
  112. ACM
    Kazman R The carr-benkler wager and its implications for ULS software engineering Proceedings of the 2nd international workshop on Ultra-large-scale software-intensive systems, (61-64)
  113. ACM
    Jiang L and Eberlein A Towards a framework for understanding the relationships between classical software engineering and agile methodologies Proceedings of the 2008 international workshop on Scrutinizing agile practices or shoot-out at the agile corral, (9-14)
  114. ACM
    Pedersen E and Wolff G Paper interface to electronic medical records Proceedings of the 7th ACM conference on Designing interactive systems, (40-49)
  115. ACM
    Ramsin R and Paige R (2008). Process-centered review of object oriented software development methodologies, ACM Computing Surveys, 40:1, (1-89), Online publication date: 1-Feb-2008.
  116. Krüger I, Farcas C, Farcas E and Menarini M Requirements modeling for embedded realtime systems Proceedings of the 2007 International Dagstuhl conference on Model-based engineering of embedded real-time systems, (155-199)
  117. ACM
    Martin D, Rooksby J and Rouncefield M Users as contextual features of software product development and testing Proceedings of the 2007 ACM International Conference on Supporting Group Work, (301-310)
  118. Hanssen G, Bjørnson F and Westerheim H Tailoring and introduction of the rational unified process Proceedings of the 14th European conference on Software Process Improvement, (7-18)
  119. ACM
    Kruchten P (2007). Voyage in the Agile Memeplex, Queue, 5:5, (38-44), Online publication date: 1-Jul-2007.
  120. ACM
    Tremblay G, Malenfant B, Salah A and Zentilli P (2007). Introducing students to professional software construction, ACM SIGCSE Bulletin, 39:3, (176-180), Online publication date: 25-Jun-2007.
  121. ACM
    Tremblay G, Malenfant B, Salah A and Zentilli P Introducing students to professional software construction Proceedings of the 12th annual SIGCSE conference on Innovation and technology in computer science education, (176-180)
  122. Lanubile F and Mallardo T Inspecting automated test code Proceedings of the 8th international conference on Agile processes in software engineering and extreme programming, (115-122)
  123. Graham T, Kazman R and Walmsley C Agility and Experimentation Proceedings of the 29th international conference on Software Engineering, (519-528)
  124. Yang D, Boehm B, Yang Y, Wang Q and Li M Coping with the cone of uncertainty Proceedings of the 2007 international conference on Software process, (37-48)
  125. Shen B and Ju D On the measurement of agility in software process Proceedings of the 2007 international conference on Software process, (25-36)
  126. Garlan D and Schmerl B Architecture-driven modelling and analysis Proceedings of the eleventh Australian workshop on Safety critical systems and software - Volume 69, (3-17)
  127. ACM
    Detweiler M (2007). Managing UCD within agile projects, Interactions, 14:3, (40-42), Online publication date: 1-May-2007.
  128. Wu W and Kelly T Towards evidence-based architectural design for safety-critical software applications Architecting dependable systems IV, (383-408)
  129. Mc Caffery F, Taylor P and Coleman G (2007). Adept, IEEE Software, 24:1, (24-31), Online publication date: 1-Jan-2007.
  130. Sherrell L and Robertson J (2006). Pair programming and agile software development, Journal of Computing Sciences in Colleges, 22:2, (145-153), Online publication date: 1-Dec-2006.
  131. Katara M and Kervinen A Making model-based testing more agile Proceedings of the 2nd international Haifa verification conference on Hardware and software, verification and testing, (219-234)
  132. Järvi A, Mäkilä T and Hakonen H Changing role of SPI – opportunities and challenges of process modeling Proceedings of the 13th European conference on Software Process Improvement, (135-146)
  133. ACM
    Lee G, DeLone W and Espinosa J (2006). Ambidextrous coping strategies in globally distributed software development projects, Communications of the ACM, 49:10, (35-40), Online publication date: 1-Oct-2006.
  134. ACM
    Hanssen G and Fægri T Agile customer engagement Proceedings of the 2006 ACM/IEEE international symposium on Empirical software engineering, (164-173)
  135. ACM
    Phongpaibul M and Boehm B An empirical comparison between pair development and software inspection in Thailand Proceedings of the 2006 ACM/IEEE international symposium on Empirical software engineering, (85-94)
  136. Melnik G and Maurer F Comparative analysis of job satisfaction in agile and non-agile software development teams Proceedings of the 7th international conference on Extreme Programming and Agile Processes in Software Engineering, (32-42)
  137. Pikkarainen M and Salo O A practical approach for deploying agile methods Proceedings of the 7th international conference on Extreme Programming and Agile Processes in Software Engineering, (213-214)
  138. Wils A, Van Baelen S, Holvoet T and De Vlaminck K Agility in the avionics software world Proceedings of the 7th international conference on Extreme Programming and Agile Processes in Software Engineering, (123-132)
  139. Ziółkowski B and Drake G Rolling the DICE® for agile software projects Proceedings of the 7th international conference on Extreme Programming and Agile Processes in Software Engineering, (114-122)
  140. Geras A, Smith M and Miller J Configuring hybrid agile-traditional software processes Proceedings of the 7th international conference on Extreme Programming and Agile Processes in Software Engineering, (104-113)
  141. Taylor P, Greer D, Sage P, Coleman G, McDaid K, Lawthers I and Corr R Applying an agility/discipline assessment for a small software organisation Proceedings of the 7th international conference on Product-Focused Software Process Improvement, (290-304)
  142. ACM
    Maurer F and Melnik G Agile methods Proceedings of the 28th international conference on Software engineering, (1057-1058)
  143. ACM
    Rundle P and Dewar R Using return on investment to compare agile and plan-driven practices in undergraduate group projects Proceedings of the 28th international conference on Software engineering, (649-654)
  144. ACM
    Sison R, Jarzabek S, Hock O, Rivepiboon W and Hai N Software practices in five ASEAN countries Proceedings of the 28th international conference on Software engineering, (628-631)
  145. ACM
    Boehm B A view of 20th and 21st century software engineering Proceedings of the 28th international conference on Software engineering, (12-29)
  146. ACM
    Taylor P, Greer D, Sage P, Coleman G, McDaid K and Keenan F Do agile GSD experience reports help the practitioner? Proceedings of the 2006 international workshop on Global software development for the practitioner, (87-93)
  147. Huang L, Hu H, Ge J, Boehm B and Lü J Tailor the value-based software quality achievement process to project business cases Proceedings of the 2006 international conference on Software Process Simulation and Modeling, (56-63)
  148. Madachy R, Boehm B and Lane J Spiral lifecycle increment modeling for new hybrid processes Proceedings of the 2006 international conference on Software Process Simulation and Modeling, (167-177)
  149. Boehm B and Jain A A value-based software process framework Proceedings of the 2006 international conference on Software Process Simulation and Modeling, (1-10)
  150. ACM
    Sharp H, Biddle R, Gray P, Miller L and Patton J Agile development CHI '06 Extended Abstracts on Human Factors in Computing Systems, (32-35)
  151. Nord R and Tomayko J (2006). Software Architecture-Centric Methods and Agile Development, IEEE Software, 23:2, (47-53), Online publication date: 1-Mar-2006.
  152. LeJeune N (2006). Teaching software engineering practices with Extreme Programming, Journal of Computing Sciences in Colleges, 21:3, (107-117), Online publication date: 1-Feb-2006.
  153. Bozheva T and Gallo M Framework of agile patterns Proceedings of the 12th European conference on Software Process Improvement, (4-15)
  154. Erdogmus H (2005). The Economic Impact of Learning and Flexibility on Process Decisions, IEEE Software, 22:6, (76-83), Online publication date: 1-Nov-2005.
  155. Nawrocki J, Olek L, Jasinski M, Paliświat B, Walter B, Pietrzak B and Godek P Balancing agility and discipline with XPrince Proceedings of the Second international conference on Rapid Integration of Software Engineering Techniques, (266-277)
  156. ACM
    Loftus C and Ratcliffe M (2005). Extreme programming promotes extreme learning?, ACM SIGCSE Bulletin, 37:3, (311-315), Online publication date: 1-Sep-2005.
  157. Boehm B and Turner R (2005). Management Challenges to Implementing Agile Processes in Traditional Development Organizations, IEEE Software, 22:5, (30-39), Online publication date: 1-Sep-2005.
  158. Ramler R and Auer D Encouraging Self-Organization Proceedings of the 31st EUROMICRO Conference on Software Engineering and Advanced Applications, (284-291)
  159. ACM
    Boehm B (2005). Value-based quality processes and results, ACM SIGSOFT Software Engineering Notes, 30:4, (1-6), Online publication date: 1-Jul-2005.
  160. ACM
    Williams L, Layman L and Abrahamsson P (2005). On establishing the essential components of a technology-dependent framework, ACM SIGSOFT Software Engineering Notes, 30:4, (1-5), Online publication date: 1-Jul-2005.
  161. ACM
    Segal J, Grinyer A and Sharp H (2005). The type of evidence produced by empirical software engineers, ACM SIGSOFT Software Engineering Notes, 30:4, (1-4), Online publication date: 1-Jul-2005.
  162. ACM
    Jain A and Boehm B (2005). Developing a theory of value-based software engineering, ACM SIGSOFT Software Engineering Notes, 30:4, (1-5), Online publication date: 1-Jul-2005.
  163. ACM
    Loftus C and Ratcliffe M Extreme programming promotes extreme learning? Proceedings of the 10th annual SIGCSE conference on Innovation and technology in computer science education, (311-315)
  164. Nawrocki J and Olek Ł UC workbench – a tool for writing use cases and generating mockups Proceedings of the 6th international conference on Extreme Programming and Agile Processes in Software Engineering, (230-234)
  165. Pikkarainen M and Passoja U An approach for assessing suitability of agile solutions Proceedings of the 6th international conference on Extreme Programming and Agile Processes in Software Engineering, (171-179)
  166. Middleton P, Flaxel A and Cookson A Lean software management case study Proceedings of the 6th international conference on Extreme Programming and Agile Processes in Software Engineering, (1-9)
  167. Boehm B The future of software processes Proceedings of the 2005 international conference on Unifying the Software Process Spectrum, (10-24)
  168. Song X, Rudorfer A, Hwong B, Matos G and Nelson C S-RaP Proceedings of the 2005 international conference on Unifying the Software Process Spectrum, (164-176)
  169. ACM
    Boehm B Value-based quality processes and results Proceedings of the third workshop on Software quality, (1-6)
  170. ACM
    Williams L, Layman L and Abrahamsson P On establishing the essential components of a technology-dependent framework Proceedings of the 2005 workshop on Realising evidence-based software engineering, (1-5)
  171. ACM
    Segal J, Grinyer A and Sharp H The type of evidence produced by empirical software engineers Proceedings of the 2005 workshop on Realising evidence-based software engineering, (1-4)
  172. ACM
    Jain A and Boehm B Developing a theory of value-based software engineering Proceedings of the seventh international workshop on Economics-driven software engineering research, (1-5)
  173. ACM
    Maurer F and Melnik G What you always wanted to know about agile methods but did not dare to ask Proceedings of the 27th international conference on Software engineering, (731-732)
  174. ACM
    Boehm B, Brown W and Turner R Spiral development of software-intensive systems of systems Proceedings of the 27th international conference on Software engineering, (706-707)
  175. ACM
    Sherrell L and Shiva S Will earlier projects plus a disciplined process enforce SE principles throughout the CS curriculum? Proceedings of the 27th international conference on Software engineering, (619-620)
  176. ACM
    Melnik G and Maurer F A cross-program investigation of students' perceptions of agile methods Proceedings of the 27th international conference on Software engineering, (481-488)
  177. ACM
    Nerur S, Mahapatra R and Mangalaraj G (2005). Challenges of migrating to agile methodologies, Communications of the ACM, 48:5, (72-78), Online publication date: 1-May-2005.
  178. Little T (2005). Context-Adaptive Agility, IEEE Software, 22:3, (28-35), Online publication date: 1-May-2005.
  179. ACM
    Bergin J, Kussmaul C, Reichlmayr T, Caristi J and Pollice G Agile development in computer science education Proceedings of the 36th SIGCSE technical symposium on Computer science education, (130-131)
  180. ACM
    Bergin J, Kussmaul C, Reichlmayr T, Caristi J and Pollice G (2005). Agile development in computer science education, ACM SIGCSE Bulletin, 37:1, (130-131), Online publication date: 23-Feb-2005.
  181. Kussmaul C (2005). Using agile development methods to improve student writing, Journal of Computing Sciences in Colleges, 20:3, (148-156), Online publication date: 1-Feb-2005.
  182. ACM
    Layman L, Williams L and Cunningham L Motivations and measurements in an agile case study Proceedings of the 2004 workshop on Quantitative techniques for software agile process, (14-24)
  183. ACM
    Jaufman O and Przewoznik S Suitability of state of the art methods for interdisciplinary system development in automotive industry Proceedings of the 2004 ACM workshop on Interdisciplinary software engineering research, (78-82)
  184. Drobka J, Noftz D and Raghu R (2004). Piloting XP on Four Mission-Critical Projects, IEEE Software, 21:6, (70-75), Online publication date: 1-Nov-2004.
  185. Middleton P, Lee H and Irani S (2004). Why Culling Software Colleagues Is Popular, IEEE Software, 21:5, (28-32), Online publication date: 1-Sep-2004.
  186. Boehm B and Turner R Balancing Agility and Discipline Proceedings of the 26th International Conference on Software Engineering, (718-719)
  187. Manhart P and Schneider K Breaking the Ice for Agile Development of Embedded Software Proceedings of the 26th International Conference on Software Engineering, (378-386)
  188. Boehm B and Turner R (2003). Using Risk to Balance Agile and Plan-Driven Methods, Computer, 36:6, (57-66), Online publication date: 1-Jun-2003.
  189. Boehm B and Huang L (2003). Value-Based Software Engineering, Computer, 36:3, (33-41), Online publication date: 1-Mar-2003.
Contributors
  • Stevens Institute of Technology

Recommendations

A.K. Krishna Menon

Rapid changes in business scenarios, shortened software product life cycles, increased software complexity, and lean production methods have created a new style of functioning in the IT industry. Customer satisfaction and quality of the products delivered are the major casualties of the style change. This has generated much debate among the software community, pitting those who view quality as primarily product-based against those who believe quality should be user-based. The product-based quality view is predicated on the premise that quality of a software product should conform to specific requirements of measurable product features. This is a legacy of the process-oriented software development practices such as the Software Engineering Institute's Capability Maturity Model for Software (SW-CMM) and its descendent, Capability Maturity Model Integration (CMMI). Hallmarks of these methods include well-defined plans, work products, and verification and validation strategies that ensure predictability and high reliability. The user-based quality view, on the other hand, considers quality as primarily driven by user expectations, and therefore treats rigidity of organizations as counterproductive to software development. The proponents of the latter view argue that the primary factor responsible for a software project's success is the recognition rendered to the people involved in the project, and not the practices they follow. The software development methods recommended by this group are known as agile development. As demand for software applications with compressed production schedules increases, several new methods are emerging one after another, each claiming to be a better agile method. The proliferation of all these methods has thrown software developers, who can hardly find time to critically analyze the methods, into a vortex of confusion. The publication of this book is, therefore, timely. Boehm and Turner have three main objectives: to resolve the confusion about the roles of discipline, agility, and process in software development; to launch a comparative study of the plan-driven versus the agile approaches; and to describe a risk-based method for balancing agility and discipline within a software project. The first two chapters clarify the distinction between agile and disciplined (plan-driven) approaches. Each has its own home ground. Disciplined methods are appropriate for complex systems with high reliability constraints. They normally engage large teams in a stable and predictable environment. Agile methods excel with small teams and volatile requirements. The authors draw heavily on their rich industrial experience to objectively assess the merits and drawbacks of the two methods in an easily accessible style. Examples are cited from industry, where agile methods performed well in time-critical projects; the agile methods focused on the product at hand, preempting the integration of the product with the organization-wide system. The authors argue convincingly that successful, sustainable software development requires both discipline and agility. A polar chart in chapter 2 helps developers to determine which approach to adopt, based on five critical attributes (size, criticality, dynamism, personnel, and culture) of the concerned project. The polar chart and the analyses that led to its formulation are masterpieces of the book. To further reinforce the distinction between the two methods, the authors simulate typical days in the lives of two software development teams working on a plan-driven project, with one team trained on the disciplined method, and the other trained on the agile method. The simulation has been done with uncanny attention to detail. It is very effective in convincing the reader that a right mix of people factors is more crucial than technology or the method followed. Chapter 3 has the details. With the first three chapters, book has met the first two of its three objectives. At this point, it is interesting to ponder the feasibility of adopting a combination of the two methods. Such an investigation is presented by way of two case studies. One involved experienced agile practitioners working on enterprise resource solution, adopting plan-driven methods, and the other involved a team of plan-driven practitioners using agile methods. The case studies proved that given the right number of talented people, agile methods could be scaled to complex, large-scale applications. The details are in chapter 4. Chapter 5 details a method to balance agile and plan-driven approaches. The method is based on the unified process framework to tailor risk-based processes into a development strategy. Although not fully developed, it has worked in situations on a case-by-case approach. With five appendices (providing in-depth details of the various agile and plan-driven methods in practice), liberal end-of-chapter notes, and extensive references, the book will become a valuable reference as well as a watershed in software engineering. It will find a place on the shelves of software developers, project managers, computer science students and teachers, and countless others involved in software development. Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.