If you’re managing an IT or software development team, you’re probably turning to DevOps as the answer to the problem of how to accelerate software delivery. You also care about your people and want them to be not just efficient, but also happy and productive - and DevOps is supposed to deliver on that promise, too, right?
Ok, great… So, from a manager’s perspective, what is this DevOps culture, and how can you help bring it into being within the crucible of your organization (and its goals), team, IT environment and projects? And once you’ve got that figured out, how do you talk about it with your team so they understand how and why things are changing?
DevOps isn’t exactly new at this point, and there is a lot of information out there on tools and practices. But practical guidance for managers hasn’t yet emerged to the same extent. Recently, Bitlancer has been developing DevOps manager training (really it’s more like mentoring) for some of our Boston DevOps consulting clients.
Based on what we’re learning from that process, I wanted to share some thoughts that I hope will be helpful to managers getting involved with DevOps.
What is DevOps?
I’ve blogged on multiple occasions about “What is DevOps?”, in part because many people still seem to want to reduce it to a) tooling, or b) the responsibility of a lone “DevOps Engineer” who will save your bacon.
I’ve found it useful to frame the conversation around the history/evolution of operations and development, starting “back in the day” when we all racked servers in datacenters, gave them names, and experienced anxiety when there was an outage. This forms the basis of the ever-popular “pets versus organic cattle” analogy, in terms of our attitude toward infrastructure.
The point of being able to treat servers more like cattle and less like pets is that (among other things) this accelerates operations’ ability to provision infrastructure, thus eliminating the classic bottleneck that forced development to wait impatiently while servers were ordered and installed.
Keeping It Simple
This brings us to the key tenet of DevOps: development and operations working better together and treating infrastructure as code. I think a lot of the confusion that spins off of DevOps comes from the misperception that this is something different and new. It’s just about writing code - there’s nothing magical about it! It’s the same thing we’ve all been doing for years.
Therefore, as a manager leading a team of software developers, you’re still working with the same basic processes that teams have been ironing out for years.
What’s different now, of course, is that we have an agile vision for how to work together that encompasses continuous integration and continuous delivery. This model focuses on the importance of the team effort versus the heroics of individual “DevOps specialists.” This is why the definition of DevOps in the book Effective DevOps includes: “… It is a way of thinking and a way of working that enables individuals and organizations to develop and maintain sustainable work practices. …”
From a manager’s perspective, this means that DevOps has a lot to do with building great teams, as opposed to leading them on caffeine-fueled death marches. This view is also less about implementing features than it is about achieving a specific (often quality- or speed-related) outcome for the organization.
If you’re looking for a comprehensive definition of “what is DevOps” that you can adapt for conversations with stakeholders, slide 3 in this presentation has a useful list of the critical attributes and elements that define DevOps.
Standing by the Bottom Line
Another challenge that managers have with DevOps is justifying it economically and organizationally. This series of blog posts by Peter Spung targets managers and put DevOps squarely in the context of organizational and economic results.
Sprung points out that the ability to drive innovation by delivering more software faster has been transforming entire industries. If you’re not on the crest of this wave, you’re gonna get hammered by it. But, as a manager, how do you “learn to surf” before it’s too late?
Fortunately, getting DevOps right will start paying off very quickly, in terms of increased delivery speed, more robust configurations, more bugs caught earlier, less time spent grinding away on manual tasks, and many more good things. These wins tend to boost morale and help bring teams together. Which leads to increased productivity and efficiency, which leads to happier teams, which leads to… You get the picture.