DevOps can often be a daunting new approach to IT teams as it defies traditional methods with separate development and operations. The longstanding silos can seem impossible to remove, but the end goal, getting to market faster, seems well worth it. Furthermore, doesn’t an environment full of collaboration and communication seem a vast working improvement regardless of its market implications? We sat down to talk about three recent DevOps articles that offer advice on successful implementation focusing on the surrounding culture.
It all starts with having a single DevOps story, suggests Anton Weiss, Founder and CEO of Otomoto. Any transformation must begin with leadership’s support. Though originally DevOps was a grassroots movement, he admits, stemming from the engineers’ desire to automate and change the way they collaborate, management needs to be there to allow full transformation of the culture, and further, ensure that it happens along a single plane. That is, they need to maintain consistency among departments as to what, exactly, DevOps means for their organization. If Weiss defines culture as the stories you tell compiled by management, the key to DevOps then is telling a single story across departments.
Management now recognizes that they need DevOps to remain modern, but the problem is that they do not know how to. The historical “we’re engineers, how do we get management on board?” has spun completely backwards as now management asks instead, “we want to do DevOps, how do we get engineers on board?”. One of the mistakes many organizations make is siloing an entirely new profession that is suddenly responsible for DevOps, rather than effectively merging existing departments.
The biggest challenge, though, Weiss projects, is that people are reluctant to change as they are afraid to fail. Leadership, therefore, needs to provide a safe environment where people are less scared of failing and more incentivized to experiment. Above all, the number one recommendation Weiss gives is to understand why you want to implement DevOps, and then perhaps, you will succeed.
John Willis, Director of Ecosystem Development at Docker, Inc, discusses how to turn human capital into high performance organizational capital. DevOps success is about building a collaborative environment, a learning organization in which people develop trust with one another. Organizations also need to be lean and build a safety culture so that their employees are not afraid of experimental failure, a suggestion similar to Weiss’.
In contrast to Weiss, Willis declares that DevOps culture requires a combination of grassroots and management leadership. Executives are necessary to support the movement, but you also need someone to show the staff that they “already know about this stuff”. Willis’ strategy, perhaps, is the way to combat human reluctance to change, the biggest challenge to DevOps implementation as we saw according to Weiss. Stop introducing DevOps as all new and instead start easing it into what people already know.
Organizations are capable of implementing DevOps, however it is also important to note, Willis says, that it can be tricky to get the executive team on board given that improvements are incremental and it can be hard to showcase the most impactful benefits of the transformation as it is still a relatively new adoption. In the end, Willis believes that the key to DevOps implementation is to get the culture right. If the culture is not right, everything else will eventually fail.
As we saw in last week’s DevOps blog post, CTO of Ness Digital Engineering Moshe Kranc also argues that the right DevOps culture is crucial in order to succeed, and that the most effective way to encourage implementation is to develop it on “an evolutionary basis”.
Now that management is looking further into DevOps implementation, DevOps engineers are more highly sought after. For those who will be hiring and applying for DevOps positions, here are Alison DeNisco of TechRepublic’s 10 skills that DevOps Engineers need for success.
- Soft skills – Understanding of the people and the culture as well as effective communication skills are crucial.
- Broad understanding of tools and technologies – Engineers must be curious to constantly learn new things and ask questions that generate fresh ideas and welcome new challenges.
- Security training – DevOps Engineers must be able to protect applications from attack.
- Experience with infrastructure automation tools for implementation at any level
- Testing – Testing drives automation.
- Customer-first mindset – Ability to empathize, prioritize, and be transparent are key to successful relationships. While they are not typically external facing roles, their clients are. They should also care about outcome as opposed to their part of the supply chain for better success.
- Collaboration – Be able to break up work into small batches so that others can do theirs more quickly. They should show empathy towards the entire team.
- Flexibility – Be able to multitask and be open to change in the risk/reward environment that is DevOps because everything is important and everything is urgent.
- Network awareness – Plan and test for the network in the design.
- Big picture thinking – Combine needs and wants of multidisciplinary teams and applications, and avoid creating contention points and constraints that carry from one project to the next.
Aside from characteristics of individual engineers, it is important to develop a strong team environment for DevOps, so we put together an article on Traits That Every DevOps Team Should Have. DevOps is all about collaboration, breaking down barriers, and integrating all of the sections of the IT department. Just as you would with any new practice, nurture your DevOps culture with mindful and experienced leaders, allowing organizational growth and prosperity.
Trying to establish a DevOps Strategy?