At Grover, in my squad, like most squads, we do stand-ups every day. To make things interesting and to keep the whole team active, we suggest to have different hosts every single day within our team. Someone to run through the Kanban board and take down action points.
For a short while, we were doing this manually, where we would nominate someone at the end of the call, which was going great, but it has its pitfalls. Like not remembering who we nominated the previous day, or forgetting to nominate someone altogether.
Hence, Standup Roulette was born.
This is a simple Node.js script, hosted on Pipedream, that runs about 30 minutes before our actual stand-up, which does the following:
- Get all members of our Slack channel
- Exclude members who are on specific schedules
- Pick a random announcement message, replace the placeholder with the user ID
- Post the message on Slack
In the meanwhile, it also makes use of Pipedream's workflow-level state management,
$checkpoint, so we are able to store information across runs. So I simply store an array of
history which contains the last
n - 1 user IDs who have already hosted recently, where
n is the number of members in the channel.
history array is also appended to the exclusion list so we don't get the same person hosting twice in a row, or too often.
You can check out the Pipedream workflow we use right here:
Try it out at your workplace as well and let me know how it goes!
Thank you for reading.