People will sometimes ask us how we get value from our daily standups. This got us thinking about why we do standups in the first place, what we want to get out of the standups, and why we think our standups work.
For those not familiar with standups, they are brief meetings (usually about 10 minutes long) where those involved with development talk about what they’ve completed since the last standup, what they plan to work on next, and what problems they have encountered that are “blocking” them.
As I attempt to step back and look at the bigger picture, I see the benefits of our standups fitting into three categories: information dissemination, agility, and team cohesion.
The most important benefit of our standups is information dissemination. Communication is the biggest “make or break” component for any team. At a very basic level, the standup provides a way to update the lead engineer, project manager, and other development team members. But there’s so much more. These few minutes where team members give status updates and share problems is priceless. You never know where the next bright idea will come from, so giving even the smallest of opportunities for members to talk them out is well worth it. This sharing can spur insights that may help someone who’s stuck or uncover new ways for the team to solve problems. You never know who holds the key to the next breakthrough. It’s all very serendipitous and is a beautiful thing to see play out.
Although we are not dogmatic about it, Agile methodology greatly influences how we do things at Don’t Panic Labs. The ability to quickly make adjustments to goals, resource allocation and project velocity helps keep us as productive and innovative as possible. If we don’t see something working as well as we thought, we can quickly make adjustments to minimize the impact to our overall objectives and target milestones. Since we meet daily, the lead engineer and project manager can more precisely monitor the project. This nearly constant flow of information keeps the project on track without letting too much time pass. If we need to correct our course, we might lose a couple of days. But this is so much better than if we only met once a week. Course corrections in that environment could mean a loss of weeks (or months) of engineering time.
We also feel that getting everyone together helps to re-energize, refocus and re-align. It’s too easy to get wrapped up in our individual worlds when we spend most of our day heads down in code or testing. Maintaining a cohesive team environment is crucial to our success. But this goes beyond just the engineers and QA. We allow time for non-development updates from time to time. We’ll have a member from our sales team give occasional updates and take time to discuss any support issues.
So why do our standups work? Because we keep them short but meaningful. We purposely schedule them for only 10 minutes to help keep only the most pertinent discussions at the forefront. If a discussion happens to drift off into a longer conversation that only involves a few people, we’ll most likely take it offline and come back to it after the meeting. Except for occasional non-development contributions, we allow only the development team to share updates. However, we encourage anyone to attend the standups. That helps make everyone feel like part of the team.
And how do we keep standups so short? It all comes down to iteration planning. To keep this post from getting too long, I can sum up our planning like this: We make sure that user stories are broken down into manageable work items that reflect the “how” of the implementation (less than 4 hours, 4-12 hours, and more than 12 hours). Because of the quick turnaround, each engineer should have a fresh update every day. If not (i.e., an engineer is working on the same item for several days), then we know we may have a problem.
In looking at the benefits of our standups, I personally can’t imagine doing it any other way. We’re updated by the team on a daily basis of the status while spending less “meeting” time than a typical weekly corporate meeting, we can quickly course-correct with little disruption, and we keep everyone feeling like they’re part of a team (and not some lone robot pounding out code all day). But most importantly, we count on the team leadership to lead by example. We don’t need any formal “do and don’t” lists when values are imparted through facilitation.
Perhaps some outside of Don’t Panic Labs may see this as a totally foreign concept, but we’ve proven over and over that daily standups work best for us.