Technology

DevOps: What and How

Working with SMB’s over the last few years one of the practices that seem to be the most confusing and or difficult to implement is the DevOps model. Taking that into consideration I’ve set out to try and break down just what DevOps is and how it SHOULD work. Obviously, the model varies slightly from industry to industry and company to company but the core principles and expected outcomes remain the same. 

DevOps is a set of practices that automates the processes between software development and IT teams, in order that they can build, test, and release software faster and more reliably. The concept of DevOps is founded on building a culture of collaboration between teams that historically functioned in relative siloes.

Start where you are.

Ideally, enterprises should not have a designated DevOps team, according to Jennifer Davis, co-author of Effective DevOps and senior software engineer at Chef Software. Instead, every manager should embrace DevOps. First, managers should examine the current process of working and identify bottlenecks that DevOps can help solve. Then, they should talk to their team(s) and to any potential collaborative partners on other teams.

“Empower the team to be part of the change transformation.” 

To become a DevOps manager, start where you are, this does not require a new or different management position. I have been in places where you’re not actually allowed to say the word DevOps, because operations managers think it’s code for getting fired. I think it is important to emphasize that at its heart, DevOps is not about org chart changes, it doesn’t mean everyone’s title changes or you report to one manager.  Your relationships with all of the other managers are the only organization change you need to focus on.

“Your relationships with all of the other managers are the only organization change you need to focus on.”

 

Change your attitude on failure.

When managers first explore DevOps, there can be a misconception that the benefits will occur immediately. We think if we rearrange our work in this way, the following good things will happen. So, if a company tries the approach for a couple of weeks and it doesn’t work, it assumes that it failed. But that’s not the best approach. You now have information, so it shouldn’t be treated as a failed project.

Becoming a DevOps manager means shifting your approach to leadership toward thinking about how you connect with your peers, as opposed to how you separate from them.1

A DevOps transformation is about helping your employees learn to change how they think, work, and relate to other people in the company. Those are challenging things that have to happen over time. It’s not like ‘We bought new software and will send you to a training class.’ It’s on a much deeper, human level than that. Management becomes helping people learn to work differently. As a manager, you have to think about your team or organization, as a service provider…not just a doer of things.

 Hone your collaboration skills.

DevOps is all about cross-team collaboration, therefore, managers must lead development, infrastructure, operations, security, testing, product, and any other related teams. Being a great manager means respecting the perspective of other teams while channeling your direct reports’ efforts towards the agreed-upon goals of the wider organization. Strong managers also employ active listening and hold postmortems that don’t place blame on anyone, to keep the enterprise moving quickly.

Affinity, building connections across the organization and the community is also key. The connections that we build allow us to shorten the time that it takes for us to get work done, reduce communication barriers, and build trust based on regard.

Become a mentor.

Becoming a mentor and sponsor, and giving senior individuals on the team the time and opportunity to mentor junior staff is equally important. Often, senior folks are discouraged from this and implicitly encouraged to become the single point of failures on the team, as they can get the work done quicker than the newer team members. When an individual is seen as a blocker, someone who you can’t do a particular task without they are effectively a single point of failure.

Focus on continuous learning.

Spending time building the knowledge and skills of individuals on a team adds value to the organization. One of the five indicators of overall employee happiness is the opportunity to learn and happy employees build better products that in turn lead to better quality and happier overall customers. A good DevOps manager encourages a human-centered approach that values the experiences of the team while continuing to challenge them to learn and develop.