Reinforcing Our Scrum Standup Philosophy with Slack Reminders
Lately at Revelry, we have been moving more and more of our meetings, especially the daily scrum standup, into Slack. The advantages are fairly obvious: We aren’t as reliant on phones and videoconferencing, which can sometimes be like herding cats to get going. Good notes are not as important because history is baked in. And anyone, especially any manager type (read: me), can easily cruise through a dozen different chats to check on project health or simply quality-check that standups are following the right format, reinforcing the right behaviors, and creating good outcomes.
Build a Custom Slack Bot for Your Scrum Standup
There are all manner of bots and integrations you can use for your chat system to assist with this. If you’re on Slack, you could even go so far as to add Standup Bot to your channel (not to worry, cheapskates; you can self-host for free). And for a moment, we looked at adding it ourselves.
But our primary concern wasn’t the mechanical Q&A and pretty dashboard. In fact, to me it feels like the Standup Bot reinforces the idea that a Scrum Master should merely ask one question, collect one answer, take a note, and repeat. And, despite this being a common practice, in my opinion it’s a great way to be the world’s least effective Scrum Master.
What we want instead is to ensure that standups accomplish important things and produce great outcomes.
A great standup outcome is not just a set of notes about individual status updates. A great standup outcome is what happens after that: The plan to help the team keep barreling forward. I have some opinions about how to make it happen. But I’m not going to tell you, and I’m not going to tell our team.
I’m going to remind our team via Slack. Every day. Here’s how I set up the reminder:
/remind #my-project-channel @channel Get ready for the standup. Great standups produce great outcomes. Open up the issue board (http://example.com) and be diligent: ``` * Standups should take no more than 15 minutes. * Everyone should be looking at the issue board. * The issue board should be clean and accurate by the end of the standup. * "What did you do yesterday?" answers need issue numbers. * "What will you do today?" answers need issue numbers. * Reference the issue, not the pull request. * No wishy-washy answers without follow-up questions. * Not being able to clearly articulate how you will solve an issue should be considered a blocker. * Blocker resolution should be planned, time-boxed, and tightly managed (but not solved on this standup). * Set a one-off reminder to check in on the status of each blocker, published publicly in this channel, and mentioning the people directly involved. E.g. `/remind #my-project-channel @sarumon to update @sauron on the location of the ring in 1 hour` * Use the one-off reminder status update as barometer for when to call in the cavalry. ``` every weekday at 9:25am
Now, 5 minutes before this project’s 9:30 standup, every channel member can get in the right headspace and has an easy reference, right there in front of their face, to tell them what to do and what to watch out for. It even gives them the Slack command format for setting their own check-on-the-blocker reminders:
/remind #my-project-channel @sarumon to update @sauron on the location of the ring in 1 hour
Once reminded, we use that opportunity to discuss whether or not more action needs to be taken to unblock our team member(s).
That’s pretty much it. Write down your opinions. Write them into a daily reminder. Sprinkle it with reference links and tips on how to use the tools to enhance the team’s workflow. And if your opinions change about what scrum standup should be like, you just change the reminder. Every day, the team knows what they should expect from themselves and from one another.
Maybe one day we’ll write our own bot, but for now this serves us much better than a bot that imitates the world’s least useful Scrum Master.How does your team standup? Let us know in the comments.