AKS - Fotolia

Seven habits of highly effective DevOps consultants

If you're struggling with your DevOps rollout, a qualified consultant can help. Here are seven qualities to look for when deciding among third parties.

What is it exactly that makes DevOps consultants particularly qualified at bringing together development and operations tasks? It turns out that, like many other things in life, it takes seven habits.

1. Set goals

There's no point sailing a ship if you don't know your desired destination. Good DevOps consultants set goals pertaining to things like reduced bugs, deployment times, frequency of deployments and software quality.

"A good DevOps team sets goals right from the start," said Rick Broker, a sales engineer with XebiaLabs. "Your goals may be about development velocity, software quality or even commits to the source code repository. But you must set goals before you start."

2. Create baselines

There's no way to know if a DevOps transition is working if there is no historical data with which to compare. So, before embarking upon a DevOps transition, effective DevOps consultants will baseline everything from deployment frequencies to the amount of time it takes to recover from a broken build. It's even worthwhile taking note of how long it takes to perform routine tasks, like FTPing a file to the server or moving a WAR file from preprod to prod. Anything that could change should be baselined.

3. Test and evaluate

With goals set and baselines established, it's easy to tell if a newly adopted DevOps approach is working or not. All one has to do is gather the metrics used to create the baseline and evaluate the results.

4. Adopt new tools

Reducing defect conversion time -- that is, the amount of time it takes to fix a defect after it has been identified -- is an often overlooked benefit of DevOps.
Lance KnightCOO, Go2Group

When it comes to to tools, there is no shortage of options. Well-established choices, like Chef and Puppet, make it possible to automate the software development environment. New tools -- like those offered by Go2Group, a DevOps tools and solutions vendor -- are good for tasks like eliminating the need for departmental sign-offs and time-consuming interdepartmental requisition tasks. Effective DevOps consultants know that taking the time to learn and adopt new tools can save significant time in the long run.

5. Skip the culture banter

DevOps isn't about changing culture. When DevOps works, goals are being achieved, and the metrics indicate that the plan is working. So, then, the culture will shift accordingly. You don't get DevOps to work by changing the corporate culture. Instead, corporate attitudes change when they see DevOps models starting to work. There's a difference.

6. Embrace alternate technologies

Are there ways that new technologies -- alternate data streams or other digital channels -- can be integrated into the continuous delivery pipeline to reduce deployment times or increase software quality? Maybe there are opportunities for AI to help identify potential issues in the code base? Could drones capture data streams that could reduce the reliance upon the human element in any of the largely human-based interactions that are required when the user interacts with the system? An effective DevOps consultant is always looking for ways to automate tasks, while also improving the overall user experience.

7. Turn failures into successes

Things fail. That's just a reality of life. But effective DevOps consultants know that inevitable failures can be chalked up as successes so long as they are dealt with appropriately.

"Reducing defect conversion time -- that is, the amount of time it takes to fix a defect after it has been identified -- is an often overlooked benefit of DevOps," said Lance Knight, COO of Go2Group.

Lance KnightLance Knight, COO of Go2Group

A DevOps approach to software development doesn't just mean getting applications to market quicker, but it means being able to handle failures more efficiently as well. Are there manual tasks that happen when a build breaks that can be automated? Can scripts be written to replicate the common troubleshooting tasks a systems administrator performs? If so, the entire process of getting the system back up when it inevitably goes down can be hastened. That's the way a failure can become a big DevOps success.

This certainly isn't an exhaustive list. But if your consultant isn't doing these things, they're definitely not doing their job right.

Dig Deeper on DevOps-driven, cloud-native app development

App Architecture
Software Quality
Cloud Computing