did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9780321458193

Scaling Software Agility Best Practices for Large Enterprises

by
  • ISBN13:

    9780321458193

  • ISBN10:

    0321458192

  • Edition: 1st
  • Format: Paperback
  • Copyright: 2007-02-26
  • Publisher: Addison-Wesley Professional
  • Purchase Benefits
  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $57.99

Summary

"Companies have been implementing large agile projects for a number of years, but the ls"stigmars" of ls"agile only works for small projectsrs" 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 Leffingwellrs"s bookScaling Software Agilityfills this gap admirably. It offers a practical guide to large project issues such as architecture, requirements development, multi-level release planning, and team organization. Leffingwellrs"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 "Therers"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. Leffingwellrs"s observations of the problem, his advice on the solution, and his description of the resulting best practices come from experience: hers"s been there, done that, and has seen whatrs"s worked." Grady Booch, IBM Fellow Agile 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. InScaling 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 Doesnrs"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

Author Biography

Dean Leffingwell is a renowned software development methodologist, author, and software team coach who has spent his career helping software teams meet their goals. He is the former founder and CEO of Requisite, Inc., makers of RequisitePro, and a former vice president at Rational Software, where he was responsible for the commercialization of RUP. During the last five years, in his role as both an independent consultant and as advisor/methodologist to Rally Software, Mr. Leffingwell has applied his experience to the organizational challenge of implementing agile methods at scale with entrepreneurial teams as well as distributed, multinational corporations. These experiences form much of the basis for this book. Mr. Leffingwell is also the lead author of Managing Software Requirements, Second Edition: A Use Case Approach (Addison-Wesley, 2003).

Table of Contents

Forewordp. xvii
Prefacep. xxi
Acknowledgmentsp. xxvii
About the Authorp. xxix
Overview of Software Agilityp. 1
Introduction to Agile Methodsp. 5
Achieving Competitive Advantage in a Software Economyp. 5
Enter Agile Methodsp. 6
Agile at Scalep. 7
A Look at the Methodsp. 8
The Trend to Agile Adoptionp. 10
Business Benefits of Software Agilityp. 11
A Brief Look at XP, Scrum, and RUPp. 13
Summaryp. 15
Why the Waterfall Model Doesn't Workp. 17
Problems with the Modelp. 19
Assumptions Underlying the Modelp. 20
Enter Corrective Actions via Agile Methodsp. 26
The Essence of XPp. 29
What Is XP?p. 29
What's So Controversial about XP?p. 30
What's So Extreme about XP?p. 30
The Fundamental Tenet of XPp. 31
The Values, Principles, and Practices of XPp. 33
The Process Model for XPp. 38
Applicability of the Methodp. 39
Suggested Readingp. 40
The Essence of Scrump. 41
What Is Scrum?p. 41
The Roles in Scrump. 42
The Philosophical Roots of Scrump. 42
The Values, Principles, and Practices of Scrump. 43
Key Practices of Scrump. 44
The Fundamental Tenet of Scrum: Empirical Process Controlp. 45
The Process Model for Scrump. 46
On Scrum and Organizational Changep. 48
Applicability of the Methodp. 48
Suggested Readingp. 49
The Essence of RUPp. 51
What Is RUP?p. 51
Key Characteristics of RUPp. 51
Roots of RUPp. 52
Agile RUP Variantsp. 60
Applicability of the Methodp. 61
Suggested Readingp. 62
Lean Software, DSDM, and FDDp. 63
Lean Software Developmentp. 63
Dynamic Systems Development Methodp. 65
Feature-Driven Developmentp. 70
The Essence of Agilep. 75
What Are We Changing with Agile?p. 75
The Heartbeat of Agile: Working Code in a Short Time Boxp. 81
Summaryp. 85
The Challenge of Scaling Agilep. 87
Apparent Impediments of the Methodsp. 88
Impediments of the Enterprisep. 90
Summaryp. 94
Seven Agile Team Practices That Scalep. 95
The Define/Build/Test Component Teamp. 101
What Is the Define/Build/Test Component Team?p. 102
Eliminating the Functional Silosp. 104
The Roles and Responsibilities of an Agile Component Teamp. 106
Creating Self-Organizing, Self-Managing Define/Build/Test Teamsp. 109
Distributed Teamsp. 114
Two Levels of Planning and Trackingp. 115
A Generalized Agile Frameworkp. 116
Summary: Two Levels of Planningp. 120
Mastering the Iterationp. 123
Iteration: The Heartbeat of Agilityp. 123
The Standard, Two-Week Iteration?p. 123
Planning and Executing the Iterationp. 124
Iteration Planningp. 125
Iteration Executionp. 129
Iteration Tracking and Adjustingp. 132
Iteration Cadence Calendarp. 135
Smaller, More Frequent Releasesp. 139
Benefits of Small Releasesp. 139
Defining and Scheduling the Releasep. 141
Planning the Releasep. 144
Release Trackingp. 147
The Release Roadmapp. 149
Agile at Scale Preview: Release Planning and Tracking in the Largep. 150
Concurrent Testingp. 155
Introduction to Agile Testingp. 155
Agile Testing Principlesp. 156
Unit Testingp. 158
Acceptance Testingp. 160
Component Testingp. 162
System and Performance Testingp. 162
Summary: Agile Testing Strategy in a Nutshellp. 164
Continuous Integrationp. 169
What Is Continuous Integration?p. 169
Continuous Integrationp. 171
The Three Steps to Continuous Integrationp. 172
What Is Continuous Integration Success?p. 175
Regular Reflection and Adaptationp. 179
Iteration Retrospectivep. 180
Release Retrospectivep. 184
Creating the Agile Enterprise189
Intentional Architecturep. 195
What Is Software Architecture?p. 195
Agile and Architecturep. 197
On Refactoring and Systems of Scalep. 201
What Are You Bu
Table of Contents provided by Publisher. All Rights Reserved.

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Excerpts

