Most meetings, I loathe. Often they are drawn-out, not really useful except to maybe a few attendees and there are always those who seem to enjoy the platform to give their long-winded speeches. That said, meetings I actually enjoy and find very useful are Stand-up meetings.
Stand-up meetings are brief meetings held daily and typically at the same time and place where team members can report on their status on a given project. Typically, each member reports on three specific items. These are:
- What did I accomplish yesterday?
- What am I going to attempt to accomplish today?
- What problems am I facing?
Stand-up meetings are deliberately kept short, usually from 5-15 minutes. When meetings go beyond 15 minutes, it is usually an indicator that there is too much discussion. It is important to remember that stand-up meetings are not the place to solve problems or to elaborate on project specifics. Rather, they are the time to report status and identify potential issues that might hinder a developer’s progress.
To get the most out of daily stand-up meetings, each team member must be prepared with his or her status report. In other words, they should come to the meeting with perhaps a written statement of their status. Having to write the statement is a good discipline to help one from dragging on, yet allows for a meaningful status report. I like the idea of a 3x5 rule. That is, if what one has to report cannot fit on a 3x5 card, they are saying too much. As an example, one might report the following:
“Yesterday I installed our repository, restructured the submission services and finished the submission logic. Today I am going to finish the retrieval logic and configure the CI server to run test scripts on the XYZ project. The problems I am facing is that I’m not sure what to use as test data and there is no documentation on the database”
Note, that the report was brief and did not include details as to how the tasks were accomplished or other unnecessary discussion. Finally, the developer stated a possible problem. At this point it is appropriate to identify people who can help mitigate the issues that developer is facing. Note, this is not the time to actually solve any issues, only to identify who can help solve them. Therefore, a likely response might be:
“I can help you with the db structure, see me after the meeting” or “See so and so after the meeting, he has already come up with test data.”
Keep in mind that it is often, it is necessary to schedule another meeting.
With such a limited scope for a meeting, one might wonder why have them at all. Why not just email the PM status? Here are a few reasons why stand-up meetings are important.
- Stand-up meetings increase accountability by surfacing commitments and responsibilities to the entire team. Not only do developers report status but so does the PM. Since these meetings are held daily, everybody becomes aware of the overall project status by tracking with what others are doing.
- Stand-up meetings help detect and reduce bottlenecks to the project quickly. Since these meetings are held frequently, problems are quickly identified and addressed. In my experience, weekly meetings are not frequent enough to accomplish this. By practicing this daily, risk mitigation becomes a priority.
- Stand-up meetings help developer commit to realistic goals. It is much easier to commit to a days worth of work than to try to guess what one might accomplish in a week. This also helps the PM in knowing how much work the entire team can actually get done which results in better estimates given to management.
- Stand-up meetings unify the team by getting team members on the same track with the project and encouraging communication and team effort in dealing with problems.
There are many more benefits to the stand-up meeting and you find numerous articles on the Internet and in most books on the Agile development process. Here are a few links on stand-up meetings:
It's Not Just Standing Up: Patterns of Daily Stand-up Meetings
Daily Stand Up Meeting
Stand-up Meeting Antipatterns