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.