I don’t like meetings. I like useless meetings even less and I especially don’t like being interrupted for useless meetings. The idea of a daily meeting, what are currently being called “stand-up meetings” within the agile realm, is a questionable one to me. The context change alone required for these meetings is staggering. Assuming a meeting is scheduled for 10am, then in some cases no new work is started after 9:30am and in other cases it takes a half hour for the developers to get back in the zone after being interrupted at 10. So, let’s say conservatively, 45 minutes is wasted per day on a 15 minute meeting. 15 for the meeting and half an hour for context change. Multiply this by the number of people on the team and you can quickly come up to a full person day of work used in stand-up meetings every day. Add to that, the fact that on any given day, not all the developers will get something useful out of the meeting and you really are wasting their time.
The purpose of stand up meetings, at least as I understand them, is to communicate what is going on within the team and let the manager know what obstacles have arisen in the last 24 hours. While these are definately things that need to be done, they are two problems better solved by a task tracking system and trusting developers to be responsible, respectively.
The task tracking system is simple. There a billion task tracking systems on freshmeat.net, so pick one, install it and create tasks in the tracking system (I like calling them ‘tickets’) for every real world task a person is responsible for. Make the system open and allow everyone to see everyone else’s tickets. Emails should be going out when people update their tickets and the team should be watching these emails. Pay attention and help out where you can. Everyone knows what is going on, so they don’t have to talk about it every day, unless there really is a need to.
Developers are people too. For the most part they should be given the responsibility and trust to identify issues with their manager at any time. Why wait for the standup meeting at 10am the next day? When an issue arises that the developer can’t handle, they should tell their manager right away. Being able to identify situations that require manager intervention is something developers have to learn but without trust from managers, they’ll never figure it out. Also, managers cannot micro-manage. They have to trust developers to come to them as soon as help is needed. This policy has to be communicated with developers or it is pretty much useless since many developers, by default and for reasons beyond the scope of this essay, may not go to management until the situation is dire. Developers have to know that management is available for help and to get rid of the obstacles that are preventing the developers from doing their jobs.
As for team announcements, upcoming events, dealing with team stuff, etc. , a weekly half hour team meeting is more than enough time to deal with these issues.
Stand-up meetings are essentially a hack for problems that have better, more efficient solutions available. The hack may work, but the intrusiveness and distraction of a daily meeting makes the above solutions much more attractive.