The Art of Agile Development: Stand-Up Meetings
October 14, 2010
The second edition is now available! The Art of Agile Development has been completely revised and updated with all new material. Visit the Second Edition page for more information, or buy it on Amazon.
- Next: Coding Standards
- Previous: Ubiquitous Language
- Up: Chapter 6: Collaborating
in 99 words
At a pre-set time every day, stand in a circle. One at a time, briefly describe new information the team should know.
Some teams use Scrum's formal variant, answering three questions: "What did I do yesterday?", "What will I do today?", "What problems are preventing me from making progress?" This formality is not required; use it if it's helpful, ignore it if not.
Be brief. Thirty seconds per person is usually enough. Discuss details later, in small group discussions.
Don't let the stand-up stifle communication. Talk about issues as they appear--don't wait for the stand-up.
did what they were told
The following text is excerpted from The Art of Agile Development by James Shore and Shane Warden, published by O'Reilly. Copyright © 2008 the authors. All rights reserved.
- Whole Team
We know what our teammates are doing.
I have a special antipathy for status meetings. You know—a manager reads a list of tasks and asks about each one in turn. They seem to go on forever, although my part in them is typically only five minutes. I learn something new in perhaps ten of the other minutes. The remaining 45 minutes are pure waste.
There's a good reason that organizations hold status meetings: people need to know what's going on. XP projects have a more effective mechanism: informative workspaces and the daily stand-up meeting.
How to Hold a Daily Stand-Up Meeting
A stand-up meeting is very simple. At a pre-set time every day, the whole team stands in a circle. One at a time, each person briefly describes new information that the team should know.
I prefer to stand in an empty area of the team room rather than around a table—it feels a little more friendly that way. If you have room near the planning boards, that's a particularly good spot for the stand-up.
Some teams use a formal variant of the stand-up called the Daily Scrum [Schwaber & Beedle]. It comes from an agile process also called Scrum. In the Daily Scrum, participants specifically answer three questions:
What did I do yesterday?
What will I do today?
What problems are preventing me from making progress?
I prefer an informal approach, but both styles are valid. Try both and use whichever approach works best for you.
Don't wait for the stand-up to start your day.
One problem with stand-up meetings is that they interrupt the day. This is a particular problem for morning stand-ups: because team members know the meeting will interrupt their work, they sometimes wait for the stand-up to end before starting to work. If people arrive at different times, early arrivals sometimes just waste time until the stand-up starts. You can reduce this problem by moving the stand-up to later in the day, such as just before lunch.
The purpose of a stand-up meeting is to give everybody a rough idea of where the team is. It's not to give a complete inventory of everything happening in the project. The primary virtue of the stand-up meeting is brevity. That's why we stand: our tired feet remind us to keep the meeting short.
Thirty seconds per person is usually enough.
Each person usually only needs to say a few sentences about her status. Thirty seconds per person is usually enough. More detailed discussions should take place in smaller meetings with only the people involved. Here are some examples:
Yesterday, Bob and I refactored the database pooling logic. Check it out—we made some nice simplifications to the way you connect to the database. I'm open today and I'd enjoy doing something GUI-related.
The product manager:
As you know, I've been away at the trade show for the last week, getting some great feedback on the user interface and where we're going with the product. We need to make a few changes to the release plan; I'll be working with the other customers today to work out the details. I can give a lunch-and-learn in a day or two if you want to know more. [Several team members express enthusiasm.]
A domain expert:
After you guys [nodding to the programmers] asked us about that financial rule yesterday, I talked it over with Chris and there was more to it than we originally thought. I have some updates to our customer tests that I'd like to go over with somebody.
A programmer responds:
I've been working in that area; I can pair with you any time today.
If the stand-up lasts longer than ten minutes—15 at the very most—it's taking too long. If people typically speak for thirty seconds each, then a team of ten should be able to have a five-minute stand-up meeting on most days.
Brevity is a tough art to master. To practice, try writing your statement on an index card in advance, then read from the card during the stand-up.
Another approach is to timebox the stand-up. Set a timer for five or ten minutes, depending on the size of the team. When the timer goes off, the meeting is over, even if there are some people who haven't spoken yet. At first, you'll find that the meeting is cut off prematurely, but the feedback should help people learn to speak more briefly after a week or two.
If you're tactful, you can also interrupt extended reports or conversations and ask that people hold the discussion in a smaller group after the stand-up.
Can people outside the team attend the standup?
Yes; I ask that outsiders stand outside the circle and not speak unless they have something brief and relevant to add.
Some people, due to their position or personality, disrupt the smooth flow of the stand-up. If they're not members of the team, I prefer to use another mechanism to keep them up to date, such as the informative workspace, reports, and iteration demos. The product manager or project manager are probably the best people to manage this relationship.
Participants are being too brief. What should we do?
Combine brevity with an unhurried calm.
If they rush to finish quickly, participants might devolve into no-content statements like "same as yesterday" or "nothing new." If this happens a lot, gently remind participants to go into a bit more detail.
People are always late to the stand-up. Can we treat them to parking-lot therapy?
I've been tempted to introduce Mr. Laggard to Mr. Baseball Bat myself. Keep in mind that this is illegal in most countries and tough on team cohesiveness.
Instead, the most effective way I know of combatting this problem is to start and to end meetings on time even if people are absent.
We don't sit together. Can we still have stand-up meetings?
Yes; you can either convene in a common location, or you can use speakerphones and a teleconference. If you can possibly stand together, do—stand-up meetings by teleconference are a lot less effective. I find that people tend to ramble.
You can improve a teleconference stand-up by investing in good phone equipment, reminding people to stand up even when they're off-site, and being diligent about taking conversations offline.
When you conduct daily stand-up meetings, the whole team is aware of issues and challenges that other team members face, and it takes action to remove them. Everyone knows the project's current status and what the other team members are working on.
Communicate issues as soon as they come up.
Don't let the daily stand-up stifle communication. Some teams find themselves waiting for the stand-up rather than going over and talking to someone when they need to. If you find this happening, eliminating the stand-up for a little while may actually improve communication.
Beware of leaders who dominate the stand-up. As reviewer Jonathan Clarke so aptly put it, the ideal leader is "a charismatic but impatient colleague who will hurry and curtail speakers." The stand-up is a meeting of equals—no one person should dominate.
- Sit Together
If you can't conduct a daily stand-up meeting, you need to stay in touch in some other way. If your team sits together, the resulting natural communication may be sufficient. Watch for unpleasant surprises that more communication can prevent.
Another alternative is the traditional weekly status meeting. I find these more effective when team members submit their statuses to a single moderator who can present collated information in ten or fifteen minutes. However, I've also seen this approach fall apart quickly.
It's Not Just Standing Up: Patterns for Daily Stand-up Meetings [Yip], at http://www.martinfowler.com/articles/itsNotJustStandingUp.html, is a nice collection of patterns for stand-up meetings.
Stand-Up Meeting AntiPatterns [Miller], at http://fishbowl.pastiche.org/2003/11/19/standup_meeting_antipatterns, takes the opposite approach and describes common antipatterns and their solutions.
- Next: Coding Standards
- Previous: Ubiquitous Language
- Up: Chapter 6: Collaborating