Software Methodology Career Phase I: Experiences at RELA and Requisite, Inc. I have been committed to improving software engineering and software development management practices throughout my career. While that goal has been a constant, I now recognize three distinct stages of my understanding of software development practice and maturity. In Phase I, I was the CEO of RELA, Inc., where we developed software for others on a contract basis. RELA developed a wide variety of software applications ranging from stomach-churning adventure park rides to life-sustaining medical devices. Because the software we wrote was always for others, we were constantly aware of the need to "build the right thing." Our individual livelihoods, our company, and its stakeholders all depended on our ability to understand what problems our solutions needed to address and how to apply effective best practices in achieving that solution. In order to do so, we depended on many of the rigorous practices based on the waterfall method in use at that time. Indeed, some of our customers, and other key regulatory agencies such as the FDA, mandated its use, so we followed it prescriptively even as we tried to improve it. While it is entertaining now for many of us to criticize and make fun of the methods we employed,the fact is that the waterfall method was a substantial improvement over the cut-and-try methods of the past, and more importantly, it delivered results.Much of my focus at that time was on the requirements process, because that is where the critical discovery happened, solution behavior was defined, and our contracts were based. That experience led me to my next career as founder and CEO of Requisite, Inc., makers of RequisitePro, a product solution for requirements management. At Requisite, we advanced and developed requirements practices and products, so in a sense we became experts in thefront endof the lifecycle. We sold Requisite to Rational in 1997, and I embarked on Phase II of my software development process career. Software Methodology Career Phase II: Experiences at Rational Software In this phase, I was a senior executive at Rational Software and was involved in the promulgation of the Unified Modeling Language (UML) and the Rational Unified Process (RUP). At Rational, I had the good fortune of working directly with thought leaders such as Grady Booch, Ivar Jacobson, James Rumbaugh, Walker Royce, and Philippe Kruchten. During this time, my coauthor, Don Widrig, and I also published the first edition of the Addison-Wesley textManaging Software Requirements(2000). Then our thinking was based on object orientation, and that technique provided additional flexibility in our development methods and additional resiliency in the software we wrote. It also led to a software process that was fundamentally different from the waterfall method and one that is characterized as being iterative and incremental. In this method, each iteration was a working piece of code that could be objectively assessed and evaluated. This method was far more agile than my prior experiences: we were no longer forced to rely solely on intermediate work productsdocuments, design reviews, and the likebut could see and measure tangible progress. Rational codified that process in a written process description, the Rational Unified Process, and marketed and applied that process with good success across the industry. In addition, we applied the process in the development and release of Rational Suites, which required the coordination of as many as 800 team members in four countries. We released Rational Suites twice per year, each with an integrated set of products and a common install. Rational was eventually purchased by IBM, and today RUP is marketed under the auspices of IBM's Rational Software Division and is in use by hundreds of thousands of practitio

Rewards Program