Team collaboration in DevOps: Glue that binds technology and processes
October 20, 2016
October 20, 2016
What is team collaboration?
Team collaboration in the simplest terms means “working and creating together.” Collaboration is an essential for any industry or organization, and more so for the IT organizations with globally distributed teams. Application development requires constant and effective communication between teams responsible for business analysis, development, testing and operations, and the goal of collaboration is to concentrate on core application development activities and reduce operational overhead.
Some of the known problems with application development through traditional development models includes:
Clearly, there is a need to better streamline the software development life cycle through seamless collaboration.
What does team collaboration mean for DevOps?
The name DevOps itself depicts collaboration. Traditionally, Development and Operations have different priorities and work in silos, and are often on cross roads over priorities. Development needs the ability to make changes and Operations vows for stability. Collaboration, thereby, is the key cultural aspect of DevOps, which brings together Development and Operations teams. Real-time feedback and communication allow teams to make rapid changes to an application while keeping a stable and robust environment.
DevOps not only brings key concepts and tools to create automated workflows for a systems development life cycle (SDLC), it also allows integration of team collaboration tools to these workflows.
With collaboration technologies such as Atlassian HipChat,1 Slack,2 Thoughtworks Mingle,3 Bitrix24,4 Yammer5 and FlowDock6, Development and Operations teams can collaborate very easily and around the clock.
How to achieve collaboration in DevOps
The target, to begin with, is reducing operational delays and communication gaps among geographically distributed teams responsible for overall application development and release to market. This requires an inspired cultural change driven by all teams. Merely using collaboration tools is not enough. Following are a few key pre-requisites before you choose the collaboration tool that best fits your need.
Case Study: Blending team collaboration tools into an existing DevOps setup
The team collaboration tool for this case study is: Slack (https://slack.com).
In this case study, Slack is integrated into a DevOps continuous integration and deployment pipeline. A regular feed from different phases of application development (build, unit testing, code analysis, deployment and testing) allows all responsible parties to see, evaluate, call out and remediate issues and even enhance the application real time, without impacting the work of others in the Development team. Additionally, this enables teams to build on the existing ideas and not spend time re-inventing the wheel.
Quick reflexes: A growing business need
With team collaboration technologies, Development and Operations teams no longer have to rely on emails for responses or book meetings to talk, share and communicate. They can do it all in real time. In the near future, we are likely to see learning and adaptation abilities embedded into systems which will make them highly intelligent. Such systems can tell us about any disconnect and give us the ability to change rapidly while keeping the underlying environments consistent and stable. Team collaboration tools are ideal to move beyond the silo environments. It also removes fear of failure because whatever breaks can be fixed immediately and with ease.
1 https://www.atlassian.com/software/hipchat
2 https://slack.com
3 https://www.thoughtworks.com/mingle
4 https://www.bitrix24.com
5 https://www.yammer.com
6 https://www.flowdock.com