Continuous Improvement Slackbot
We spoke to software engineers, Mikhail and Yi, who’ve been working on a bot within our company Slack workspace (a Slackbot, if you will) to automate repetitive tasks and make their teams' lives easier. This Slackbot was created to improve the internal release process, and has been aptly named 'Releasebot'.
What is the Releasebot?
The Releasebot is a bot which integrates with our Slack workspace. It helps our team automate tasks and speeds up the release paperwork process. For instance, team members can indicate readiness for the next release steps, such as updating app documentation, and mark task completion.
Through the development on the Releasebot, we maintain the release paperwork schedule and ensure a seamless process. The automated Slackbot notifies members on task progress, enabling them to proceed promptly instead of chasing updates. This aids us in our goal of continuous delivery, with automated checks, ultimately helping us create efficient and smooth releases.
Why did you develop the Releasebot?
We automated numerous manual and repetitive processes in our workflow, with a particular focus on streamlining our release paperwork. Prior to developing the Releasebot, we followed a traditional approach which was in need of modernisation to align with our Agile way of working. Historically, we had to duplicate documents for every release and manually mark tasks as completed, such as updating the ReadMe file by adding our initials.
Our internal release sign-off process required substantial time investment in tracking task completion and progression. Communication gaps led to delays in advancing to the next stage and assessing team progress meant individual inquiries every time. Fortunately we had some of our wonderful developers who took up this internal passion project and were excited to contribute to team efficiency. Since we use Slack as our main form of internal communication, it made sense to utilise its capabilities for automation.
Were there any issues you had to overcome when making the Releasebot?
We encountered a couple of challenges. Firstly, the Slack channel's topic section had a character limit, which hindered our plan of sharing crucial information there. We resolved this by placing documentation links in the channel and pinning the comment.
Secondly, hosting the solution on AWS led to delays in triggering the API. This was solved by adjusting the API timing settings.
What are the benefits of using the Releasebot?
The main benefit is the significant time savings from not having to chase people. As tasks are marked complete, the process smoothly progresses to the next person, allowing the team to focus on value-added work instead of follow-ups. The system is tailored and user-friendly for our developers, involving simple Slack commands for task completion.
At the moment, only our squad is using the Releasebot as it's customised to our particular client and processes, but we’re getting it ready for releasing it to wider teams. It’s been fun to use this technology and even better knowing we’re creating something that benefits our team.