If you are a Software Developer in 2023, you are most likely on a team "doing Agile." While I have my opinions on Agile and the machinery around it, you should check out this video video from Pragmatic Dave Thomas, because I wholeheartedly agree with it. Dave is one of the original signatories of The Manifesto for Agile Software Development, aka The Manifesto. While this post isn't necessarily about "Agile" as a whole, it is about one specific practice all teams seem to have on their calendar.
While many teams don't officially use Scrum, they have taken on many rituals such as Sprints, the Daily Scrum, Sprint Reviews, and of course, the Sprint Retrospective. It's interesting that if you ask them if they're doing Scrum, they'll almost all say "NO!" I have some thoughts on retros as well, but that's for another post. Regardless, I think we can all agree that almost all software development teams have some kind of daily sync. Leave me a comment if your team does NOT have a daily team meeting of some sort.
The Daily Standup. The Daily Scrum. The Developer Standup. The DSU. The Daily Sync. I've seen it called all sorts of things. I've been on teams that actually took the name to heart and had it while *standing up*, although in our new virtual world, it's tough to stand up and not look really out of place! Some have it in the morning, while others have it later in the day, sometimes as the last thing they do before closing up for the day. No matter when you have it, the daily standup *can* be a valuable tool to keep all the developers on the same page. Over the years, I've taken part in a lot of great standups, along with many bad standups.
Note: From here on, I will use the term 'standup' to describe this meeting.
The current version of the Scrum Guide does NOT dictate any questions to be asked in the standup. It only dictates what I described above; that the meeting is FOR developers, BY developers! Unfortunately, that's not the reality many of us work in. Our standups are run by Product Owners or Scrum Masters or Managers each with their own agenda.
One of the things the versions of the Scrum Guide prior to 2020 DID dictate was the asking of the Three Questions. While I think everyone is familiar with them, here's a refresher:
- What did you do yesterday?
- What are you doing today?
- Any blockers?
What did you do yesterday?
Typical answers to this question range from "I don't remember" to listing out each and every meeting they attended. Some people keep it short and sweet and stay focused on the work they have in progress, but most provide far too much detail about the previous day.
Why I Don't Like This Question
This is the worst of the Three Questions, and it poses many problems, not the least of which is that it allows uncontrolled rambling by teammates as they feel the need to show how busy they were yesterday.
Because people are put on the spot, there tend to be a lot of "ummmms" and "let me think for a second" as they know they're in the spotlight and they're supposed to be talking, and if they're not talking that must mean they didn't do anything yesterday, so OMG, LIST ALL THE THINGS! Somewhere in all of that, you may hear something valuable, something that's relevant. More often than not it is a complete list of every meeting and every interaction they had the previous day. I often expect to hear people list when they took their bathroom breaks and what they had for lunch.
By and large, people tend to fill the air with *everything* they did, much of it NOT relevant to the team or more importantly, the Sprint Goal.
One other thing to think about is something called the Zeigarnik Effect. It states that "people tend to remember unfinished or incomplete tasks better than completed tasks." This can be an explanation for why people struggle with this question. No one wants to rattle off a list of unfinished tasks because it might look like they're not getting anything done.
Another reason I don't like this question is because yesterday is in the past. We can't change anything about it, all we can do is move forward, so why do we care? If something significant DID happen yesterday, the team should have heard about it YESTERDAY! Why would you wait almost a day to notify the team?
With that said, I want to address the next question because I think it's far more relevant, but I will come back to this one, I promise!
What are you doing today?
Typical answers to this question range from "ugh, more meetings today!" to "I may get to work on my tasks today" to "here's what I plan on accomplishing today."
Why I Don't Like This Question
I don't hate this question, but I want to see answers more focused on the actual work than on random listings of meetings, even if all you have today is meetings. It's perfectly fine to say, "I have a busy day and plan on getting X, Y, and Z done, but I do have some meetings, so we'll see how it goes."
Focus on Today
Let's keep standup future-focused and what we're going to do TODAY to keep things moving forward. One of my favorite books is Will It Make the Boat Go Faster? by Ben Hunt-Davis and Harriet Beveridge. It's about how an Olympic rowing team trained for and won Gold at the Olympics. The book is split between stories of how the athletes trained, the lessons they learned, combined with how those same lessons can be applied to business and everyday life. When it comes to process, I love to say, "But, will it make the boat go faster?" Many times the way our standups are run do NOT make the boat go faster.
In other words, are the things we're doing moving us toward our goal? If we're trying to move from point A to point B in the most efficient way possible, we all need to be moving in the same direction, and trying to work in the most efficient way possible to make the "boat" go faster. How are we moving toward the sprint goal? How are we moving our stories or tasks across the board in the most efficient way possible? Asking this particular question isn't helping.
Revisiting Question One
I'm not saying we should not learn from what happened yesterday, but that's not what Question One is about; people aren't talking about what was learned, they're simply giving a status report. If it's a status report and there's no nuanced questions being asked, I'd rather see teams communicate this kind of non-essential information in another form, preferably chat. If you had a one-on-one with your boss yesterday, I do NOT need to hear about it at standup, or at all really. If you did volunteer work during the day yesterday, I might be interested in hearing about it, but I don't need to hear about it at standup. If you took your pet to the vet, sure, I want to hear about it, just not at standup!
It's rare to hear anything other than "No blockers" for this question. Sometimes you'll hear something valid, which on most teams is followed by people trying to solve the specific problem ON the standup!
Why I Don't Like This Question
My big issue with this question is that if a teammate is stuck, we should have heard about it long before this particular meeting. If standup is at 9:00 AM and you start working shortly after but then hit a blocker, you better be telling the team about it RIGHT THEN!
Unfortunately, I've seen team members beat their head against the blocker all day, not say a word to anyone, and then at standup the NEXT day, report the blocker because it's part of their Three Question status report!
Since most of us work in organizations where others run our standups (Product Owners, Scrum Masters), we can't always have the efficient standup that we'd like. In a perfect world where I'm running the standup, I'm going to get through a team of eight to ten team members in five minutes or less because I'm asking them to tell me in as few words as possible what they're working on and if they have any blockers. Simple.
Unfortunately, as I mentioned earlier, many devs have almost no control over the format so what follows is really a plea to those who ARE running the meeting!
Keep the meeting tight. Start the meeting ON TIME! If the whole team isn't there yet, don't wait another five minutes for people to roll in! Also, push the sports or movie talk to the end so if people aren't interested, they can bail.
Don't let people ramble. Ask what they're working on today. Ask if they have anything blocking them. Make sure people aren't trying to fix problems ON the call. Keep it moving. Each person should only take a few seconds to give their update.
Keep the shenanigans to a minimum so the developers can get back to their day! If follow-up meetings need to occur, leave it to them to do it. If people want to stick around *after* the meeting is over to continue talking about something, that's fine, just don't keep the entire team around if it's not relevant!
Ironically, I want to wrap this up with three questions that I hope you'll answer either as a comment here on this post or through some other means.
- Do you ask the Three Questions at your daily standup?
- Why do you ask the Three Questions?
- Do you believe the Three Questions are effective?
If you've made it this far, thank you! This post has been on my mind for a long time, but it finally bubbled to the surface. It's taken me several early mornings to work on it before my real job started, but I'm glad it's now out of my head and written down.
A shoutout to Sarah Dutkiewicz / Sadukie for reading through a draft and offering up some good suggestions which I incorporated into the final product. I am grateful for her feedback, and I believe this article is better for it.