...And Found A Way To Make Agile Development Even More Agile
Every engineering leader knows about the Mythical Man-Month -- the wishful idea that a software project can be delivered faster simply by adding more people. We’ve all tried and failed at this. Recently, Cloverpop faced this problem as our engineering team grew faster and faster with each round of funding.
The higher the headcount, the more time each person spends trying to coordinate with everyone else. More questions, more training, more politics, more documentation, more meetings. Especially more meetings. So nobody was more shocked than I was when our per person productivity actually increased after a recent round of hirings. It felt like the software equivalent of a perpetual motion machine. It was magic.
During this magical productivity increase we were fully expecting a drop in productivity. It wasn’t that we were hiring people ready to hit the ground running. Most of them were junior and none of them had work experience with an app as large and mature as ours. After double and triple checking the numbers, I tried coming up with every plausible explanation to identify what was going on.
The Magic Wand Of Decision Making
Agile is designed to empower all levels of a team, so decision-making ideas come from all sides. This ad hoc style of agile decision making creates decision chaos that gets processed by lots and lots of meetings: sprint planning, execution, reviews, retrospectives, backlog refinement, etc. Agile is far better than the rigidity of a top-down approach, but the meeting onslaught is still painful.
Mid-way through our seed round, we started using the decision-making software we are building, called Cloverpop. It began as an “eat our own dogfood” strategy so we could contribute to our user testing. However, it soon transformed our agile process with a startling (and awesome) side effect: the elimination of most team-wide meetings without any negative side effects. Once we no longer had to coordinate our schedules to hold these meetings, our engineers spent significantly more time getting work done with fewer interruptions.
Cloverpop’s approach to agile decision making also vastly improved the quality of our decisions. We came to find out that meetings aren’t very good at bringing out the best ideas from the team. Cloverpop allowed us to draw out the best ideas from everyone, including team members around the globe with a range of experience and responsibilities, even the quiet ones who really know what’s up but are hesitant to speak up in a crowded meeting. At the same time, we improved the impact of diversity on our decisions -- to go deeper on that, download our free white paper, Hacking Diversity with Inclusive Decision Making, or watch our free webinar.
Cloverpop also helped us implement decisions more quickly. When you have to coordinate everyone's schedule for a meeting, it can take days, or even weeks, to have an initial discussion. With Cloverpop, people would respond much faster. Because we documented and shared decisions transparently when we made them, communication across the company was automatic. With no added effort, this kept the team aligned and cut rehashing of old decisions. Since we were following checklists based on behavioral science to enforce best practices, we made far fewer mistakes that would have triggered wasted meeting cycles and costly backtracking.
And so individual productivity went up even as the team doubled in size.
Decision Checklists Can Kill Bad Meetings
Agile decision making requires structure and consistency to work efficiently across an engineering team. Decision checklists are an extremely effective way to do this. For instance, when we needed to prioritize features for the next sprint we used an automated version of this checklist instead of holding a meeting:
What features should we include in the next sprint?
Updated Error Page
Upgrade Ruby Gems
Overall User Experience
Roger Top Choices
Slack Integration -- it’ll improve both our Active Use and Overall User Experience more than anything else. Also Ben is available to lead the charge on it and he’s been experimenting with the API already.
Upgrade Ruby Gems -- this will help us prepare for the next Ruby release which I hear is going to have some nice speed and security improvements (Overall User Experience + Security)
Ann Top Choices
Ann's choices here.
[NAME] Top Choices
And so on.
After inviting team members to weigh in, they can add additional choices, make notes, see what others have said, and vote for what they think we should do. If the team doesn’t reach consensus in the document, a meeting can still happen to resolve any differences, but it usually isn’t needed.
If our team was doing this manually, it would take a bit of time to set up a decision checklist like this. But once it’s in place, the team can breeze through decisions quickly when they are on a break from their engineering work. If you choose to use Cloverpop, it will assemble this checklist for you, plus handle all the messaging back and forth to get everyone on the team to weigh in and reach consensus.
How You Can Do This Too
Here are a few things you can do to make the shift from meetings to decision checklists:
Lay down the law with the team: “If the checklist is not complete, it’s not decided.”
Encourage everyone who is trying to innovate and solve problems to use this same checklist approach to bubble up and drive group decisions.
Only allow decision meetings to happen if the checklist is completed without achieving consensus.
For our team, once these new habits took hold we noticed the agile chaos transform into a smooth process that ran better than I could have imagined. Bad ideas got nipped in the bud, good ideas quickly gained momentum and were implemented super fast -- all without unnecessary meetings. As our internal Cloverpop use went up, so did our productivity.
The True Story Of A Real Vacation
In August I took my family on a weeklong vacation in the Pacific Northwest to hike the giant redwoods and watch the eclipse. There were long stretches where I didn’t have any cell phone coverage, so I was only able to get online in the evenings at our hotel. The last time I went on vacation I had to call in several times to resolve issues in order to keep the team from grinding to a halt, so I was expecting my phone to blow up once I connected to the Internet at the hotel.
But that didn’t happen. I spent barely 20 minutes each night weighing in on decisions that individuals on the team had initiated for project prioritization, process improvements, testing frameworks, and a host of other things both big and small. It was surreal. On my first day back our lead developer commented, “Uh, we barely noticed you were gone.”