Although the Daily Scrum seems to be a simple and straightforward event, I still encounter a lot of teams struggling with it. In this blog post, I'll share my tips & tactics. You can use it as a checklist for your own Daily Scrum, and hopefully, it helps you ensure the event to become (or stay) effective, fun and inspiring.
Purpose and Outcome
The purpose of the Daily Scrum is to inspect and synchronize the team's progress towards the Sprint Goal, discuss if anything impedes the team and re-plan the team's work to achieve the Sprint Goal.
The outcome of the Daily Scrum should be:
- An updated Sprint Backlog
- An updated Sprint plan to achieve the Sprint Goal.
Afterward, every team member should have a clear plan for the day ahead. Possible impediments that limit them from achieving the Sprint Goal should have been identified. After the Daily Scrum, the team can spend some time to discuss the impediments in more detail and find a solution.
The members of the Development Team are the primary participants of the Daily Scrum. The Scrum Master (as a facilitator) and the Product Owner (providing clarity about Product Backlog Items) can join, but their attendance isn't mandatory.
Tips and Tactics
- It's a daily event... I know, it sounds obvious, but quite often I come across teams that do the 'Daily' Scrum e.g. two times per week. Not enough time or nothing to share are frequently used reasons. Not doing it daily however has some consequences. The teams have got fewer opportunities to inspect the Sprint Backlog and adapt the progress towards the Sprint Goal. The heartbeat and rhythm of having a daily meeting are missing. The transparency of the work is also less clear because the Sprint Backlog is inspected & adapted less often.
- Let the Development Team choose the starting time. It's their event. Therefore let them choose the time that suits them best. This increases the feeling of ownership and encourages the team to start on time.
- Choose a location without any disturbing ambient noise. For a Daily Scrum to be efficient it's very important the team can focus and actually hear each other. Nothing is more annoying than a lot of ambient noise that causes distraction.
- Use a clear and shared Sprint Goal. A Sprint Goal provides the team guidance for the Sprint and flexibility on how the functionality is implemented. It can be used as a waypoint during the Daily Scrum helping the team to focus, craft the right daily plan, inspect progress and detect needless discussions or tasks.
- Use a daily goal. End every daily Scrum with defining a shared daily goal. It’s the goal the team aims to achieve by the end of the day. This is ideally a goal that applies to the entire team. It might be the sum of all the individual plans, but it can also be a specific goal that adds value for everyone. Examples are getting user story X done and user story Y into the test, empty the 'to be tested' column, get the test environment up-and-running. Advantages of a daily goal are:
- It offers the team focus. If the team can’t define a shared goal, it might be a good idea to study their daily plan again.
- Otherwise, if a team member can’t match his daily plan with the daily goal, it might be wise to revise the daily plan again. Matching the daily goal isn’t mandatory, but it can be used as an indicator that someone isn’t doing the right tasks.
- It stimulates cooperation, collaboration, and teamwork
- Use a parking lot. During the Daily Scrum, a lot of topics will arise that the participants want to discuss with each other. Often these are topics that don't concern the entire team. To ensure the daily Scrum to be concise, use a parking lot to capture the topics that need to be discussed but not necessarily during the daily Scrum. After the Daily Scrum, the items placed on the parking lot can be addressed with the relevant team members.
- Use the task board actively. I can't emphasize this tactic enough. Ensure the task board has a central place during the Daily Scrum. Encourage every team member to point out the tasks (s)he worked on and have them update it right away. This provides clarity, encourages collaboration and stimulates and active participation. It also ensures the task board is completely updated after every Daily Scrum.
- Use the task board as a "communication driver". The most common practice is to do the Daily Scrum in clockwise order. Another option is to use the task board as the driver for communication. Work from the most right column to the left. So discuss the items that are almost done first, this ensures the teams focus on really finishing items.
- Create a wall of transparency. Besides a physical task board, it's useful to have artifacts like the Definition of Done, impediments, sprint goals, availability of team members, a sprint calendar, team agreements etc. visually in place. During the Daily Scrum, these items can help to provide clarity on the progress, discussions or behavior.
- Toss a ball. Use a ball as a token for speaking. Only the person with the ball is allowed to speak. Throwing the ball around will also provide the event with some more energy.
- Don't rely on the Scrum Master. It's the responsibility of the Scrum Master to ensure the purpose of the Daily Scrum is understood and the team is capable of doing it efficiently. For new teams, it helps if the Scrum Master facilitates the Daily Scrum, but for more mature teams this isn't necessary. It even helps if the Scrum Master doesn't have an active role. When the Scrum Master isn't part of 'the circle', the team members really have to talk to each other to discuss the progress.
- Invite the Product Owner. The Product Owner's attendance isn't mandatory, but joining the Daily Scrum can be very valuable. The Product Owner can provide clarity on Product Backlog Items instantly, give feedback on the daily plan the team drafts and even discuss what items can be reviewed.
- Focus on results instead of activities. This avoids discussing minor tasks that don't contribute to the Sprint Goal. More important is the stuff the team actually achieved. What are the concrete results you have achieved and what should be the result of the upcoming day? The earlier mentioned daily- and Sprint Goal are useful practices hereby.
- Attend the Daily Scrum physical & mental. Every participant should have a full focus on the Daily Scrum. When someone drops in exactly at the starting time, the first minutes that person is present physically but not mental. So make sure everyone has time to prepare the Daily Scrum. The advantage of using the same structure every day is that everyone can prepare the session upfront quite easily.
- Change the questions. I mostly use the standard questions: What did I do yesterday that helped the Development Team meet the sprint goal? What will I do today to help the Development team meet the sprint goal? Do I see any impediments that prevent me or the Development Team from meeting the sprint goal? But if more experienced teams want to change the questions because they think it will help them have a more efficient Daily Scrum: let them experiment! It's their event. Other good questions might be:
- How will we work together today to move toward our goal?
- What should we focus on today?
- What should we not do that we originally thought we would do?
- How will we remove this impediment right now?
- Given we are a little behind, how might we simplify this product increment?
- Have fun! This is basically my advice with everything I do: have some fun! I always try to start the Daily Scrum with an energizer. This can be a joke, an entertaining story, something that gives the team an energy boost.
These are some tips & tactics I've learned. Hopefully, they're useful for you as well. If you've experienced any other practices, please let me know, I'd love to hear them!
PS: Blog posts that inspired me when writing this article are:
- http://neilkillick.com/2013/10/21/stand-up-and-shut-up/
- http://www.agileforall.com/2009/02/7-tips-for-a-more-effective-daily-scrum/
- http://nomad8.com/daily-stand-up-with-a-goal/