skip to main content
Skip header Section
Scaling Software Agility: Best Practices for Large Enterprises (The Agile Software Development Series)March 2007
Publisher:
  • Addison-Wesley Professional
ISBN:978-0-321-45819-3
Published:01 March 2007
Skip Bibliometrics Section
Bibliometrics
Skip Abstract Section
Abstract

“Companies have been implementing large agile projects for a number of years, but the 'stigma' of 'agile only works for small projects' continues to be a frequent barrier for newcomers and a rallying cry for agile critics. What has been missing from the agile literature is a solid, practical book on the specifics of developing large projects in an agile way. Dean Leffingwell's book Scaling Software Agility fills this gap admirably. It offers a practical guide to large project issues such as architecture, requirements development, multi-level release planning, and team organization. Leffingwell's book is a necessary guide for large projects and large organizations making the transition to agile development.” ï Jim Highsmith, director, Agile Practice, Cutter Consortium, author of Agile Project Management “There's tension between building software fast and delivering software that lasts, between being ultra-responsive to changes in the market and maintaining a degree of stability. In his latest work, Scaling Software Agility, Dean Leffingwell shows how to achieve a pragmatic balance among these forces. Leffingwell's observations of the problem, his advice on the solution, and his description of the resulting best practices come from experience: he's been there, done that, and has seen what's worked.” ï Grady Booch, IBM FellowAgile development practices, while still controversial in some circles, offer undeniable benefits: faster time to market, better responsiveness to changing customer requirements, and higher quality. However, agile practices have been defined and recommended primarily to small teams. In Scaling Software Agility, Dean Leffingwell describes how agile methods can be applied to enterprise-class development. Part I provides an overview of the most common and effective agile methods. Part II describes seven best practices of agility that natively scale to the enterprise level. Part III describes an additional set of seven organizational capabilities that companies can master to achieve the full benefits of software agility on an enterprise scale.This book is invaluable to software developers, testers and QA personnel, managers and team leads, as well as to executives of software organizations whose objective is to increase the quality and productivity of the software development process but who are faced with all the challenges of developing software on an enterprise scale.Foreword Preface Acknowledgments About the Authorï Part I: Overview of Software Agility Chapter 1: Introduction to Agile Methods Chapter 2: Why the Waterfall Model Doesn't Work Chapter 3: The Essence of XP Chapter 4: The Essence of Scrum Chapter 5: The Essence of RUP Chapter 6: Lean Software, DSDM, and FDD Chapter 7: The Essence of Agile Chapter 8: The Challenge of Scaling Agile Part II: Seven Agile Team Practices That Scale Chapter 9: The Define/Build/Test Component Team Chapter 10: Two Levels of Planning and Tracking Chapter 11: Mastering the Iteration Chapter 12: Smaller, More Frequent Releases Chapter 13: Concurrent Testing Chapter 14: Continuous Integration Chapter 15: Regular Reflection and Adaptation Part III: Creating the Agile Enterprise Chapter 16: Intentional Architecture Chapter 17: Lean Requirements at Scale: Vision, Roadmap, and Just-in-Time Elaboration Chapter 18: Systems of Systems and the Agile Release Train Chapter 19: Managing Highly Distributed Development Chapter 20: Impact on Customers and Operations Chapter 21: Changing the Organization Chapter 22: Measuring Business Performance Conclusion: Agility Works at Scale Bibliography Indexï

Cited By

  1. Silvola R, Tolonen A, Harkonen J, Haapasalo H and Mannisto T (2019). Defining one product data for a product, International Journal of Business Information Systems, 30:4, (489-520), Online publication date: 1-Jan-2019.
  2. Unger-Windeler C, Klünder J and Schneider K A mapping study on product owners in industry Proceedings of the International Conference on Software and System Processes, (135-144)
  3. ACM
    Putta A, Paasivaara M and Lassenius C Adopting scaled agile framework (SAFe) Proceedings of the 19th International Conference on Agile Software Development: Companion, (1-4)
  4. ACM
    Wohlrab R, Pelliccione P, Knauss E and Larsson M Boundary objects in Agile practices Proceedings of the 2018 International Conference on Software and System Process, (31-40)
  5. ACM
    Putta A Scaling agile software development to large and globally distributed large-scale organizations Proceedings of the 13th International Conference on Global Software Engineering, (141-144)
  6. ACM
    Moyon F, Beckers K, Klepper S, Lachberger P and Bruegge B Towards continuous security compliance in agile software development at scale Proceedings of the 4th International Workshop on Rapid Continuous Software Engineering, (31-34)
  7. 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.
  8. 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)
  9. Paasivaara M Adopting SAFe to scale agile in a globally distributed organization Proceedings of the 12th International Conference on Global Software Engineering, (36-40)
  10. ACM
    Pries-Heje J and Krohn M The SAFe way to the agile organization Proceedings of the XP2017 Scientific Workshops, (1-3)
  11. Bass J (2016). Artefacts and agile method tailoring in large-scale offshore software development programmes, Information and Software Technology, 75:C, (1-16), Online publication date: 1-Jul-2016.
  12. ACM
    Paasivaara M and Lassenius C Challenges and Success Factors for Large-scale Agile Transformations Proceedings of the Scientific Workshop Proceedings of XP2016, (1-5)
  13. ACM
    Eckstein J Sociocracy Proceedings of the Scientific Workshop Proceedings of XP2016, (1-5)
  14. Nurdiani I, Börstler J and Fricker S (2016). The impacts of agile and lean practices on project constraints, Journal of Systems and Software, 119:C, (162-183), Online publication date: 1-Sep-2016.
  15. Wirfs-Brock R, Yoder J and Guerra E Patterns to develop and evolve architecture during an agile software project Proceedings of the 22nd Conference on Pattern Languages of Programs, (1-18)
  16. ACM
    Papatheocharous E, Belk M, Nyfjord J, Germanakos P and Samaras G Personalised continuous software engineering Proceedings of the 1st International Workshop on Rapid Continuous Software Engineering, (57-62)
  17. Damian D, Lassenius C, Paasivaara M, Borici A and Schröter A Teaching a globally distributed project course using Scrum practices Proceedings of the Second International Workshop on Collaborative Teaching of Globally Distributed Software Development, (30-34)
  18. ACM
    Paasivaara M, Lassenius C and Heikkilä V Inter-team coordination in large-scale globally distributed scrum Proceedings of the ACM-IEEE international symposium on Empirical software engineering and measurement, (235-238)
  19. ACM
    Martini A, Pareto L and Bosch J Enablers and inhibitors for speed with reuse Proceedings of the 16th International Software Product Line Conference - Volume 1, (116-125)
  20. ACM
    Hoda R, Kruchten P, Noble J and Marshall S (2010). Agility in context, ACM SIGPLAN Notices, 45:10, (74-88), Online publication date: 17-Oct-2010.
  21. ACM
    Brown N, Cai Y, Guo Y, Kazman R, Kim M, Kruchten P, Lim E, MacCormack A, Nord R, Ozkaya I, Sangwan R, Seaman C, Sullivan K and Zazworka N Managing technical debt in software-reliant systems Proceedings of the FSE/SDP workshop on Future of software engineering research, (47-52)
  22. ACM
    Hoda R, Kruchten P, Noble J and Marshall S Agility in context Proceedings of the ACM international conference on Object oriented programming systems languages and applications, (74-88)
  23. Lehto I and Rautiainen K Software development governance challenges of a middle-sized company in agile transition Proceedings of the 2009 ICSE Workshop on Software Development Governance, (36-39)
  24. ACM
    Vähäniitty J and Rautiainen K Towards a conceptual framework and tool support for linking long-term product and business planning with agile software development Proceedings of the 1st international workshop on Software development governance, (25-28)
