A stand-up meeting (or simply "stand-up") is "a daily team-meeting held to provide a status update to the team members", according to Wikipedia. In the next few paragraphs, I attempt to explain why these meetings, despite being so popular in software development teams, are pure evil and should never be used by good managers.
I'm not saying they can be done right or wrong; there are plenty of articles about that. I'm not trying to give advice about how to do them properly so they work, either. I'm saying that a good manager should never have daily stand-ups. Because they not only "don't work" but also do very bad, sometimes catastrophic, things to your management process, whether it's agile or not. On the other hand, a bad manager will always use daily stand-ups as his or her key management instrument.
To explain what I mean, let's look at management from a few different angles and compare how good and bad managers would organize their work.
A Bad Manager Asks How Things Are Going. Strolling around the office asking how things are going is a great habit of a terrible manager. He doesn't know what his team is doing because he is not smart enough to organize the process and information flow correctly. However, he needs to know what's going on because his boss is also asking him from time to time. So the only way to collect the required information is to ask the team, "What are you working on right now?" Morning stand-up is a perfect place to ask this annoying question officially without being marked as a manager who doesn't know what he is doing.
A Good Manager Is Being Told When Necessary. Managing a project involves management of communications. When information flows are organized correctly, every team member knows when and how he or she has to report to the manager. When something goes wrong, everybody knows how such a situation has to be reported: immediately and directly. When a backlog task is completed, everybody understands how to inform a project manager if he needs this information. A perfect project manager never asks his people. Instead, they tell him when necessary. And when someone does stop to tell him something, a good project manager fixes such a broken communication channel. But he never uses daily meetings to collect information.
As a good manager, inform your team what your goals are and what's important to you as a project manager (or Scrum master). They should know what's important for you to know about their progress, risks, impediments, and failures. They should understand what trouble you will get into if they let you down. It is your job, as a good manager, to inform them about the most important issues the project and the team are working through. It's their job, as a good team, to inform you immediately when they have some important information. This is what perfect management is about.
If you manage to organize teamwork like that, you won't need to wait until the next morning to ask your developers what they were doing yesterday and what problems they experienced. You would have seen this information earlier, exactly when you needed it. You would stay informed about your project affairs even outside of the office. Actually, you would not need an office at all, but that's a subject for another discussion :)
Someone may say that daily stand-ups are a perfect place and time to exchange information among programmers, not just to inform the Scrum master and get his feedback. Again, we have the same argument here—why can't they exchange information when it's required, during the day? Why do we need to put 10 people together every morning to discuss something that concerns only five of them? I can answer. Bad managers, who don't know how else to organize the exchange of information between team members, use morning stand-ups as a replacement for a correct communication model. These morning meetings give the impression that the manager is working hard and well deserves his overblown salary. To the contrary, a good manager would never have any regular status update meetings, because he knows how to use effective communication instruments, like issue tracking tools, emails, code reviews, decision-making meetings, pair programming, etc.
A Bad Manager Micro-Manages. This guy knows very little about project management, and that's why he feels very insecure. He is afraid of losing control of the team; he doesn't trust his own people; and he always feels under-informed and shakes when his own boss asks him, "What's going on?" Because of all this, he uses his people as anti-depressant pills—when they are doing what he says, he feels more secure and stable. A daily stand-up meeting is a great place where he can ask each of us what we're doing and then tell us what we should do instead. This manager forces us to disclose our personal goals and plans in order to correct them when he feels necessary. How many times have you heard something like this: "I'm planning to test X. ... No, next week; today you work with Y" This is micro-management. Daily stand-ups are the perfect tool for a micro-manager.
A Good Manager Delegates Responsibility. Ideal management involves four steps: 1) Breaking a complex task into smaller sub-tasks; 2) Delegating them to subordinates; 3) Declaring awards, penalties, and rules; and 4) Making sure that awards are generous, penalties are inevitable, and rules are strictly followed. A perfect manager never tells his people what to do every day and how to organize their work time. He trusts and controls. He never humiliates his people by telling them how to do their work. A great manager would say: "You're planning to test X today? It's your decision, and I fully respect it. Just remember that if Y isn't ready by the end of the week, you lose the project, as we agreed." Why would such a manager need daily stand-ups? Why would he need to ask his people what they are doing? He is not meddling in their plans. Instead, he trusts them and controls their results only.
Let me reiterate: I strongly believe that responsibility must be delegated, and this delegation consists of three components: awards, penalties, and rules. In a modern Western culture, it may be rather difficult to define them—we have long-term contracts and monthly salaries. But a good manager has to find a way. Each task has to be delegated and isolated. This means that the programmer working on the task has to be personally responsible for its success or failure. And he or she has to know the consequences.
A good manager understands that any team member inevitably tries to avoid personal responsibility. Everybody is trying to put a responsibility monkey back on the shoulders of the manager. It is natural and inevitable. And daily stand-up meetings only help everybody do this trick.
When you ask me in the morning how things are going, I'll say that there are some problems and I'm not sure that I will be able to finish the task by the end of the week. That's it! I'm not responsible for the task anymore. It's not my fault if I fail. I told you that I may fail, remember? From now, the responsibility is yours.
A good manager knows about this trick and prevents it by explicitly defining awards, penalties, and rules. When I tell you that I may fail, you remind me that I'm going to lose my awards and will get penalties instead:
Have you seen many project managers or Scrum masters saying such a thing? Not so many, I believe. Yes, a good manager is a rare creature. But only a good manager is capable of defining awards, penalties, and rules so explicitly and strictly.
When this triangle is defined, nobody needs status update meetings every morning. Everything is clear as it is. We all know our goals and our objectives. We know what will happen if we fail, and we also understand how much we're going to get if we succeed. We don't need a manager to remind us about that every morning. And we don't need a manager to check our progress. He already gave us a very clear definition of our objectives. Why would we talk about them again every morning?
A bad manager isn't capable of defining objectives; that's why he wants to micro-manage us every morning. Actually, a bad manager is doing it during the day too. He is afraid that without well-known goals and rules, the team will do something wrong or won't do anything at all. That's why he has "to keep his hand on the pulse". In reality, he keeps his hand on the neck of the team.
A Bad Manager De-Motivates by Public Embarrassment. He doesn't know how to organize a proper motivational system within the team; that's why he relies on a natural fear of public embarrassment. It's only logical that no one would feel comfortable saying, "I forgot it" in front of everybody. So the daily stand-up meeting is where he puts everybody in a line and asks, "What did you do yesterday?" This fearful moment is a great motivator for the team, isn't it? I don't think so.
A Good Manager Motivates by Objectives. Ideal management defines objectives and lets people achieve them using their skills, resources, knowledge, and passion. A properly defined objective always has three components: awards, penalties, and rules. A great manager knows how to translate corporate objectives into personal ones: "If we deliver this feature before the weekend, the company will generate extra profit. You, Sally, will personally get $500. If you fail, you will be moved to another, less interesting project." This is a perfectly defined objective. Do we need to ask Sally every morning, in front of everybody, if she forgot to implement the feature? If she is working hard? Will this questioning help her? Absolutely not! She already knows what she is working for, and she is motivated enough. When she finishes on time, organize a meeting and give her a $500 check in front of everybody. This is what a good manager uses meetings for.
There's more to this, too, as daily status updates in front of everybody motivate the best team players to backslide and become the same as the worst ones. Well, this is mostly because they don't want to offend anyone by their super performance. It is in our nature to try to look similar to everybody else while being in a group. When everybody reports, "I still have nothing to show", it would be strange to expect a good programmer to say, "I finished all my tasks and want to get more". Well, this may happen once, but after a few times, this A player will either stop working hard or will change the team. He will see that his performance is standing out and that this can't be appreciated by the group, no matter what the manager says.
A good manager understands that each programmer has his or her own speed, quality, and salary. A good manager gives different tasks to different people and expects different results from them. Obviously, lining everybody up in the morning and expecting similar reports from them is a huge mistake. The mistake will have a catastrophic effect on A players, who are interested in achieving super results and expect to be super-appreciated and compensated.
A bad manager can't manage different people differently, just because he doesn't know how. That's why he needs daily stand-ups, where everybody reports almost the same, and it's easy to compare their results to each other. Also, it's easier to blame or to cheer up those who don't report similar to others. In other words, a bad manager uses daily stand-ups as an instrument of equality, which in this case only ruins the entire team's motivation.
Daily stand-ups, as well as any status update meetings, are a great instrument to hide and protect a lazy and stupid manager. To hide his inability to manage people. To hide his lack of competence. To hide his fear of problems, challenges, and risks. If you're a good manager, don't embarrass yourself with daily stand-ups.