How To Distinguish Stellar From Low-Performing DevOps Teams
Digital nomad and tech storyteller
In today’s fast-paced business environment, software developers are experiencing a tremendous shift in production demands – from Agile requirements of yesterday to today’s call for continuous development and deployment. Businesses require adding new product features on a daily basis, and faster time-to-market is an important predicament of staying competitive. Software companies, who can no longer afford to wait weeks or even months for development teams to test and deploy new products, are now increasingly embracing DevOps.
The DevOps methodology eliminates an inherent conflict between development and operations by creating an integrated environment based on the same configurations, and also by using automation, frequent deployments and iterative processes. Most importantly, it focuses on development and operation teams on a common goal – fast and seamless product delivery.
The DevOps approach allows teams to operate at unprecedented speed and to streamline software production. With so many DevOps resources available now and public cloud offering easily accessible and scalable infrastructure, the unanimous shift toward new approach is underway.
Yet, while many companies recognize its benefits, there are issues that hinder the successful adoption of DevOps methodology. While DevOps teams are potentially capable of working faster and more effectively, in reality, businesses are experiencing many failures. As of today, the hype around the DevOps movement is starting to subside; instead, there’s a growing understanding that a DevOps team will only be successful under certain conditions. Simply erasing the line between developers and operationists doesn’t automatically spell great teamwork and top-notch performance.
So how do you distinguish stellar from low-performing DevOps teams?
The DevOps Mindset
“We estimate that, by 2019, 90 percent of I&O organizations attempting to use DevOps without specifically addressing their cultural foundations will fail,” said research director at Gartner Ian Head. In essence, building a DevOps team is an attempt to integrate two distinct cultures: developers, whose ultimate goal is impeccable code, and operationists, whose main concern is the infrastructure and non-disruptive performance of all core business processes. Fostering a mindset that would focus them on a common goal is what makes for successful DevOps team. Regardless of their initial specialization, stellar performing teams will, first and foremost, concentrate on what’s most beneficial for the company and will generate means and approaches that work best.
“DevOps is primarily a cultural and organizational transformation, – says the Founding Principal of Project Management Essentials LLC Alan Zucker, – The strategic view is to focus on people and process before tools. I look for people who talk about understanding the value stream, identifying systemic bottlenecks or waste, building a collaborative environment, or gathering and understanding metrics”.
Ultimately, no matter how many advanced DevOps resources and tools they use, its the specific attitude that matters. Collaborative, rather than competitive spirit is the distinct feature of a successful DevOps team.
Communication and empathy
Previously, great interpersonal skills were not what one would have expected from IT professionals. Now, these traits are primary indicators of a strong DevOps talent. Today, when software development requires fast and frequent deployments, effective communication ensures that all processes run smoothly along the continuous delivery pipeline.
“Without empathy, you can’t really deliver successful DevOps/SRE projects”, – says Yves Junqueira, former Site Reliability Engineer at Google, – “Those initiatives require collaboration, communication, and buy-in from the team. If someone has a fantastic idea for how to speed up their team’s DevOps processes but can’t communicate to others and can’t convince them to rally around it, that idea is not worth much”.
Every player on a stellar DevOps team is an excellent communicator capable of clearly outlining deadlines, expectations, and vision.
Apart from being great communicators, successful DevOps teams are demonstrating an impressive set of soft skills: responsibility, self-discipline, active listening, time management and high level of emotional intelligence. Resilience and the ability to work under pressure are also important, as well as critical thinking. Stellar performers are ready to take risks and are unafraid of failures: in a fast-paced environment where things can go wrong and probably will, what matters is not dwelling on your mistakes, but the ability to learn from them and quickly switch from one concept to another.
“Having exceptional personal skills will allow the DevOps engineer to ensure that the right people are at the right places at all times, and will help maintain positive attitudes and momentum as projects move forward,” – says Justin Raynor, Director of Systems at FreightCenter.
An open mind
In a cross-cultural environment, what matters most is being able to see things from another standpoint – sometimes, radically different from your own. When integrating developers and operationists into a successful DevOps team, this is an important prerequisite of success. Consequently, this trait becomes a serious asset in communicating with clients, learning what they want from a product and making the necessary tweaks, even if that involves stepping aside from a previous plan.
Willingness To Learn
Things are changing fast on an IT scene, so willing to learn is paramount. In three or five years from now, we’ll see completely different approaches, tools, and technologies, so on top of that, DevOps teams will also have to unlearn what they already knew. This requires flexibility and specific mental aptitude.
“Those engineers who can adapt to the changing market, as well as become experts on troubleshooting when things don’t work as expected will continue to be the engineers who will remain the highest in demand”, – says Pete Cheslock, VP Technical Operations at Threat Stack.
Apart from committing themselves to lifelong learning, DevOps engineers have to be curious and willing to broaden their professional horizons. Every member on the DevOps team should be proficient in at least three fields of specialization in addition to just coding or system administration. DevOps engineer is a multifaceted professional with a versatile skill set, and stellar DevOps teams are cultivating adaptability and are dedicated to constant education and growth.
DevOps drives more successful software delivery, but to make sure a specific DevOps team is a great-performing one, you will have to see it in action. Ask yourself – are the communication lines open between you and the team, or are you constantly having trouble getting your point across? How versatile and adaptable are the engineers on a team? Are they willing to listen and ready to switch their course of action if that helps them deliver a high-quality product? Would you describe the team spirit as collaborative or competitive?
In general, people are resistant to change, so it’s only natural that many organizations have tried adopting a DevOps approach and failed. However, many have been successful, and you can instantly recognize stellar from low-performing DevOps teams if you follow these simple guidelines.