Building a healthy productive engineering culture is hard and just deploying frequently with continuous deployment is not enough. I'm going to show you how you can use a carrot, not a stick, approach to take continuous deployment to the next level by celebrating team values with Sleuth.
Step 1 - Define team values
When I worked with the US Navy, every few weeks, they would have ceremonies celebrating awards and achievements by their sailors. I thought it was overkill at the time, but looking back, I see that it was a key tool used by the Navy to reinforce their values, traditions, and desired behavior. Software teams can take a similar approach to build and maintaining a healthy engineering culture by celebrating deployments.
Step 2 - Explore how to realize those values in deployments
For example, if your value is "Be the change you seek," perhaps you would want to celebrate deployments where a developer had an idea and built it themselves without asking for permission or complaining about it. If your value is to "Leave the code better than you found it," perhaps you'd want to celebrate deployments that did some refactoring, included a low-level rewrite, or introduced a new library to dramatically improve how your code was working.
Step 3 - Celebrate deployments
Celebrate and reinforce those values through your code deployments. "How," you ask? Well, that's where Sleuth comes in. Sleuth is a deployment tracker that monitors and communicates your deployments and the impact of those deployments. If you're wanting to celebrate deployments, first track, visualize and communicate those deployments.
Sleuth provides a dashboard that shows your deployments over time. So, if a team is wanting to celebrate values through deployments, it follows you want to increase the frequency of those deployments. Sleuth also communicates deployments via Slack. If you're in a Slack channel, you can have deployment information sent to it. The celebrate part comes by reacting to that Slack message using one of the hundreds of built-in Slack emojis, which are then stored back in Sleuth and viewable on the celebrated deployment. For example, if there was a deployment that fixed the bug that everyone was really excited about, team members can then go to Slack and give it a "thumbs up", "awesome", or some other sort of celebratory emoji. The reaction is stored in Sleuth so that it can be tracked over time.
It's a fun way to encourage your team to live its values through deployments. Of course, points don't matter and this should never be used to actually measure your team's effectiveness. However, it allows your team to celebrate certain behaviors and reinforce to developers that these are the things that this team finds important and wants to encourage.
How do you get started? If your team's not using Sleuth already, you can sign up today for a 30-day trial and connect Sleuth to your Github or Bitbucket repository. Then you can start seeing deployment information over time on the Sleuth dashboard. The second step is to connect Sleuth to Slack. Sleuth can not only send deployment messages to a shared channel but can also message individual developers when their code has been deployed or has negatively impacted production. Third, have your team members connect their Sleuth account to their Github (or Bitbucket) and Slack accounts so that personal Sleuth messages work for everyone. Finally, start celebrating your deployments. Messages will come into Slack, and you'll be able to react to them with different emoji. Team members can then see the reaction in Slack, as well as in the Sleuth leaderboard and dashboard.
What are some of the team values that your team has that you want to start celebrating with deployments?
Let us know in the comments below, and let's start a discussion.