What are the pros and cons of using Daily Stand-ups? Positive sides of the Daily Scrum I see, but I can't find negatives.
There are many articles on out there on the benefits of standups. This one is as good as any I suppose:
You'll find different answers in different articles but they all boil down to this: keeping your team in sync with each other allows you to address your work more effectively.
Cons are harder to find because there really aren't any disadvantages to good tactical planning. If you search for "challenges" you'll find a little bit. This article addresses some of the more common challenges:
If you're wondering if you should have stand ups, the answer is simple. You should. Do they right.
One other point I'd make is that I've heard of cons that actually are the standup shedding light on other problems. If you have someone on so many teams that the total time for all of their standups is cutting too much into their day, the problem is not the standups - they're spread too thin or they don't belong in the standup.
I am a huge fan of daily stand-ups, but there are some disadvantages:
- Team members can sometimes wait until the stand-up to communicate important information rather than telling the team immediately.
- The stand-up can be seen as a replacement for in-sprint planning.
- The timing of stand-ups can be an area of dispute. This is particularly true if your team has a mixture of early and late starters.
- Stand-ups can cause disruption in badly arranged open-plan offices.
Limiting my answer to only practical issues in project management, a daily stand up consumes time.
Assuming that the goal of the stand up is to improve communication, you've got to be very confident that this is the best way to improve communication, and very sure that you're not communicating the wrong message.
The Long Version
Time is one of the key resources on the iron triangle - every hour you spend in a daily stand up has an impact on cost and quality.
My team is an even dozen. If I gave each of them 5 minutes, the total length of the meeting is an hour - that is 12 hours a week that I'm investing in communication rather than in the production of goods and services valuable to our customer.
During that hour, the person speaking and I are fully engaged. Roughly two thirds of the rest of the team is disengaged and playing games on their phones. That isn't just money I'm pouring down the drain, it is a very clear message to my time that I value their work less than I value participation in a group grope. That is a message I'm reluctant to send.
Investing 12 hours of work is significant. I won't do that unless I can guarantee that it is the best way to use that 12 hours. The obvious alternative is that I meet with each of the team members for 10-15 minutes (15x2x12) which is only 6 hours, during which nobody is idle; everyone in the meeting is focused on the meeting. For my team the superior alternative is to have one representative from each of the functions meet to discuss cross functional issues. For my team that is 3 people for 15 minutes - probably 45 minutes.
The tl;dr is that communication is ultimately my job and my responsibility and I believe I can do it more effectively and more efficiently than a stand up.
Aside: And 5 minutes isn't realistic; my experience is that in any group of 10 people, there is at least 1 person who cannot say "hello" within 5 minutes, and at least one other person who has a complex problem that the team cannot resist solving in the meeting - the average is probably closer to 10 minutes than 5.
Second Aside: the true impact is probably even greater - most of my team works on maker time not manager time - a 1 hour interruption in their day will destroy between 90 minutes and 4 hours of productivity.
Third aside: Problems are like crack cocaine - It take tremendous discipline to avoid solving problems at the table. If even one of the 12 people raises a real problem, then I can predict with some confidence that at least 2 of the others will try to solve that problem. That will result in a discussion where we rehash all the simple solutions that we've tried and discarded, and then redefine the problem for the people who aren't involved in it. Everyone has good intentions and wants to be helpful, but is more interested in solving the problem than stewarding time. So I've got a new challenge - I have to shut down discussion of a problem without looking like I don't care about the problem or that I don't value the good intentions of the team. And while I'm doing that I'm still communicating to the disengaged team members that I care more about their presence than their work product and I'm still communicating to my sponsor and stakeholders that I care more about standup than I do about the closure of the project.
There are many blog posts (such as this one) which discusses the "pros" of having daily standups. So I'll focus on the "cons".
But first things first:
I really liked @Barnaby Golden's answer, especially the first two points. Using daily standups as a "silver-bullet" to make sure there's a minimal communication (context-sharing) within the team is problematic to say the least.
I think that the example that @Mark C. Wallace gave, shows greatly how forcing agile on a non-agile team (it's almost impossible for a team of this size to be agile, unless it works as a "cluster" of smaller teams...) makes the situation worse, and I'll explain:
IMO the purpose of daily standups is to communicate between people that their work depends on one another. It's very rare that 12 people are working simultaneously on the same project and each one of them needs all (or even most of) the others on a day to day basis.
When we have 2-3 people that work on the same project and they need each other to sync, agree on interfaces (method signatures, REST APIs etc) it might make sense to set a dedicated time for them to sync. Especially if they work from different offices or even different timezones.
From my experience, even if all 12 participants answer very quickly the famous 3 questions:
- what did you do today
- what will you do tomorrow
- anything that needs attention (e.g. do you have any blockers?)
it will still be a waste of 15-30 minutes. Multiply it by the number of participants (assumed 12) and we get about 3-6 hours of engineering work lost every day. This means losing ~100-200 hours every month...
The sad truth is that the only person that benefits from these meetings is the team-leader (it saves them time). Note that these questions provide the status of your progress and hence are also called "daily status" in many places.
I used to work in a team that grew to ~20 members before it splat into smaller teams. If I'll start describing the waste of time that these kind of meetings cost - it will require a dedicated post... The only good thing in these meetings was that we really did "stand-up" which meant that people would feel inconvenient and start shifting their weight from one leg to another around 5-10 minutes into the meeting, which (not all the time) helped in making these meetings shorter...
When we had weekly status meetings they were also a waste of time (IMO) simply because you're not interested to hear about the work of (at least) ~80-90% of the other people in the team. The effect was that people were mostly working on their laptops and not paying attention, which resulted many times in "sorry I wasn't listening, can you please repeat the question"...
But I'm diverging so let's go back to discussing dailys.
When I worked at Netflix, the company who's only rule is that there are no rules, we called a meeting only when there was a good reason to have these people in the same room. The meetings were very focused, over 90% of them were under 30 minutes. We tried very hard to be conscious of other people's time.
And last, answering these 3 questions feel to me like the team-leader tries to micro-manage their engineers. Since the job that we're doing requires a composition of intelligence and creativeness there are days when I'm "super-productive" and others when I'm "kicking around" answering emails, do meetings, review PRs, do interviews and other stuff that doesn't necessarily show "progress" on my day-to-day tasks. If my manager wants "status" I think that once a week is more than enough, sometimes even once every two weeks suffices (TBH, we can provide status via Jira/email/slack - it doesn't even require a meeting!). But providing status on a daily basis seems ridiculous to me, it reminds this famous scene