Brewing an In-House Project

Published on March 29, 2018 by James Seden Smith

Posted in Community

TAGGED , ,

The tea round is a regular occurrence here at Red River, so when the opportunity arose for us to automate it with a TeaBot, we jumped at it.

With an average of six tea rounds a day and an ever-growing team, it was becoming harder and harder to keep track of the tea round. We wanted a system to help automate part of the process, however, we had too many projects on the go to be able to start work on an internal app. Luckily for us Joshua, Steven and William – work experience students from The Forest School – were joining us for a week, so we asked them to develop a TeaBot for use on our company Slack.

Development

When they arrived on Monday, we explained our idea to them, and they were keen to get stuck in. We introduced them to our Agile way of working, helping them to split up the project into user stories which they could then work on. They quickly brainstormed a core feature set and began work integrating with the Slack API. Choosing Python as the language of TeaBot, for its ease of use and ability to rapidly prototype, by the end of the first day they’d managed to successfully communicate with the Slack API and respond to user input, far surpassing our expectations.

Over the course of the week, the students came across and dealt with many of the harder parts of software development, including asynchronous programming, scope creep, and naming things. By the middle of the week, the group had managed to build a minimum viable product, which we put to use almost immediately – ahhh! After some rigorous testing by our QA department, the TeaBot group changed its focus to implementing change requests from members of the team. By the end of play on Friday, the students had expanded their software skills, and revolutionised our tea making process.

What’s Next?

Koala-Tea is a great success. It is used multiple times daily, by a team of 20-plus, with only minimal downtime: during our recent office move, it was the only internal system that continuously stayed working. Now we’ve gamified the tea round, we’ve almost certainly consumed more tea. One of our developers, Jake, famously drank 17 cups of tea in one day just to reach 500 cups before Christmas!

Looking forward, we want Koala-Tea to do more. We have plans to let it award points for code reviews, give a more accurate historical analysis of drink consumption, and we want to implement a variety of other tweaks and fixes to the current process. To aid in this, I have written phial, a Python framework for writing Slack bots, which aims to simplify things by exposing a user-friendly public API. Once rewritten, Koala-Tea should be easier to maintain and more modular, and we aim to open-source it for other teams to use.


Tea image by Sandra Rybicki on Flickr, Creative Commons