If there is an ultimate measure of Agile success, it's this: The approach continues to prove useful outside of software development. I know that some executives adopt Agile techniques to improve business operations. But until recently, I was unaware that Agile can spell success for family management, too.
Last week, half-listening to my local NPR station, I heard New York Times journalist Bruce Feiler talk about Agile success. I'm familiar with his work, but I did not know he covers software development. Turns out, he doesn't. The author of a book called The Secrets of Happy Families was explaining how Agile programming techniques have helped his and many other families solve everyday problems faced by people who live or work together. "Nearly everyone I know is overwhelmed by the chaos of family life," Feiler said in the video that was earlier delivered as a TED talk.
In this talk, Feiler related how convening short meetings, letting the kids devise their own solutions, and making a family commitment to change course quickly when things went wrong calmed that chaos. His TED talk wasn't about software development at all, but it was, in the truest sense of the word, a success story for Agile techniques.
Feiler said that for families, Agile success comes down to three things: adapt all the time, empower the children, tell your own story. His talk reminded me how powerful Agile techniques are when applied consistently, and well. It also reinforced how elusive Agile success can be, even for software teams with mature practices. Here's my take on how Feiler's points apply to software pros.
Agile success: Adapt all the time
Bruce FeilerNew York Times journalist
Continually adapting is at the heart of any Agile practice. Feiler called this "a built-in system of change." He said parents seeking to raise their kids right rely too heavily on advice from shrinks and self-help experts. They fail to question conventional wisdom such as "family dinner is good for kids." But what if that's impossible at your house? Mom works late. Kids have soccer practice. Maybe family breakfast is your answer, Feiler told the audience. In other words, the family, or the whole team, can solve any problem that comes before it.
To achieve Agile success -- delivering the best software for the business -- software pros adapt the rules, too. For instance, conventional wisdom calls for sustained engagement of business stakeholders in the development process. All software teams understand why that's important. But is there an Agile team out there that hasn't struggled to make this happen? It calls for the difficult to master skill of managing without authority: How do you insist that business executives take part in your process when they don't work for you? You improvise. You engage with them in short sprints. As a team, you continually seek new, more effective ways of getting business leaders involved in software development.
Agile success: Empower the kids!
Feiler's talk reminded me the ways kids (and parents) act out in families are not dissimilar to how professionals behave at work. His family, for example, is working on the problem of overreacting: a kid throws a tantrum when the iPhone gets taken away; a mom goes ballistic when her kid fails a test. While brainstorming solutions, one of Feiler's daughters recommended each family member be permitted to overreact for 10 minutes a week. "Does that mean one 10-minute tantrum? Or can you do it twice for five minutes at a time? How about 10 times a week, provided each outburst lasts only a minute?" her sister wanted to know.
Like kids, professionals -- OK, some more than others -- overreact, not because they are childish but because it's human nature to do so. But what if, instead of being outraged by the behavior, we talked about it, anticipated it and built it into our process? By acknowledging that human beings overreact, we accept the behavior and place limits on it. That frees us to find solutions, move on and get real work done. As software pros, we're not likely to prevent outbursts by outside stakeholders we engage with. But can we anticipate such outbursts and focus on the work of delivering the right software, instead of becoming overwhelmed by and angry at difficult people.
Agile success: Tell your story
Feiler said adaptability and anticipating certain behaviors are two aspects of Agile success. The third is what he called "tell your story." Families -- and software teams -- do that by speaking up about who they are, what they know, where they come from, what they believe and what they aspire to. Often, that involves working as a team to create a mission statement of sorts, a list of values the team thinks is important.
So, I'm working on mine. Here's what I have so far: Tell the truth, admit when you're wrong. Walk at least 10,000 steps a day, turn off the computer when you can. Find a way to work toward long-term goals, while also allocating enough time to complete immediate tasks and make deadlines.
There's no formula for getting software development, or family management, right. Both are hard. But Agile techniques, applied continually and well, lead to Agile success in both arenas.
I'll go with that. What about you? Let me know what you think.
Overcoming feature creep
Building a software development team
Making Agile fit for business
Alternative approaches for managing requirements with the Agile process