We’ve had to change our standup practice at FreshBooks. The daily standup has been a part of FreshBooks developer life for years now. A quick standup is a great way for the members of a team to stay up-to-date on what their colleagues are up to, for folks who need help to get it right away, and for warning those who are unknowingly about to step on thin, suspended-above-razor-blades-and-lava, ice.
But as a team grows, it gets harder and harder to include everyone in a standup. It starts to take too long — a meeting that ought to be no more than a few minutes consumes a quarter of an hour, and with so many reports coming in, it’s difficult to keep what everyone’s doing in your head. No matter how disciplined your standup practice may be, it will only scale so far. We reached this point recently at FreshBooks, and we’ve struggled to find the right solution.
Finding a Solution
One possibility was to carry on as we were, and just take more time on the standup. We decided not to go with this, although it’s arguable that we waited too long. Our standup is approaching twenty people now, which is way too many in my opinion.
Another was to abandon the pretense of the full-team standup as straight-up impossible, and just have each team do their own standups. What we worried about here was the loss of any sort of cross-team communication and sharing. Our application environment is pretty complicated, and it can be hard to predict how pulling on this bit over here might affect other parts over there, so this is a real concern for us. People on one team need to have some way of easily knowing what other teams are up to.
The Ninja Standup
What we decided on was a “Ninja Standup”. You probably know the “Ninja Parade” meme — empty street, ha ha. So our ninja standup is one in which nobody is physically present.
We use a “Status” feature (kind of like Twitter) and have agreed that we’ll all update our Status with our daily update each day prior to 10am, with the standard “stand-up” report: what I did yesterday, what I’m doing today, and anything that’s blocking my progress. We have a wiki page that pulls all those updates and displays them in one place, so we can all just check that page at 10:00 and get an overview of what everyone’s working on.
It’s not perfect — many of the teams are now doing their own team-specific standups as well, since the Ninja Standup doesn’t afford the easy conversation that marks a “live” standup. But it at least offers a place where each of us can get a quick notion of what our entire team is up to.
Growth is a tough, tough problem to manage. FreshBooks has been constantly evolving as we’ve grown, constantly changing our practices — but always doing so without losing the core of values and attitude that have made this place so great to work at. And now, it’s full of ninjas!