In most enterprises, Dev and Ops people inhabit different worlds, show scant regard for one another and communicate as little as possible—unless it is to vent about something done by “one of those” people over there. Dev and Ops are the chalk and cheese of software development and, mostly, that’s the way they like it. The concept of being on the same team—creating the best possible software for customers—might be quite alien.
Obviously, Dev and Ops people are missing the big picture: They inhabit the same customer-focused world and need to get along for the greater good of the company, the customers and the quality of the software they are pushing out the door. Neither “side” will ever likely make that observation, and, even if one side did make it, the other would almost certainly reject it with derision.
Consequently, the impetus for change and team-building must come from elsewhere, from an outside consultant or a C-level executive—ideally, a person with a firm grasp of cultural nuances if not the nitty-gritty of what Dev and Ops are all about.
Step 1: Move Beyond the Stereotypes
Savvy enterprises know they have to bring the “sides” together. The first step involves cultural cleansing, essentially scrubbing the ingrained and highly divisive stereotypes that exist.
Ops people see developers as irresponsible code jockeys who thrive on creating new things and don’t care a fig about the business, leaving Ops to deal with their cavalier antics.
Developers tend to see Ops as stick-in-the-mud, uncreative types who dislike change, and resist innovation because it will complicate their lives, even when such innovation will benefit the customer.
On the whole, both stereotypes hold more than a grain of truth. They are like two sides of the bicameral brain.
Companies must work hard to dismantle these stereotypes, which ultimately are counterproductive to creating unity and the high-quality software demanded by the customer.
A good way to get both sides to cozy up to one another is to bring them together for a series of informal meetings, ideally at an offsite location where they can relax and socialize over a few days. In this way, they can understand and appreciate their respective roles and contributions—and view everything they do through the perspective of serving the needs of the customer.
Step 2: Focus on the Customer
Enterprises increasingly are tasked to deliver more features to their customers, faster and cheaper. Users’ expectations for more/better/faster/cheaper features are shaped by their experiences of web and mobile applications that keep doing more automatically or at the click of a button.
With competitors releasing new features every few days or even hours, enterprises cannot afford unpredictable, lengthy and inefficient software releases caused by Dev and Ops not being on the same page and not understanding the needs of the customer.
Unsurprisingly, many enterprises are doing whatever it takes to deliver better software faster, notably:
- Having measurable goals;
- Incorporating automation and continuous delivery into DevOps; and
- Pursuing a relentless focus on testing.
The whole process is frequently untidy and painful, but immensely positive if done properly.
A major element of every enterprise’s strategy for delivering better software faster is to bring Dev and Ops together, ideally under one roof—united by their focus on the needs of the customer.
Step 3: Measure Performance by Customer Satisfaction
Once the groups are on the same page, you should start measuring their performances in terms of how well they meet customer experience. Developers will have the incentive to make sure that the goods they deliver to Ops are high-quality and stable, while operations people will have the incentive to make sure they release enhanced capabilities to customers as quickly as they can—before the competition does something similar or before the enterprise loses the customers to some other alternative.
When Dev and Ops people work together, they can gain insight into the negative effects of their old behaviors, better understand their joint goal of delivering top-notch software to customers quickly and eliminate all or most of the terrible wait times that typically exist between Dev and Ops.
Chalk and cheese don’t mix. Neither do Dev and Ops people if you accept the cliché of the two sides being antagonists locked into their fiefdoms. However, modern enterprise software development forces companies to move beyond clichés and fiefdoms to embrace a customer-focused vision of DevOps.