How do you make DevOps grow and thrive within your organization? We recently looked at the special traditions and meaningful rituals that rally people around agile ways of working. But even the best breakfast tacos won’t make a difference if you don’t have a solid strategy in place to scale DevOps in your organization.
IT leaders and DevOps experts tell us that key considerations around talent, measurement, vision, and IT culture are the real secrets to taking DevOps to the next level. Here we share nine of their best tips for IT leaders. Dig in, and then share yours in the comments below.
1. Make everyone accountable to shared goals
Steve Burton, CD and DevOps evangelist, Harness: "For one thing, stop giving people 'DevOps' titles and expecting that to magically increase your release cycles. It's about making people aware of the business objectives and giving them accountability for shared goals. Got Developers? Make them responsible for how their own code acts in production. Got Ops? Find a way for them to spend their time other than hunching over a console and overseeing each release.
For both of them, align their compensation to business outcomes. When it comes to DevOps, it's deeds, not words – and hiring 100 people with ‘DevOps Engineer’ titles without shared goals, accountability, and compensation-based incentives is a lot like putting 100 tires on your car and expecting it to go faster."
[ Are you a DevOps job seeker or a hiring manager? Get our free resource: The Ultimate DevOps Hiring Guide. ]
2. Cut the jargon
Fin Goulding, international CIO, Aviva: "I would recommend de-jargonizing the technical language that underpins DevOps as much as possible. Instead, focus on the business outcomes that will be delivered - especially if one is looking for an increase in investment or to expand DevOps across a wider selection of business and technical teams. I prefer the term Flow Teams rather than DevOps 2.0. I fundamentally believe that these holistic teams will be at the heart of the most successful workplaces of the future."
3. Measure wisely and choose the middle path
Mirco Hering, APAC DevOps and agile lead, Accenture: "First, make sure you understand what success is and how it is being measured so that you can see progress. Second, don’t get deterred by the increasingly evangelist solution providers and focus on incremental improvements. Everything in DevOps is about the middle path – don’t look too far out, but don’t be shortsighted; don’t be too purist but do challenge the status quo; don’t put all trust in technology, but support your transformation with technology."
4. Move from project to product mindset
Carmen DeArdo, DevOps leader, Nationwide: "The summit of the DevOps journey is for teams to reduce lead time and deliver more frequently to be more responsive to their business. This is not something that IT can achieve in a vacuum. That's why I believe the concept of moving from a project to product-centric model is necessary – where IT is not seen as a cost center but rather a full partner working with the business to accelerate the flow of delivery across their end-to-end product value streams."
5. Balance soft and technical skills on DevOps teams
Robert Reeves, CTO, Datical: "The goal of DevOps team leaders is to enhance the way organizations think, live, and breathe. Given the critical environment in the modern enterprise in which DevOps professionals are placed within their organizations, leaders must employ the following soft and technical skills in order to take DevOps to the next level:
Soft Skills: Often dismissed in highly technical teams, it is worth more than a small footnote that soft skills for DevOps professionals are key to the organization's culture shift. Soft skills include:
- Adept written and oral communication: It is imperative the breadth of knowledge obtained by DevOps engineers is documented and shared succinctly. This involves the use of private Wikis, issues trackers, and ad-hoc brown-bag sessions to fully leverage the insights of fellow team members and relay pertinent information.
- Collaborative: When thinking of collaboration, most people picture a small group in a room staring down a whiteboard. For DevOps engineers, this can be the case, but often involves a host of other skills which rely on leveraging technology to automate the collaborative efforts for you. Think utilizing chatbots popularized by HipChat and Slack to notify a team when tools they rely on are out of service or leveraging incident reports and retrospectives to uncover failures within process, governance, and/or policy.
- Customer-first mindset: While DevOps engineers typically are not external-facing roles, their customers (developers, QA, customer success, project management, and business leaders) are their clients. When juggling requests from operations, development, and product teams, the ability to empathize, prioritize, and be transparent are key to successful relationships.
Technical Skills: It is imperative to come armed with a strong technical foundation and the ability to work swiftly in high-tech environments to find answers to sometimes frustrating issues. Technical skills include:
- System administration and engineering: DevOps engineers often deep dive into system layers, like OSI model for example. DevOps engineers should be well-acquainted with building and administering Linux and Windows servers and the various networks they work within.
- Scripting: Like so many tech environments, a key element of DevOps is automation. A lot of the manual tasks performed by more traditional system administrator and engineering roles can be automated by using scripting languages like Python, Ruby, Bash, Shell, Node.js. This will ensure consistent performance of manual tasks by removing the human component and allowing teams to spend the saved time on more the broader goals of the team and company.
- Configuration management tool belt: When dealing with multiple servers spread across many data centers or cloud service providers paired with the need to perform kernel updates, modify network settings, securely manage SSH keys, and update tooling used by developers and QA, how does a DevOps engineer manage it all? Configuration management tools are the answer.
- Identity governance: A key element of DevOps engineering success is managing access requirements of all functional teams, especially as it relates to systems and services used by the development team. Having a grip on who can access key systems and data not only ensures a critical level of data an app security, but more often than not leads to increased user productivity and more efficient management of tools. Tools looked to facilitate this are SSH keys, RDP, rdesktop, and LDAP to name a few."