Register your product to gain access to bonus material or receive a coupon.
Break the Old, Waterfall Habits that Hinder Agile Success:
Drive Rapid Value and Continuous Improvement
When agile teams don’t get immediate results, it’s tempting for them to fall back into old habits that make success even less likely. In Being Agile, Leslie Ekas and Scott Will present eleven powerful techniques for rapidly gaining substantial value from agile, making agile methods stick, and launching a “virtuous circle” of continuous improvement.
Drawing on their experience helping more than 100 teams transition to agile, the authors review its key principles, identify corresponding practices, and offer breakthrough approaches for implementing them. Using their techniques, you can break typical waterfall patterns and go beyond merely “doing agile” to actually thinking and being agile.
Ekas and Will help you clear away silos, improve stakeholder interaction, eliminate waste and waterfall-style inefficiencies, and lead the agile transition far more successfully. Each of their eleven principles can stand on its own: when you combine them, they become even more valuable.
Coverage includes
Being Agile will be indispensable for all software professionals now adopting agile; for coaches, managers, engineers, and team members who want to get more value from it and for students discovering it for the first time.
How “Go To” People Help Make Agile Software Development Work (and How You Can Become One)
The Inefficiency of Multitasking: Why Your Smartphone Is a 'Weapon of Mass Distraction'
Agile Breakthrough Techniques to Keep You from "Waterfalling Backward": Whole Teams
Download the sample pages (includes Chapter 1 and Index)
Contents
Preface xviii
Acknowledgements xxi
Introduction By Leslie Ekas 1
Who This Book Is For 1
What Is Our Approach? 1
What Does This Book Cover? 3
An Overview Of The Content 4
What Do You Have To Do? 6
What Benefits Can You Get from Reading This Book? 6
Who Are We? 6
Join the Conversation 7
Chapter 1 Whole Teams 9
Being agile requires whole teams because the synergy derived from cross-disciplined and cross-component
teams working together enables teams to be more productive than working in isolation. By Leslie Ekas
Principles 10
What Is a Whole Team? 10
Why Are Whole Teams Hard to Create? 11
Cross-Component Teams 11
Cross-Discipline Teams 12
Cross-Geographical, Cross-Cultural, Large Teams 13
Stable, Dedicated, and Protected 14
Practices 16
Start with Whole Teams 16
Maintain and Protect Dedicated Teams 16
The Conversation 17
Share the Same Truth 19
No Partial Credit 19
Offer Help 20
Metrics 20
Breakthrough 21
Summary 22
Chapter 2 Active Stakeholder Interaction 25
Being agile requires active stakeholder interaction because only your stakeholders can confirm that what you create actually meets their needs. By Scott Will
Principles 26
What Is Active Stakeholder Interaction? 26
Why Can It Be Hard to Get Active Stakeholder Interaction? 27
Stakeholder Interaction Is Not a New Idea 29
Stakeholder Interaction Is Not Optional 29
Do What’s Needed—And No More 30
Practices 31
Identifying Stakeholders 31
Review Epics with Stakeholders 33
Set Expectations 33
Stakeholders Should Have Skin in the Game 34
Make Stakeholder Interaction Compelling for Your Customers 35
Doing Regular Demonstrations 35
Reacting to Feedback Received 36
When Is the Development Organization a Stakeholder? 37
Customer Support Teams as Stakeholders 38
Working with Customers in Countries Other Than Your Own 39
Metrics 39
Breakthrough 40
Summary 42
Chapter 3 Queuing Theory 43
Being agile requires embracing queuing theory practices because teams achieve greater efficiency and throughput by leveraging a steady flow of small work items. By Scott Will
Principles 44
Why Does Waterfall Thinking Still Linger? 44
Small Batches of Coordinated Work 45
Frequent Feedback 46
Ensure Sufficient Capacity 46
Practices 47
Small Task Sizes: 4 Hours, 8 Hours, 16 Hours 47
One User Story at a Time 48
Short Iterations 49
Metrics Should Support the Focus on Working Software 50
Metrics 50
Breakthrough 51
Summary 51
Chapter 4 No Multitasking 53
Being agile requires teams to avoid multitasking because teams are more productive when they focus. By Scott Will
Principles 55
One Thing at a Time Is More Efficient 55
Flow 56
Stop Starting; Start Finishing 57
Practices 57
Team Members Are Dedicated to a Project 100% of the Time 57
One Project at a Time 58
Be a “Firewall” and Stop Being a “Fast-Forward” Button 58
Pair Programming; Pair Testing 59
Calendar Ruthlessness 59
Metrics 60
Breakthrough 61
Summary 62
Chapter 5 Eliminate Waste 63
Being agile requires eliminating waste to realize significant efficiency, productivity, and quality gains. By Leslie Ekas
Principles 64
What Is Eliminating Waste? 64
Why the Focus on Eliminating Waste? 65
Technical Debt 65
Project Debt 67
Why Is It Hard to Eliminate Waste? 67
Practices 69
Get Rid of Waste... One Way or Another 69
Small Tasks 70
Build Quality In 71
Focus on Customer Value 72
Expand “Done!” Criteria 73
Handling Latent Defects 74
Stop Writing Defect Records 74
Metrics 75
Breakthrough 76
Summary 77
Chapter 6 Working Software 79
Being agile requires always having working software because it validates progress, ensures the highest levels of quality, and enables regular feedback. By Leslie Ekas
Principles 80
What Is Working Software? 80
Why Is It Hard to Regularly Have Working Software? 82
Working Software Extends Test Suites 82
Practices 83
Short Iterations 83
Continuous Integration and Automation 84
Vertically Sliced Stories 85
Evolutionary Architecture and Emergent Design 86
In-House Deploys 88
Metrics 89
Breakthrough 89
Summary 91
Chapter 7 Deliver Value 93
Being agile requires delivering real value so that customers succeed with your product. By Scott Will
Principles 94
Why User Stories? 94
Practices 97
The “So That” Clause 97
Vertically Sliced Stories 98
Acceptance Criteria 99
Using Velocity Effectively 100
Metrics 103
Breakthrough 103
What Exactly Is a Zero-Gravity Thinker? 104
A Real Example 106
Zero Gravity Thinking in Sum... 106
Summary 107
Chapter 8 Release Often 109
Being agile requires releasing software often so that teams learn fast and customers succeed sooner. By Leslie Ekas
Principles 112
Why Release Often? 112
Do Just Enough 113
Defer Commitment 114
Why Can It Be Hard to Release Often? 116
Practices 117
Start with Shorter Release Cycles 117
Epic Stories 117
Evolutionary Product Design 119
High Value First 120
High Risk First 121
Value-Driven Development: the Outworking of Frequent Code Drops 123
Metrics 124
Breakthrough 125
Summary 128
Chapter 9 Stop the Line 129
Being agile requires that teams stop the line to solve critical problems at their core so that they do not lose time by dealing with the same problem again and again. By Leslie Ekas
Principles 130
What Is Stop the Line? 130
Why Is Stop the Line Hard? 131
Practices 133
Fix Blockers 133
Reflections as a Guide 133
What if the Problem Is Too Big to Stop the Line? 133
Metrics 134
Breakthrough 139
Summary 141
Chapter 10 Agile Leadership 143
Being successful with agile requires leaders who learn, participate in, and experiment with agile so that they lead with an agile mindset and react with agile instincts. By Leslie Ekas
Principles 145
Agile Leadership 145
Why Is Agile Leadership Hard? 146
Practices 147
Learn Agile, Experience Agile, Develop Agile Instincts 147
Enable and Protect 148
Help Your Team Learn, Let Your Team Fail 149
Set Priorities, Provide Boundaries, and Let the Team Figure Out How 151
A Single, Visible View of the Truth 153
Metrics 154
Breakthrough 154
Summary 155
Chapter 11 Continuous Improvement 157
Being agile requires continuous improvement because teams that continue to learn, adapt, and evolve are more productive and competitive. Agile is a never-ending journey of getting better. By Scott Will
Principles 158
Why Is Continuous Improvement Important? 158
Why Is Continuous Improvement Hard? 159
There Is No Such Thing as “100 Percent Agile” 159
Realize That You Will Learn New Things as a Project Progresses 160
You Need to Set Time Aside to Sharpen Your Axe 160
Focus on Small, On-Going Improvements 161
Learn from Your Mistakes; Don’t Make Them Again 162
Fail Fast 162
Management Needs to Actively Promote Innovation 162
Practices 164
Reflections 164
Value Stream Mapping 166
Addressing Reluctance 167
The “Art” of Continuous Improvement 167
Share 169
Metrics 169
Breakthrough 169
Summary 170
Appendix By Scott Will 173
Exploring Your Agility: A Brief, Annotated Questionnaire 173
What Would You Be Willing to Give Up? 174
Questions on Various Agile Practices 175
How Long Are Your Iterations? 175
How Often Do You Build? 176
What Disciplines Are on Your Teams? 176
Do You Carry a Defect Backlog? 176
What Do You Automate? 177
Do You Conduct Status Meetings? 177
Are You Delivering Value to Your Customers? 178
Do You Get to “Done!” Each Iteration? 178
Are You Getting Better? 178
Concluding Thoughts 178
Index 179