Are daily stand-ups necessary?

On a recent long project, our team’s commitment to continuous improvement led to some interesting results.  Originally, we started with quite a bit of the Scrum ceremony, such as sprint planning meetings, time-boxed iterations, and daily stand-ups.  However, since we practiced “whole team”, the daily stand-ups included around 25 people or so.  As a means of communicating information, these meetings tended to drag quite a bit.

As time went on, the importance of our daily stand-ups waned, to the point where in many cases we stopped doing them altogether.  It wasn’t that we didn’t find value in these meetings, but that instead we found better, more efficient ways to communicate information.

Waiting to communicate

In the daily stand-up, you answer three simple questions:

  • What did I accomplish yesterday?
  • What will I do today?
  • What is preventing me from accomplishing today’s goals?

It took me a while to understand, but a conversation Scott Bellware a couple years back drove a simple point home.  Why are you waiting for a once-a-day meeting to bring up a blocking issue?  Unless this blocking issue happened in the previous 15 minutes before the meeting, how much did you waste by keeping the blocking issue internal?

Scott recommended that each of these questions could be more efficiently answered, and answered in a JIT fashion.  When you need to know the answer, just ask!  When you have a blocking issue, just raise it!  Don’t wait for the next day to raise the flag for help.


Examining the goals

The purposes of a daily stand-up include:

  • Share commitment
  • Communicate status, progress and plans
  • Identify obstacles
  • Set direction and focus
  • Build a team

The problem I have with a daily stand-up is that no matter how short it is, it still stops everyone’s workflow for 10-20 minutes.  That’s 10-20 minutes of downtime, plus whatever time it takes to prepare, plus whatever time it takes to resume activities started before the meeting.

Often, the standup meeting takes place well after the time I’ve arrived at work.  It can take quite a bit of time to “prime the pump” and work efficiently.  Human beings do not deal well with interruptions and context switching.  While these goals are good, are there different, more efficient ways of dealing with them?

Sharing commitment

When I’ve worked with a strong, motivated team, shared commitment came naturally.  Everyone had a shared goal of moving stories to production in the shortest time possible.  Everything else that did not add value to that process was superfluous to that goal.

When our team did not have shared commitment, there were often larger issues at play.  It could be that the goals were not effectively communicated from management.  It could be that work habits were not in tune.  But often I’ve seen people shy away from the individual commitments that a stand-up brings.  You can say it’s a shared commitment, but that’s tough to do psychologically when the questions answered are centered around “I”.  What did “I” do yesterday.  What will “I” accomplish today, and so on.

Instead, I’ve seen that when a commitment made to the team isn’t met, when a mini-deadline is given, the person is often left in a negative, defensive position when the commitment isn’t met for whatever reason.

Communicate status, progress and plans

This can ALL be accomplished with a single, visible, shared and open story wall.  A story wall is a place where you can visually see where a story is in the overall process.  Ideally, the story wall is physical (or at least very visible to everyone).

All three of these items can be seen from a single story board.  Status is just where the story is in the pipeline.  Progress is how far it is along the journey, along with how long it’s been in the current bucket.  Planned work is simply the stories queued up.

Whenever status changes on a story, we move the story from phase to phase.  Whenever anyone wants to know where a story is, they can just look at the wall.  We initial our stories for who’s working on them, so if anyone wants to know more detailed status, they can go ask the individual person currently working on the story.

Identify obstacles

Again, why wait to bring up a blocking issue?  In our story board, we visually indicated a story was blocked by placing it either in a “blocked” bucket at the bottom, or placing a red Post-It note on it.  It was up to the person with the blocked story to communicate with the correct people, as soon as possible.

Set direction and focus

This could be another one of those cases where management should take care of this one.  The direction is to finish stories.  The focus is to finish the story you’re working on.  If you’re done with a story, pick up a new one.

If the process flow is clearly laid out, there really shouldn’t be a question of direction or focus.  For things like product direction, is this something that’s supposed to be communicated on a daily basis?

Build a team

I do admit, daily stand-ups do help build a team.  But for us, it was the shared conversation of how little value we were getting out of our stand-ups any more, besides just observing patterns in other’s daily reports.

I’m just not sure it’s worth stopping the entire line for 10-20 minutes every day to achieve this goal.  There are much more targeted ways for building a team other than a daily stand-up.  Like office Nerf wars, for example.

Achieving the goals

Daily stand-ups are a good way to meet the goals of a daily stand-up.  But that doesn’t mean it’s the only way.  As with any process, it’s important to constantly re-evaluate what the goals and values are, and how they relate back to the ultimate goal of the project.  If the goals are important, we should try to work to the most efficient means of achieving those goals.

For us, moving towards a lean-oriented approach, with a pull-based system, big visible story board, and keeping information visible to all achieved these goals in a more efficient manner.  That’s not to say that daily stand-ups are never a good idea, but I think it’s important to always evaluate the project activities to determine if there are other ways to meet the same goals.  Often, daily stand-ups are the most efficient means to achieve these goals.  In many other cases, it’s not.

Capturing Rhino Mocks arguments in C# 4.0