DevOps 101 - Communication
In my previous article on the history of DevOps, I outlined the following pillars of the DevOps methodology
The Third Pillar
The third pillar in the DevOps stack is Communication (and Information Sharing). Back when DevOps was Development and Operations, the two teams were typically separated by both priorities, organization, and most often geographic locations. These separations led to many issues, one of the biggest being communication.
The Development Silo
As I mentioned in my article on DevOps History application releases used to be very spread out over long periods of time with a lot of changes and features. The application team lived in a silo in that they built the application, tested it and then tossed it over the wall to the operations team to handle security testing and ultimately deployment to production environments. Communication consisted of change order tickets that sat in a queue for weeks while operations could fit it into their queue of work. And, when they were able to get to it, if any issue arose, it was sent back to the development team to fix and resubmit.
With the advent of Agile programming where the development teams worked on more frequent point releases, the "change order" process began to feel like the "TPS report" in Office Space. A new agile method of deployment was needed as "tickets" became a hindrance and wasted a lot of time for both sides of the Dev+Ops fence. Communication and Information Sharing became a critical aspect in moving to a more agile deployment cycle.
Each organization has it's own set of tools for allowing teams to communicate. The trick was getting these included in the application deployment lifecycle. Some popular tools include
Email solutions including Exchange, Gmail, Yahoo, Hotmail/Office 365, and others.
Instant Messenger and chat applications such as Lync, Skype, Slack, Google Hangouts , and IRC systems.
Content management and social systems such as Jive and Lithium.
Task based systems such as Asana, Basecamp, and Trello.
As the "Dev" gets closer to "Ops" in departmental and procedural areas, communication becomes a bit easier but is still critical to act as the connective tissue keeping DevOps together.