Published by Pearson (March 10, 2021) © 2020
Robert Martin
Agile Values and Principles for a New Generation
Martin describes what Agile is in no uncertain terms: a small discipline that helps small teams manage small projects . . . with huge implications because every big project is comprised of many small projects. Drawing on his fifty years’ experience with projects of every conceivable type, he shows how Agile can help you bring true professionalism to software development.
Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
“In the journey to all things Agile, Uncle Bob has been there, done that, and has the both the t-shirt and the scars to show for it. This delightful book is part history, part personal stories, and all wisdom. If you want to understand what Agile is and how it came to be, this is the book for you.”–Grady Booch“Bob’s frustration colors every sentence of Clean Agile, but it’s a justified frustration. What is in the world of Agile development is nothing compared to what could be. This book is Bob’s perspective on what to focus on to get to that ‘what could be.’ And he’s been there, so it’s worth listening.”–Kent Beck“It’s good to read Uncle Bob’s take on Agile. Whether just beginning, or a seasoned Agilista, you would do well to read this book. I agree with almost all of it. It’s just some of the parts make me realize my own shortcomings, dammit. It made me double-check our code coverage (85.09%).”
–Jon Kern
Nearly twenty years after the Agile Manifesto was first presented, the legendary Robert C. Martin (“Uncle Bob”) reintroduces Agile values and principles for a new generation–programmers and nonprogrammers alike. Martin, author of Clean Code and other highly influential software development guides, was there at Agile’s founding. Now, in Clean Agile: Back to Basics, he strips away misunderstandings and distractions that over the years have made it harder to use Agile than was originally intended.
- Get back to the basics–what Agile is, was, and should always be
- Understand the origins, and proper practice, of SCRUM
- Master essential business-facing Agile practices, from small releases and acceptance tests to whole-team communication
- Explore Agile team members’ relationships with each other, and with their product
- Rediscover indispensable Agile technical practices: TDD, refactoring, simple design, and pair programming
- Understand the central roles values and craftsmanship play in your Agile team’s success
Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
Foreword xv
Preface xvii
Acknowledgments xxi
About the Author xxv
Chapter 1: Introduction to Agile 1
History of Agile 3
Snowbird 10
Agile Overview 14
Circle of Life 31
Conclusion 35
Chapter 2: The Reasons for Agile 37
Professionalism 38
Reasonable Expectations 43
The Bill of Rights 56
Conclusion 61
Chapter 3: Business Practices 63
Planning 64
Small Releases 82
Acceptance Tests 88
Whole Team 93
Conclusion 96
Chapter 4: Team Practices 97
Metaphor 98
Sustainable Pace 100
Collective Ownership 104
Continuous Integration 107
Standup Meetings 110
Conclusion 111
Chapter 5: Technical Practices 113
Test-Driven Development 114
Refactoring 123
Simple Design 125
Pair Programming 127
Conclusion 131
Chapter 6: Becoming Agile 133
Agile Values 134
The Menagerie 136
Transformation 137
Coaching 142
Certification 143
Agile in the Large 144
Agile Tools 148
Coaching—An Alternative View 155
Conclusion (Bob Again) 165
Chapter 7: Craftsmanship 167
The Agile Hangover 169
Expectation Mismatch 170
Moving Apart 172
Software Craftsmanship 173
Ideology versus Methodology 174
Does Software Craftsmanship Have Practices? 175
Focus on the Value, Not the Practice 176
Discussing Practices 177
Craftsmanship Impact on Individuals 178
Craftsmanship Impact on Our Industry 179
Craftsmanship Impact on Companies 180
Craftsmanship and Agile 181
Conclusion 182
Chapter 8: Conclusion 183
Afterword 185
Index 191
Preface xvii
Acknowledgments xxi
About the Author xxv
Chapter 1: Introduction to Agile 1
History of Agile 3
Snowbird 10
Agile Overview 14
Circle of Life 31
Conclusion 35
Chapter 2: The Reasons for Agile 37
Professionalism 38
Reasonable Expectations 43
The Bill of Rights 56
Conclusion 61
Chapter 3: Business Practices 63
Planning 64
Small Releases 82
Acceptance Tests 88
Whole Team 93
Conclusion 96
Chapter 4: Team Practices 97
Metaphor 98
Sustainable Pace 100
Collective Ownership 104
Continuous Integration 107
Standup Meetings 110
Conclusion 111
Chapter 5: Technical Practices 113
Test-Driven Development 114
Refactoring 123
Simple Design 125
Pair Programming 127
Conclusion 131
Chapter 6: Becoming Agile 133
Agile Values 134
The Menagerie 136
Transformation 137
Coaching 142
Certification 143
Agile in the Large 144
Agile Tools 148
Coaching—An Alternative View 155
Conclusion (Bob Again) 165
Chapter 7: Craftsmanship 167
The Agile Hangover 169
Expectation Mismatch 170
Moving Apart 172
Software Craftsmanship 173
Ideology versus Methodology 174
Does Software Craftsmanship Have Practices? 175
Focus on the Value, Not the Practice 176
Discussing Practices 177
Craftsmanship Impact on Individuals 178
Craftsmanship Impact on Our Industry 179
Craftsmanship Impact on Companies 180
Craftsmanship and Agile 181
Conclusion 182
Chapter 8: Conclusion 183
Afterword 185
Index 191