Disrupting Dysfunctional Behavior with DevOps

[article]
Summary:
IT leaders need to creatively confront operations and development when they are not working together effectively. DevOps enables new, innovative approaches to communication and collaboration that can be considered disruptive—but sometimes, shaking things up is the most critical step in the journey to adopting better behaviors and interactions.

The technology industry has a well-documented history of disruptive innovation; in fact, the rapid pace with which new ideas and approaches are introduced has fundamentally transformed the way we live and work on a daily basis. Many young people today cannot imagine a world without personal computers, cell phones, and complex websites that seem to learn our every behavior.

DevOps enables new, innovative approaches to communication and collaboration that can be considered disruptive, which thus requires adaptation to realize the benefits that accompany some growing pains. Applying a touch of cognitive psychology to help facilitate conflict is one of the keys to success in implementing effective DevOps.

In our work, we see organizations that have siloed functions, each focused on performing a specific task. Too often, these groups become highly skilled at explaining that anything outside their narrow perspective is simply not their job. This attitude and perspective can be very dysfunctional. Developers experience frustration when trying to work with operations groups who appear to lack even the most basic notion of customer service.

We see technology professionals choose to deploy in the cloud just to avoid the poor service that has become all too prevalent in their internal IT organizations. Of course, using your credit card to provision virtualized servers may also include the side effect of bypassing those IT controls that may be federally mandated for those in regulated industries such as financial services.

We speak with the developers to understand their concerns, and then with operations, where we hear a completely different perspective. This helps us understand and clarify where the teams find themselves not being able to work together effectively.

DevOps evangelists have long noted that developers focus on creating and deploying new features, whereas operations has a focus on reliable services. Appreciating the differing viewpoints of each group leads us to better understand the “disconnect” that causes each team to dive deep into their own narrow perspective while neglecting the other group’s priorities.

So, how do you address these challenges and move the entire organization to a more holistic approach to teamwork—one that emphasizes the value of cooperation as a cornerstone for enhancing productivity?

Classical psychology has developed constructs such as cognitive dissonance to help patients understand where their actions are inconsistent with achieving their desired goals. For example, when we see developers and operations failing to meet deliverables due to poor teamwork, we point out that their actions are inconsistent with their shared goal of working for a profitable company that can pay their salaries.

Of course, their mistakes and dysfunctionality often lead to some childish finger-pointing. It can require pushing the envelope to confront each group while encouraging them to consider a better approach. With developers, we educate them about the enterprise requirements for IT controls, including following federally mandated regulatory requirements for a segregation of duties. This is often a tough conversation for developers, who view DevOps as a prescription for root access and deploying their changes to production. But they have to recognize the need to share their expertise and rationale for choosing a particular technical direction. The discussion with operations is often even more challenging when we emphasize that they must work more closely with developers to meet project goals.

Sadly, we often hear colleagues giving elaborate explanations as to why a particular task is not their job. They aren’t really thinking about how they could, with just a little bit of foresight and relatively little effort, help others complete a task more efficiently. This is particularly dysfunctional when there is clear negative customer impact due to teams just not being able to work effectively together.

Effective IT leaders need to be able to creatively confront both operations and development when they are not working together in an effective way. We also need to respect both perspectives and model the interpersonal behaviors that foster the open communication and collaboration required for success.

But beware: Some folks can become pretty hostile when they are called out for poor performance, even though that may be exactly what is needed to get the train back on track. DevOps is not about telling each group what they want to hear. We might have to be a bit disruptive to deliver the tough message.

However, strong leaders know how important it is for teams to identify what they are doing wrong. Sometimes, shaking things up is the most critical step in the journey to adopting better behaviors and interactions.

About the author

CMCrossroads is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.