Is DevOps Transformation a Holy Grail?
Is DevOps Transformation a Holy Grail?
This step-by-step approach to DevOps adoption will help you focus on the right points during your company's transformation, like balancing speed and quality.
Join the DZone community and get the full member experience.Join For Free
Both development and operations teams are popping up in enterprises all over the world, and even though DevOps programs are still in the early stages, our ultra digital world calls for even more software applications. This is why many analyst and consultants alike believe that, in the near future, DevOps will be even more powerful than legacy IT. DevOps will be something businesses of all sizes will not be able to live without and the sooner you initiate the DevOps transformation, the better.
Why DevOps Transformation?
One of the most exciting aspects of DevOps is enacting technology practices and architecture that help organizations create an agile and continuous product flow, from development to testing, to operations and all the way to deployment while increasing stability, reliability, and security at the same time.
More importantly, adopting DevOps can enact changes in the culture of your business, such as allowing teams to work quicker with more independence. Back in the old days, before DevOps began to gain traction within enterprises of all sizes, for a software company to deploy even a minor update, upgrade or bug fix, this job would involve literally hundreds of developers and it could take weeks to deploy the product.
Today’s top performing businesses and DevOps adopters are deploying much faster and the products they release generally have greater reliability. Still not convinced that DevOps is the holy grail? Consider the following.
Focus on Speed, Not Cost
Do you want to achieve the same capabilities of Amazon and Netflix? Of course! Who doesn’t? It’s easy to make an excuse that they have a lot of money to spend, but, when we look deeper, companies who achieve DevOps success are more focused on optimizing speed instead of cost. When we organize and optimize for cost, it creates functional silos for the networking and database people, server admins and many others.
When you optimize for speed, you are willing to cultivate talent from within, increase the salary of engineers and send them to conferences. You would not necessarily do these things if you were simply optimizing for cost. There are a whole bunch of techniques we can use in order to optimize for speed such as using small, cross-functional teams that can deploy value to the customer independently without having to rely on hundreds or, in some cases, thousands of people.
Best of all, you don’t have to be a big conglomerate to make this transition. Even small and medium-sized businesses can choose to optimize for speed, break down silos and get their product to market faster. After all, this is what DevOps is all about.
Software Speed vs. Quality
Businesses that rely on developing and deploying software to support or supply their customers have been faced with a dilemma: speed or quality. If you go to market before your competitor(s) you could be cutting corners in terms of testing and quality assurance which can ruin your launch. However, if you wait until your code is perfect you can lag behind in the race for the next big breakthrough. Fortunately, the DevOps approach can resolve this dilemma, while improving the bottom line.
Way back in 2015, the State of DevOps Report collected the DevOps health and habits of more than 20,000 tech professionals and found that top performers using DevOps show more agility and reliability in their releases and they were twice more likely than non-DevOps users to exceed productivity goals. For the roughly 800 companies that had a stock ticker symbol, it found that the top performers had an almost 50% higher market capitalization growth over three years. This indicates that DevOps is great for IT performance as well as organizational performance.
What everything boils down to is that all modern businesses are increasingly more reliant on technology when it comes to acquiring new customers and bringing value to those customers. It is becoming increasingly apparent that agility and speed are key attributes for companies who want to win in today’s marketplace. "Shortening the release cycle while keeping the number of production incidents at a low level along with the overall cost of failure is what our customers are looking for", says Oleg Reshetnyak, CTO at Reinvently design and development agency.
DevOps Transformation Guide
With all of the benefits listed above, you are probably eager to get started with DevOps. Here is a simple step-by-step guide to assist you in your DevOps transformation.
Conduct an Enterprise Readiness Audit - The highest probability of a successful DevOps transformation is when it is championed from the very top. The participation of business leaders is just as vital as operations, security and development teams. In order to get everyone on the same page and to ensure that your DevOps transformation gets off to a good start, it is recommended that you seek assistance from an experienced, external consultant or coach. The purpose of this first step is to get executives to buy-in, create mutual goals and get an understanding of what an Agile-DevOps program looks like.
Create a DevOps Center of Excellence (CoE) - One of the most important things you must do here is designate an Executive DevOps lead with enterprise authority. There is no use in creating this Center of Excellence at the incorrect organizational level. It must be spearheaded by someone who has the support and trust from all branches of the organization including delivery and vendors.
Create a Program Governance - Such a program will include creating a communications plan, an enablement program as well as establishing program KPI’s. In terms of making a cultural impact on your organization, this, perhaps, is the most important step. The roles and responsibilities of practitioners will change with Agile and DevOps and it is vital that they understand collaborations between structures where historically animosity could have existed so they can break down these organizational silos. The KPI’s will also need to be transitioned from individual metrics to holistic customer business results.
Create a Project Intake Process - Project intake really sets the tone for how successful each new sprint that comes into the program will be. What matters here is not the tools and process, but rather the proper sizing of the tools and process. There is a need to fit for purpose when selecting accelerators, toolchain, and development methods. Once it is created, the communication of the intake process needs to be disseminated across the organization. Keep gathering feedback, and continuously evolve and mature based on this feedback.
Identify and Initiate Pilots - In order to achieve the highest probability of success, apply this step to a specific portfolio of applications or a domain solution. The purpose here is to create a value-stream map of a specific application with company-wide participation on all levels. This needs to be done with the necessary amount of detail in order to identify manual and automated processes, end-to-end process tooling, as well as the people and skills that are involved.
The next aspect of the intake project is the collaboration between the Subject Matter Experts from the Center of Excellence with the project team. The goal is to advise on “to-be” processes with proper tooling, reusable assets, automation. As the application goes through the development and test cycle, be sure to identify and capture the KPI’s for the program in order to compare with existing KPI’s.
Scale Your DevOps Program - This final step involves taking feedback from the pilot metrics and scaling them by taking different application portfolios and running multiple release trains. It is not enough to merely do automated deployments and daily builds. The last, but by no means least piece of the DevOps puzzle is constant feedback and optimization.
In order keep up with top performing businesses and stay alive in today’s ultra-competitive, faced paced environment, implementing DevOps is an absolute must. DevOps is not solely reserved for giant enterprises such as Amazon and Netflix and can be implemented in an organization of any size.
In the not too distant future, DevOps will become something businesses, of all sizes, will not be able to live without. In order to reap all the benefits DevOps has to offer, the sooner you make the transition to DevOps, the better.
With DevOps, there is no longer a reason to choose between speed and quality when deploying your software. When implemented properly, DevOps will allow you to deploy software with both agility and reliability increasing your customer base and the bottom line.
The step-by-step approach mentioned above can and should be implemented in any flavor and variety that best suits each individual organization’s needs and constraints. Pay particularly close attention to large gaps or excessive deviations as they are red flags which will need to be corrected.
Opinions expressed by DZone contributors are their own.