Summary
The first book to show programmers how to implement eXtreme Programming quickly and easily through the SCRUM process. SCRUM is the fastest, easiest to implement, and most widely accepted Agile process. Immediately start producing software incrementally regardless of existing engineering practices or methodologies. Simplify XP implementation through a SCRUM wrapper. The software development industry is and will continue to be embroiled in controversy theSCRUMbook provides theory, metaphor, examples, and nomenclature for this controversy.eXtreme Programming is an ideal many software shops would love to reach, but with the constant pressures to produce software quickly, they cannot actually implement it. The Agile software process allows a company to implement eXtreme Programming quickly and immediately-and to begin producing software incrementallyin as little as 30 days! Implementing eXtreme Programming is easier said than done. The process can be time consuming and actually slow down current software projects that are in process. This book shows readers how to use SCRUM, an Agile software development process, to quickly and seamlessly implement XP in their shop-while still producing actual software. Using SCRUM and the Agile process can virtually eliminate all downtime during an XP implementation.Ken Schwaberis president of Advanced Development Methods (ADM), a company dedicated to improving the software development practice. He is an experienced software developer, product manager, and industry consultant. Schwaber initiated the process management product revolution of the early 1990's and also worked with Jeff Sutherland to formulate the initial versions of the Scrum development process.Mike Beedle,an experienced software development practitioner, is the founder and CEO of e-Architects, Inc., a management and technical consulting company that helps its clients develop software in record time. Beedle has contributed to thousands of software projects for the last 20 years, and has used, recommended, and guided others to implement Scrum since 1995.
Author Biography
Ken Schwaber is president of Advanced Development Methods (ADM), a company dedicated to improving the software development practice. He is an experienced software developer, product manager, and industry consultant. Schwaber initiated the process management product revolution of the early 1990's and also worked with Jeff Sutherland to formulate the initial versions of the Scrum development process.
Mike Beedle, an experienced software development practitioner, is the founder and CEO of e-Architects, Inc., a management and technical consulting company that helps its clients develop software in record time. Beedle has contributed to thousands of software projects for the last 20 years, and has used, recommended, and guided others to implement Scrum since 1995.
Table of Contents
| Foreword |
|
v | |
|
|
|
|
|
| Foreword |
|
vi | |
|
|
|
|
|
| Preface |
|
viii | |
|
|
|
1 | (22) |
|
|
|
2 | (5) |
|
|
|
7 | (3) |
|
|
|
10 | (11) |
|
|
|
10 | (7) |
|
|
|
17 | (2) |
|
|
|
19 | (2) |
|
How the Book is Organized |
|
|
21 | (2) |
|
|
|
23 | (8) |
|
|
|
23 | (3) |
|
|
|
26 | (1) |
|
Cut Through the Noise By Taking Action |
|
|
27 | (1) |
|
|
|
28 | (1) |
|
|
|
28 | (1) |
|
Daily Visibility Into the Project |
|
|
29 | (1) |
|
Incremental Product Delivery |
|
|
29 | (2) |
|
|
|
31 | (26) |
|
|
|
31 | (1) |
|
|
|
32 | (3) |
|
Product Owner Solely Controls the Product Backlog |
|
|
34 | (1) |
|
Estimating Backlog Effort |
|
|
35 | (1) |
|
|
|
35 | (5) |
|
|
|
36 | (1) |
|
|
|
36 | (1) |
|
|
|
37 | (1) |
|
Team Responsibilities and Authority |
|
|
38 | (1) |
|
|
|
39 | (1) |
|
|
|
40 | (7) |
|
Establishing a Meeting Room |
|
|
41 | (1) |
|
|
|
42 | (1) |
|
|
|
42 | (1) |
|
Format of the Daily Scrum |
|
|
43 | (1) |
|
|
|
44 | (1) |
|
|
|
45 | (1) |
|
Establishing Follow-Up Meetings |
|
|
46 | (1) |
|
|
|
47 | (3) |
|
Sprint Planning Meeting Overview |
|
|
47 | (1) |
|
Identify Product Backlog and Goal for Next Sprint |
|
|
48 | (1) |
|
Define Sprint Backlog to Meet Sprint Goal |
|
|
49 | (1) |
|
|
|
50 | (4) |
|
Product Increments Are Mined from Chaos |
|
|
51 | (1) |
|
No Interference, No Intruders, No Peddlers |
|
|
51 | (1) |
|
|
|
52 | (1) |
|
Abnormal termination of Sprints |
|
|
53 | (1) |
|
|
|
54 | (3) |
|
|
|
57 | (32) |
|
|
|
57 | (3) |
|
Implementing Scrum for New Projects |
|
|
57 | (1) |
|
Implementing Scrum for Ongoing Projects |
|
|
58 | (1) |
|
Improving Engineering Practices |
|
|
59 | (1) |
|
Business Value through Collaboration |
|
|
60 | (8) |
|
Example of Scrum Management |
|
|
62 | (6) |
|
|
|
68 | (4) |
|
Use Frequent, First-Hand Observations |
|
|
69 | (1) |
|
Backlog, Assessing Progress and Predicting the Future |
|
|
70 | (2) |
|
|
|
72 | (8) |
|
|
|
76 | (4) |
|
|
|
80 | (9) |
|
Manage Cost, Date, Quality and Functionality |
|
|
82 | (1) |
|
|
|
83 | (6) |
|
|
|
89 | (16) |
|
|
|
89 | (2) |
|
Noise in Systems Development Projects |
|
|
91 | (3) |
|
Why Current System Development Methodologies Don't Work |
|
|
94 | (6) |
|
|
|
100 | (3) |
|
|
|
103 | (2) |
|
|
|
105 | (18) |
|
|
|
105 | (1) |
|
The New Product Development View of Scrum |
|
|
106 | (2) |
|
The Risk Management and Predictability View of Scrum |
|
|
108 | (2) |
|
The Kuhnian View of Scrum |
|
|
110 | (1) |
|
Knowledge Creation View of Scrum |
|
|
111 | (2) |
|
The Complexity Science View of Scrum |
|
|
113 | (5) |
|
|
|
113 | (2) |
|
|
|
115 | (2) |
|
Scrum Organization, Processes and Roles |
|
|
117 | (1) |
|
Anthropological View of Scrum |
|
|
118 | (1) |
|
The System Dynamics View of Scrum |
|
|
119 | (1) |
|
The Psychological View of Scrum |
|
|
120 | (1) |
|
|
|
121 | (2) |
|
Advanced Scrum Applications |
|
|
123 | (17) |
|
Applying Scrum to Multiple Related Projects |
|
|
123 | (5) |
|
|
|
124 | (1) |
|
|
|
124 | (1) |
|
Initial Setup and the Shared Resources Scrum Team |
|
|
125 | (2) |
|
Developing the Second Application |
|
|
127 | (1) |
|
Developing More Applications |
|
|
128 | (1) |
|
Review of Specific Techniques |
|
|
128 | (1) |
|
Applying Scrum to Larger Projects |
|
|
128 | (5) |
|
The First Executable Prototype and First Branch of Development |
|
|
129 | (1) |
|
|
|
130 | (1) |
|
Initial Setup and the Shared Resources Scrum Team |
|
|
130 | (1) |
|
Developing Through a Second Branch |
|
|
130 | (1) |
|
Developing Through More Branches |
|
|
131 | (2) |
|
Case Study of Multiple-Related Projects: A Benefits Company |
|
|
133 | (3) |
|
|
|
134 | (2) |
|
|
|
136 | (1) |
|
|
|
136 | (1) |
|
Case Study of Large Project: An Outsourcing Company |
|
|
136 | (4) |
|
Scrum and the Organization |
|
|
140 | (7) |
|
|
|
140 | (1) |
|
|
|
141 | (1) |
|
The Scrum Master as a Change Agent |
|
|
142 | (1) |
|
|
|
143 | (1) |
|
|
|
143 | (1) |
|
|
|
144 | (1) |
|
|
|
144 | (1) |
|
|
|
145 | (1) |
|
Organizational Encroachment |
|
|
145 | (1) |
|
|
|
146 | (1) |
|
Scrum and Mission Statements |
|
|
146 | (1) |
|
|
|
147 | |
|
|
|
148 | |
|
|
|
149 | |
|
|
|
151 | |
|
|
|
152 | |
|
|
|
153 | |
Excerpts
This book was written for several audiences. Our first audience is application development managers that need to deliver software to production in short development cycles while mitigating the inherent risks of software development. Our second audience is the software development community at large. To them, this book sends a profound message: Scrum represents a new, more accurate way of doing software development that Is based on the assumption that software is a new product every time that it is written or composed.Once this assumption is understood and accepted, it is easy to arrive at the conclusion that software requires a great deal of research and creativity, and the therefore it is better served by a new set of practices that generate a self-organizing structure while simultaneously reducing risk and uncertainty. Finally, we have also written this book for a general audience that includes everyone involved in a project where there is constant change and unpredictable events. For this audience Scrum provides a general-purpose project management system that delivers, while it thrives on change and adapts to unpredictable events. Software as "new product" as presented in this book, is radically different from software as "manufactured product", the standard model made for software development throughout the last 20 years. Manufacture-like software methods assume that predictability comes from defined and repeatable processes, organizations, and development roles; while Scrum assumes the process, the organization, and the development roles are emergent but statistically predictable, and that they arise from applying simple practices, patterns and rules. Scrum is in fact much more predictable and effective than manufacturing-like processes, because when the Scrum practices, patterns and rules are applied diligently, the outcome is always; 1) higher productivity, 2) higher adaptability, 3) less risk and uncertainty, and 4) greater human comfort. The case studies we provide in this book will show that Scrum doesn't provide marginal productivity gains like process improvements that yield 5-25% efficiencies. When we say Scrum provides higher productivity, we often mean several orders of magnitude higher i.e. several 100 percents higher. When we say higher adaptability, we mean coping with radical change. In some case studies, we present cases where software projects morphed from simple applications in a single domain to complex applications across multiple domains: Scrum still managed while providing greater human comfort to everyone involved. Finally, we show through case studies that Scrum reduces risk and uncertainty by making everything visible early and oftento all the people involved and by allowing adjustments to be made as early as possible. Throughout this book we provide 3 basic things: 1) an understanding of why this new thinking of software as new product development is necessary, 2) a thorough description of the Scrum practices that match this new way of thinking with plenty of examples, and 3) a large amount of end-to-end case studies that show how a wide range of people and projects have been successful using Scrum for the last 6 years. This last point is our most compelling argument: The success of Scrum is overwhelming. Scrum has produced by now billions of dollars in operating software in domains as varied as finance, trading, banking, telecommunications, benefits management, healthcare, insurance, e-commerce, manufacturing and even scientific environments. It is our hope that you, the reader of this book, will also enjoy the benefits of Scrum, whether as a development staff member wishing to work in a more predictable, more comforting, and higher producing environment, or as a manager desiring to finally bring certainty to software development in your organization. Mike Beedle, Chicago Ken Schwaber, Bo