For the past several years I’ve encouraged all my clients, and now my co-workers, to adopt agile methods on their projects. I also encourage it for any work, like software maintenance work, that can be organized as well-defined sets of tasks that are completed in a time period. In my experience, all work groups that use a good agile methodology as it’s meant to be used end up more productive and happier, too. My inspiration to write about agile today, though, comes from a different place that further proves what a good practice it is.
A new book by Bruce Feiler, “The Secrets of Happy Families,” encourages families to adopt an Agile Family Strategy. Bruce got this idea talking with a software engineer in Idaho, David Starr, who moved his family from dysfunctional to functional by bringing home his agile software development practices. Bruce tried the same agile techniques as well as lots of other good ideas for happy families and also had great success. Both Bruce and David found that what worked for software developers and their clients worked for families with kids, too. Agile’s simple consistent practices focused the family members on helping each other, being accountable, planning things to do in realistic chunks and getting them done, and involving everyone in setting rules and making decisions. Everyone was happier, more productive, and appreciated one another. This is what we want at home and at work.
The first chapter of Bruce’s book is the Agile Family Strategy. Bruce thoughtfully cited a paper published by David and Eleanor Starr – “Agile Practices for Families” – which I found on the Internet. I read the preview chapters of Bruce’s book on Amazon and ordered it for my son’s family. Russ and Kellie do a great job with their three young daughters. I saw this book as affirming and expanding their family practices. Being a software development person, I especially liked the Starr’s paper. It clearly linked agile methods (derived from the Toyota Production System or “lean”) to a realistic set of practices to engage family members in a fun way to make the pressures of everyday life with kids a little less stressful.
I think agile works in part because it’s about finding what can go right on a team instead of focusing on what’s wrong. Agile:
- Recognizes that problems and adjustments to plans occur constantly and provides a process that shows faith in the team to make good adjustments.
- Involves everyone on the team equally. No part of the work to be done is so technical or important or separate that the team can’t plan together. Agile recognizes that it takes the whole team – developers, analysts, testers, project managers, and business experts – working together to deliver good software products.
- Accepts new product ideas and requests without judgment and makes them part of the product backlog (stuff we might do). The team works together to assemble priority work from the backlog for a given work iteration or sprint that lasts about a month. The goal is to fully complete the product features in the month adding value to the product.
- Guides teams to pick what they can get done and make commitments to do it. The team picks tasks from the product backlog considering everyone’s capacity. Team members stretch and adjust during the month to complete as much as possible. What doesn’t get done can get done the next month. If they have room for more, the product backlog is visible allowing the next highest priorities to be pulled in.
- Ends each sprint with an assessment of what went right, what could be better, and what things to work on making better as part of the next sprint. If the improvements take time, then the time is built into the next sprint as a task from the backlog. It’s recognized that improvement takes commitment and time.
Project managers can be resistant to agile because ‘You’re not committing to the whole scope, schedule, and budget. How do you know what you’ll get done within constraints?’ That’s a good point, but not a limiting factor in my mind. The project manager contributes good organization to the agile process including ongoing assessment of the size of the product backlog and the capacity of the team to complete what is needed when it’s needed. Adding this to the mix allows the team to consider that in planning the work so everyone is working toward the goal. You’ll see this to be part of what Bruce and David did with their families as well.
Agile helps us do our project work every day in a way that makes the journey better. The family/team members communicate, make decisions, get things done, and make improvements in a way that encourages collaboration, commitment, and accountability. So, whether you have a houseful of kids or a room full of software engineers and users, read Bruce Feiler’s book and the Starr’s paper on “Agile Practices for Families.” Both groups are really families, and both can have a lot in common.
Thanks for reading.
Copyright 2013 Glenn Briskin and “The Other Side of Risk”
Agile work sort of fits with my mantra for this month: Don’t let perfect get in the way of progress.
What I like about agile is that it lets you imagine a perfect outcome without getting in the way of progress. You are always picking the best next step to make progress.