In this interview, Andy Hunt, a consultant, author, and publisher, explains why agile development is in a rut. He also covers why agile is so often abandoned, the issues with doing agile "by the books," and his GROWS Method.
Josiah Renaudin: Today I’m joined by Andy Hunt, a consultant, author, and publisher, as well as a keynote speaker for Agile Development, Better Software & DevOps Conferences East. His presentation is titled “Introducing the GROWS Method for Software Development.” Andy, thank you very much for joining us.
First, could you tell us a bit about your experience in the industry?
Andy Hunt: I've been a programmer for over thirty years and consulted and worked for and with very large companies and very small ones. I've written nine or so books, including some classics and best-sellers. I happened to stumble along into a get-together a few years back with a bunch of smart folks, and at that meeting we collectively coined the word "agile" and wrote the Agile Manifesto—which, apparently, everyone has heard of, but fewer have actually read.
Josiah Renaudin: You start your keynote abstract by asserting that agile development is in a rut. Briefly, why do you feel that way?
Andy Hunt: If you go out and talk to folks in the industry, or to the folks who post questions and raise issues to forums and various social media outlets, you realize that while there are a lot of people effectively developing software today using agile methods, there are a great many who are struggling, and failing. And there are a huge number of misunderstanding as to what "agile" is, and how to achieve an agile approach.
Josiah Renaudin: Why is agile so often abandoned after a team sinks so much time into making the transition?
Andy Hunt: Because they don't understand what agility actually is all about; instead, they concentrate on adopting the canned practices made popular by current methods. The practices are fine, and very useful, don't get me wrong, but the effort is often spent on following directions, not on understanding what it is you're trying to accomplish and why. So folks aren't getting the results they deserve.
Josiah Renaudin: Which popular agile methods are actually not agile, in your mind?
Andy Hunt: None of them, in my mind. Agile is about adapting to change, and the only changes to the major method have been pretty minor over the last decade and a half. But what we're developing today can look very different from projects from fifteen to twenty years ago. That doesn't strike me as particularly agile or embracing of change.
Josiah Renaudin: Are people or teams too often stuck to doing agile by-the-books? Does that make it more difficult to adapt when things go wrong?
Andy Hunt: Absolutely so. The whole point of agile is that there is no book. There is no canon. "Canonical agile" is an oxymoron—there is, by its very definition, no such thing, nor can there be. You don't want to "do" agile, as it's often viewed. Instead, you want to cultivate and grow your skills, and your team's skills, so that you can "be" agile—so that you can face a sea of unexpected changes with the elegance and finesse of a Swiss Army knife and a roll of duct tape.
Do you recall the motto of the US Marine Corps? “Improvise, Adapt, Overcome.” That's what agile software development is all about. It's not about backlog grooming, or TDD, or planning poker, or pairing, or velocity, or ... it's about adapting.
Josiah Renaudin: What is the GROWS Method, and what is it based on? What are the four key ideas?
Andy Hunt: The first key idea is to use a learning model when introducing a new method. As a beginner to a new method, you can't be expected to use your judgment, because you don't have any experience with it yet. It's like a cooking show that tells you to "cook until done." Well, as a novice, I don't really know what that means. So there needs to be a progression from a novice stage, with easy rules to follow, up to a more professional level that requires judgment and experience.
The second key idea is to promote the notion of an experiment to a first-class part of the method. You adopt new practices in the GROWS Method by using an experiment. You make technical and design decisions by using experiments—real outcomes for the real world. Novel idea, isn't it?
The third idea is that a successful method has to include all the players—from executives to users. They all have a part to play, and it would probably be helpful if they knew what that was.
The fourth idea falls naturally out of these three: Self-determined adaption. One size does not fit all, and this framework gives us a great opportunity to tune our practices to the local context of this organization.
Josiah Renaudin: How is it similar to agile, and additionally, what makes it more effective?
Andy Hunt: So, "Is it agile?" is an interesting question. Part of the problem is trying to define what that even means any more. There's been a lot of harm done in the name of agile. Wrongly so, but done nonetheless. Jared has this phrase about "weaponized agile," and that's definitely been a problem: folks abusing agile practices to torture their teams and users.
The GROWS Method honors the intent of the Agile Manifesto. It tries to avoid dogmatic approaches, and recognize that there is no such thing as a "typical" company; that one size does not fit all. It tries to incorporate better ideas about learning, so that you start with very simple practices that do not require a lot of judgment calls, and progress to practices that require more experience and judgment once you have more experience.
Josiah Renaudin: More than anything, what message do you want to leave with your keynote audience?
Andy Hunt: Hope and self-determination. A development method is not a magical wishing well; you can't just throw your money in and having magical dancing unicorns come flying out. If you want magical dancing unicorns, you have to build them yourself—slowly, in small stages, with a lot of feedback and experimentation, just like the inventor of the human-powered Gossamer Albatross airplane.
The good news is that you can. No magic required—just small steps, with concrete feedback.
One of the seventeen authors of the Agile Manifesto, Andy Hunt is a programmer-turned-consultant, author, and publisher. After working at large Fortune 500 companies and small startups, Andy and Dave Thomas joined to write the seminal software development book The Pragmatic Programmer. Founders of The Pragmatic Programmers, Dave and Andy are well known as early supporters of the agile movement. The books published by their Pragmatic Bookshelf help keep developers at the top of their game. Andy has authored nine books, including Pragmatic Thinking & Learning and Learn to Program with Minecraft Plugins: Create Flaming Cows in Java for the kids. Follow Andy on Twitter @PragmaticAndy.