Building a collaborative and lightning-quick DevOps organization is a complex but critical business mission today. The technology industry is filled with a host of best practices that promise to help companies achieve this objective. Some of these suggestions make a great deal of sense. But many of the recommendations lead to mediocre results, and organizations simply can't afford to be half-good when it comes to DevOps.
I've been at this a good while, and, as a technology team leader, I've found that embracing specialization and empowering collaboration in almost any organization can achieve meaningful and lasting DevOps progress.
There's a lot of talk today that developers need to be full-stack generalists with expertise from the front end to the back end. That's ridiculous. There are very few people who are good enough at everything to deliver innovation across the board.
Instead, organizations should embrace specialization. This is not the narrow specialization that chokes off cutting-edge possibilities, but a diverse set of skilled individuals who together give an organization all it needs to drive DevOps success.
The key is assembling specialists who can all understand the ultimate goal of customer value as well as their role in achieving it. This means understanding the entire pipeline from idea to customer feedback on running systems. They need to be good at their respective jobs but aware of each other, demonstrating mutual empathy, appreciation, and partnership.
Not just for tech
This rare but critical hybrid of specialization and collaboration is the secret for success in many industries. When Run-D.M.C. and Aerosmith decided to collaborate on remaking Walk this Way, Run-D.M.C. didn't have to become rockers and Aerosmith didn't have to become rappers. Instead, they each stuck to their specialties with deep context about the other in a way that allowed them to collaborate for an outcome that could not have been created individually.
I've seen this time and again in technology, too.
Earlier in my career I worked at CustomInk, an online apparel company. An unknown bug kept mucking up our servers, forcing us to reconfigure or destroy and rebuild the system every Monday. It took a lot of time, and the process kept us from being able to scale our system effectively.
Thankfully, we had a talented system administrator on the team who identified the bug as a memory leak. If we hadn't had that specialized skill set on the team, there's no way we could have identified the issue. What's more, we also had a developer with the skills to fix the code. And, of course, the sys admin had to work collaboratively with the developer to complete the remediation. Through specialization and collaboration, we removed a major pain point and then get back to building features.
A more general example that I've seen play out over and over is when developers flash their distaste for database administrators. From my perspective, this antipathy is often misplaced. Not all code is good code. A strong database administrator can help structure a developer's application code to ensure optimal performance. And, by collaborating with each other, their respective specialized skills strengthen others, making the team better and the resulting the application the best it can be.
Moving away from full-stack generalization
How exactly do you encourage specialization and collaboration simultaneously? One approach is cross-training. Take a development team and have them spend time with sales, support, and customer service to see how their software affects customers. The lessons they learn will inform not only their work, but their understanding of how that works drives the business.
I took my CustomInk team to Etsy so we could learn how others outside our company approached development and operations. We left feeling validated and inspired to try new things.
For its part, Target has developed The Dojo, an approach to building new technology muscles that brings people in from all over its organization. New practices and new workflows are learned, as well as new ways of doing project management. After completing a project in The Dojo, people return to their individual departments in the company richer in knowledge and inspired by new ways of working.
Specialization alone isn't enough
My experience has shown that it's virtually impossible to achieve business velocity if specialization isn't working in harmony with collaboration. You must break down the silos preventing mid-level practitioners from building business bridges.
Developers aren't the same as operations staff. Financial analysts aren't engineers, and salespeople aren't accountants. Transparent communication, the ability to fail safely, and a structure that drives cross-team cooperation will bring everyone together to support the ultimate outcome: happy customers.
By harnessing specialized skill sets and sensibilities in your organization, and meshing them well, you can create and sustain DevOps excellence for the long haul.
As Vice President of Community Development at Chef, Nathen helps the community whip up an awesome ecosystem built around the Chef framework. He also spends much of his time helping people learn about the practices, processes, and technologies that support DevOps, Continuous ... View Full Bio
We welcome your comments on this topic on our social media channels, or [contact us directly] with questions about the site.
Infographic: The State of DevOps in 2017Is DevOps helping organizations reduce costs and time-to-market for software releases? What's getting in the way of DevOps adoption? Find out in this InformationWeek and Interop ITX infographic on the state of DevOps in 2017.