“Agile” has been a buzzword in the software industry for quite some time now. Recent studies show that almost half of all software projects are utilizing some form of agile methodology. More recently though, agile has been showing up again and again in mainstream publications touting success in various non-software project settings. The Wall Street Journal recently posted on how modern families are using agile to improve communication within the family. NPR has written about how they are using agile to reduce the costs of their programming by up to 66%. Here’s a recent TED talk about again, using agile in the family. The Director of Marketing for REI recently published a video talking about how they use agile for marketing at REI. Finally, there was a recent article on Forbes about how agile is the “best kept management secret on the planet”. These are only a few of the many examples that I have seen. Clearly, a lot of people outside of software are seeing value in the ideas and principles behind agile.
I recently had the pleasure of delivering an hour long presentation on Agile as part of our lunch time Team Member Development (TMD) series at Daxko. During my talk, I presented the following 10 ways that agile can improve any team.
1. Break things down
What’s the saying, “How do you eat an elephant? One bite at a time…” Like many aspects of agile, this one seems like a no-brainer. Break large tasks up into smaller, more manageable ones. Prioritize them, and work on the most important ones first. Deliver the smallest, most valuable thing as soon as possible. Get feedback on it and adjust your plans as needed.
2. Focus on outcomes instead of output
I feel so strongly about this one that I wrote an entire separate blog post on it. The idea is that we intuitively think about our work in terms of output. How many cases did we close? How many features did we release? How many emails, phone calls, etc. did we make? We think about our work in terms of output because it is easy to measure, but it’s not what really matters. What matters is the impact or outcome of our work. We should focus on minimizing our output while maximizing the outcomes. Which things can we do to have the biggest impact in our customer’s lives?
3. Make your work visible and transparent
Consider using a physical task board to make your team’s work more visible. Almost everyone has a tough time with this at first. Create columns for things to do, work in progress, and completed tasks. This can do wonders for your team’s communication and collaboration on projects. It is simple but there is something inherently satisfying about moving a task across the board. Try it out!
4. Track your progress
Set goals for your team and measure the progress towards them. The simpler, the better but make sure that it is highly visible. Post it in a public team space where people will see it often.
5. Embrace change
Eisenhower said “Plans are worthless, but planning is essential” and I think he was on to something. Planning is great, but don’t get so tied to your plans that you aren’t willing to change them when you have more information or circumstances change. Be very cautious about making detailed long term plans that are costly to change. If you do this, you’ll be much more willing to steer the ship around the iceberg that just emerged instead of trying to knock it out of the way.
6. Daily standup meetings
Have a quick, daily meeting that allows each team member to share what they accomplished since the last meeting, what they are planning to accomplish next, and any obstacles that are preventing them from making progress. Make sure everyone is standing during the meeting to help keep the meeting short and sweet. Mornings are a good time for these since they can help the team get in sync early.
7. Eliminate waste
One of the agile principles is around the idea of simplicity. Maximizing the amount of work not done, is essential. Are you and your team empowered to question the value of your work? Be willing to ask if and why something is valuable. If it is no longer valuable, be willing to see what happens if you stop doing it. Look for things that are wasteful and eliminate them. This will free you and your team up to focus on the things that drive outcomes. You know – the things that matter!
8. Self organizing teams produce the best results
Teams should be trusted and empowered to focus on doing whatever is necessary to deliver results. Encourage teams to swarm on tasks that need to be completed even if it puts them out of their comfort zone. Trust the individuals closest to the work being performed to make decisions on how to do the work. “Don’t tell people how to do things, tell them what to do and let them surprise you with their results.” – George S. Patton
9. Inspect & adapt
Continuous improvement is one of the most valuable and important principles of agile in my opinion. Encourage your team to constantly look at how they are working and ask, “What can we do to improve?” or “How can we be more effective?”. Agile teams do this in regular meetings called retrospectives. These meetings happen regularly (usually every 2 weeks) and the team is encouraged to talk candidly about their work and how things are going on the team. Positive things are reinforced, negative issues are discussed openly, and ideas for changes are considered and planned.
10. Have fun!
Remember, there is no “one size fits all” version of these agile ideas and techniques. Feel free to experiment and make adjustments and tweaks to these ideas to fit your specific team’s context and needs. Most importantly, remember to have fun and enjoy what you are doing!
Jason B. is a software testing professional that loves a good challenge. When he’s not running waterfalls in his kayak, he’s working to make the world a more “agile” place.