DEV Community

Cover image for Building Standup Roulette
Amruth Pillai
Amruth Pillai

Posted on

Building Standup Roulette

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.

This 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.

Top comments (2)

amruthpillai profile image
Amruth Pillai

Woah, Pickle really gets us out of that pickle of having to pick someone. Great product, I love that you've thought through the flow, including getting approval from the person (in case they are busy, or maybe if they are OOO?).

Thank you, that would be a great addition to your product as well, to add rule-based picking, so you essentially validate before every pick. And yes, Pipedream does allow that. It was my first time trying it out as well, and while it does have it's quirks, I feel it's a great up and coming product by its own right and looking forward to what the team builds on from here.