Being DevOps has been a challenging role, but one I have mostly enjoyed doing. Even though I only get to do it on a part time basis at the office.
Part of the has been to identify and resolve problems between teams and departments, and naturally, the largest and easiest to identify has been communication between the development team and rest of the company.
I know that I am certainly not the first or last to discover this disconnect, and I am sure many of you have solved this issue in your own ways. But being the kind of guy I am, I started to dig a little deeper into the problem, and I discovered that the issue is worse than I initially thought.
The problem wasn't just an issue between departments, it was also a problem between individual teams, and beyond that, between them and the tools they are utilizing. A release manager would start a build and not inform the team. Few people were aware of build statuses and completions, and those who would be informed by email had a tendency to loose those notifications. Something needed to change.
A solution needed to be found that allowed us to increase visibility on projects and communications between systems, teams, and departments. It needed to be easy to use, cross platform, and ideally, allow end users to control the level the interaction they wanted with the system so that no one person was being flooded with an over abundance of communication they didn't want (which was the cause of notification emails being "lost").
I researched many solutions from HipChat, to selective google group system, but nothing really stood out for me as an effective solution for our needs.
One day I came across a platform called slack. This system was cross platform, had a native iOS, Android, and osX App, and several integration points.
With the integrations built into Slack, I was able to very quickly integrate notifications from Jira into the system. My end users (other departments) were suddenly able to see notifications of there issues being worked on. It was instant visibility for them that there issue was just being lost in a system somewhere.
I was able to create a channel for stakeholders for a product I was working and integrated notifications from Git and CI as to when changes were produced for systems they are apart of.
Users can pick and choose which channels they want to join and leave. Eliminating the problem of people getting notifications they don't want when they don't want them. In addition to this, users can adjust there own settings as to when and what they want to notified on by email if they are not active in the slack product.
I almost had total buy in from all team members and users with the exception of one thing. Lack of a native windows application. When I reached out to slack over twitter in regards to this, they informed me that they were in active development of a native solution for windows. This being the one thing keeping me from total buy in from my team, I hoping they are able to produce quickly.
I am looking forward to working with slack over what I am hoping with be a very long time. I love the product and its ease of use, and how quickly I have seen it adopted by my team. I would highly recommend this to any team in any field.