Contributors

Index Terms

  1. Scaling Software Agility: Best Practices for Large Enterprises (The Agile Software Development Series)

        Recommendations

        Reviews

        Harekrishna Misra

        Aligning business processes with information technology is an important activity in an organization, and expectations for it are high. Traditionally, application software development projects lead this alignment, with active support from prominent stakeholders like system architects and planners, system vendors, application software developers, and users. There are various software engineering process and product models and methods through which all the stakeholders contribute substantially during the life cycle of the project. But the success of a project lies in usability, the usefulness of the product developed during the process, and how users define its success. User-defined success is a relative term that is very difficult to measure, since user requirements change in organizations as they grow in size and complexity. Today, most organizations focus on integrated versions of applications to manage complex online transactions and facilitate the optimization of resources. These user-centric demands have become dynamic; they have grown in size and complexity. Thus, process rule-based products, which have already been developed and deployed, are facing obsolescence within a short period of time after deployment. An ongoing challenge for system planners and application developers is to maintain agility in the alignment process. Agile development processes are gaining momentum in the present context to meet new challenges. Agile development is often claimed to be suitable for small projects, simple problems, and particularly for the early phases of a software product. Agile system planners often also worry about the suitability of agile approaches to scale up to higher volumes and manage the complexity of development processes at the enterprise level. This book seeks to provide insight into some of the challenges and to discuss adoptable best practices for deploying agile methods at the enterprise level. Therefore, it is timely, and the real-life lessons shared by the author add to its relevance. The book provides the tenets of software engineering process-modeling approaches, keeping the waterfall model in the background. It also provides a very good account of the evolution of the agile methods that would generate interest for most readers. It presents the reader with much simpler terms to elucidate comparative features between traditional waterfall methods with regard to agile methods (rational unified process, extreme programming, Scrum, and so on). However, many of the theoretical explanations provided in the book could frustrate the reader. This book provides insight into the architectural issues needed to appreciate the relevance of agile methods at the enterprise level. Architectures provide the foundation for intercomponent relationships and directions for growth. The book offers readers a solid understanding of connecting architectural issues with agile requirement planning. In addition, project metrics are developed and explained to elucidate implementation issues during the management of agile method-driven software projects. A separate chapter on these metrics is an added strength. However, this book seems to be heavily oriented toward the management of software development organizations. It also focuses on development teams and their role in agile method-driven projects. Such teams in development organizations are expected to understand the architectures of the client organization and appreciate user-level metrics to measure usability. Therefore, it would have been useful to provide some experiential explanations through case studies to appreciate user-driven project metrics and measurement issues. A case-based comparative analysis between traditional and agile methods could have provided a comprehensive understanding of the three themes of the book: scaling best practices, maintaining quality and productivity during scale-up, and managing scale-up through iterative and incremental approaches. The book is highly recommended for readers eager to learn about agile methods and relate them with traditional software engineering process models. It will be helpful to system architects and planners who want to learn about various enterprise-level issues while adopting agile or traditional methods. It is often said that no quality-ensured process can guarantee a quality product. This may apply to agile methods as well. The traditional methods that delivered most of the products we use today are now being challenged. But this challenge is based on quality, user experience, and usability. Observing user experiences is a challenging task, and agile methods are no exception in facing such a challenge. This book will certainly assist development teams in deploying agile methods to meet dynamic user-centered challenges at the enterprise level. Online Computing Reviews Service

        Access critical reviews of Computing literature here

        Become a reviewer for Computing Reviews.