DevOps is not new and neither it is just a buzzword anymore. Organizations today, be it be Service-oriented or Product based, are increasingly looking to deploy DevOps to stay competitive and ahead of the curve.
Have you ever imagined what could happen if every unit in your organization is working in a silo? What if your marketing team is totally clueless of what new features the product team has added in the product stocks reaching the vendors the next day? You’ll surely be in a huge mess.
This is exactly what happens in the absence of a DevOps Culture.
Every organization, irrespective of its size, values agility which in turn promises a faster time to market while increasing efficiency and reliability and driving costs down.
However, traditional ops can spoil the entire game by being at least 41% more time consuming and wasting 7.2 hrs per week on an average only on managing collaboration! A DevOps Culture, on the contrary, improves cooperation and collaboration by almost 55% reducing handling time by 60%, thereby bringing in seamless benefits
Let’s look deeper into what DevOps truly means and how to build a DevOps Culture at your organization!
An Introduction to DevOps Culture
DevOps is a set of software development practices that combine software development and information technology operations to shorten the systems development life cycle while delivering features, fixes, and updates frequently in close alignment with business objectives.
But in our view, DevOps is more than just a software development practice. It is a culture brought about by simple changes in the human and process interactions across an organization for seamless development.
Further, DevOps as a culture, cannot be forced upon an organization. DevOps practices require careful consideration, planning, and a matching overall organizational shift.
The efforts to build a DevOps culture are extremely valuable as they bring along innumerable benefits for the whole organization.
Key Benefits of Building a DevOps Culture
DevOps has manifold benefits to your business, to your teams, and to the customers.
Customer Experience & Customer Satisfaction
According to Gartner, by 2018, 90% of Infrastructure & Operations organizations attempting to use DevOps without specifically addressing their cultural foundations will fail.
And that cultural foundation has to be to offer customers the best user experience possible, and to be driven by the need to constantly keep improving at the highest rate possible and by doing so, increase customer satisfaction.
“So the next time you hear a vendor talking about incredible outcomes that don’t fully address customer experience, question them on it” ~ Daniel Schrijver, Senior Principal Product Marketing Director, Oracle
The primary goal of DevOps is to deliver higher quality software to end-users at a faster pace. The positive effect of this helps around improved user experience and increased revenue opportunities.
Increase Reach, Break Silos
The Agile Manifesto emphasized on self-organization for small teams, but extending it across organizational lines and departments will be the bottom-line advantage of DevOps over time.
This is the most strategic advantage proving that self-organizational approaches can successfully break down the silos that result from hierarchical organizational models.
Self-organizing teams prove to be far more effective than teams who need constant managing. These teams in due time grow the culture, thereby creating a chain reaction on-field and allowing the culture to grow stronger with new projects and teams as well. This is what exactly a DevOps culture does!
Align Business and Technology
All efforts put into establishing a DevOps Culture will shorten feedback loops, focus on continuous improvements, and above all, prioritize customer needs before everything else.
This type of thought process surely helps in bringing higher efficiency towards innovating new products and services and the agility to change on time with technological advancements, market direction, and competition. All of which creates loyal and happy customers and a successful and innovative company.
Look at the large cloud services companies like Amazon, Facebook, Google, Netflix, etc. are using DevOps internally and have also totally changed the entire supply chain (people, process, technology, and culture) to improve their overall business performance
Etsy used to deploy twice a week with a 4-hour deployment cycle. With the implementation of DevOps, this cycle is in overdrive with 50 deployments a day using continuous delivery.
Similarly, Amazon, post it’s moving on to DevOps is deploying code every 11.7 seconds.
These numbers allow businesses to be very agile and being able to test and establish ideas sooner than ever.
Software is at the core of any digital transformation. In order to deliver new digital services that enhance customer experience, DevOps is essential. Being able to deliver digital services at speed and with quality, and so the bottom-line advantage of DevOps is that it’s a foundational element of successful digital transformation.
Velocity: Faster time to Market
When one uses the DevOps Agile methodology, IT works directly with the business users to deliver exactly what they need. The focus is on business needs & we see that projects get finished and move into production fast.
The business community says that the first and foremost ask is time-to-market (TTM). The ability to bring new ideas or services to the market allows businesses to validate these ideas and establish an early advantage.
Organizations can apply DevOps methodology, allowing them to respond quickly to market demands.
The bottom-line advantage is the ability to obtain continuous feedback and incorporate it speedily into application development. This leads to increased revenue and customer satisfaction.
In the digital business era, customers’ needs are evolving so rapidly that their needs can no longer wait a year or more to incorporate suggestions. The turnaround needs to be much more quick and seamless, which requires many organizations to change their tools, processes, and culture.
With DevOps established as practice, IT changes from being a business cost center to being that of one that leads the innovation for the business. Product and service offerings can be introduced, tested, and rolled out much more quickly to the market place keeping up with the pace of change in the marketplace.
The DevOps principles allow IT teams to produce and deliver value quickly, test out hypotheses with real users, and roll out actual services and products that bring in revenue to help grow the business and make an impact to the top line.
DevOps establishes a trust that everyone in the team contributes to the continuous delivery chain. A culture of trust means the empowerment of every individual, ultimately resulting in more motivated employees producing better, timely output. Virtues like employee loyalty and connection to organizations reap high benefits in the long run.
Optimizing & Streamlining Processes
DevOps brings confidence in teams across the entire enterprise, allowing them to move forward quickly. By replacing the error-prone handoffs used in the traditional processes with a continuous pipeline teams can move quickly, deploy small changes often (by CI/CD), detect issues and opportunities (by monitoring) in near real-time and as often as possible and finally, react by rolling forward, not by reverting.
DevOps can facilitate the entire organization to reach the next level today and stay open to change now and always, thereby keeping the organization one step ahead of the competition.
Once DevOps is optimized, organizations see an improvement in developer and QA productivity. DevOps is a culture of working together and working fast. It requires a real rethink of QA automation, availability of staging servers, how tasks divide between Dev QA and ops, etc. The impact can be profound and improve the overall business success and ability to compete with rapid turnarounds and improved processes throughout the enterprise
How to implement DevOps Culture?
While the actual DevOps practice is personalized as per each organizations’ needs, there are a number of core technology practices like Continuous Integration and Continuous Deployment, Automated Testing and development methodologies like Agile represent a core set of DevOps Practices.
These practices connect to technologies, tools, and products to provide a customized process/ practice.
While analyzing practices at a successful organization, one can infer that tools, processes & practices are only as good as the supporting organizational culture. One can develop complex processes, use the most sophisticated tools but if your organizational culture does not display constant focus on discipline and habits to learn and improve the process & practices much of the work can go to waste real soon.
Following are common cultural practices that help in the successful adoption of DevOps culture:
Along with your team, define a narrow enough scope to get you started. Early successes, however small they maybe are an essential encouragement for the team. Allow the team to build upon small successes and move continuously towards the bigger goal.
Empower team & allow risk-taking
Dr. APJ Abdul Kalam once said, “Your best teacher is your last mistake.”
Empowering teams to fail will allow them to learn from their experiences. This almost like an AGILE approach allows for an iterative & incremental process to discover and establish the best approach. The faster they fail the better they become.
Expect less, give more
DevOps journey can have many unexpected turns. Do not expect a fully analyzed approach and implementation. Be happy with a half-baked plan going into a DevOps journey. With the discovery of every failure, your processes should adjust. With time these processes will become stronger. Allowing to start the journey with a few assumptions the team will incrementally refine improve any plans. Trust your team!
Be Supportive & Instill Confidence
You as a leader are here to support your team. Delegate responsibility and decision-making. Shield your team from outside influence including your own.
Give your team the confidence that they can do it. Create an environment where people don’t fear to say they don’t know (yet) & how changes should be implemented.
Last but not least for any culture or interaction to succeed, one should communicate. It could start with the regular stand-ups but must go way beyond.
In our case, we set up weekly meetings to apprise stakeholders of progress. The meetings were more on being on the same page and discussing the way ahead.
Healthy communication in the team and with stakeholders always helps!
Pitfalls while Implementing DevOps Culture
Implementing DevOps may not turn out as a rosy journey unless planned and executed properly. Some of the factors like, lack of skills, friction in adopting culture change, inability to adopt better and advanced methods, complexity of applications and tools, choosing the wrong set of tools (what worked for others may not be best for you), budget and stakeholder pressure are some pitfalls which may cause failure for this change to be adopted.
Overcoming the Pitfalls of Implementation of DevOps Culture
As with any adoption, the initial phase is difficult and full of ups and downs. Pitfalls while implementing DevOps culture have a similar story and can be overcome with a focused strategy for each pitfall.
Factors like lack of skills, lack of culture and test automation can be overcome by skill enhancement programs/ training for the teams. Development teams are often asking and looking for training on new technologies and skills related to their craft. A well thought out training program will have a two-fold positive effect:
Application complexity is subjective, and hence should be seen differently. DevOps pipeline for one project may be very different from another. The pipeline will depend on technology, domain, and complexity of the application.
DevOps pipeline for Azure will rely primarily on Azure DevOps toolkit where DevOps pipeline for an on-premise or AWS deployment may use toolkit like Jenkins, CircleCI, etc.
It is suggested to apply 80-20 rule and see the projects or technology lines that can fall into one category and can be brought on a single DevOps pipeline and toolchain. These should be high-value projects and having them on board will give the necessary impetus to the culture and morale of the team.
Once the toolchain is established, other projects should be considered and brought on to the DevOps pipeline.
Last but not least Budget. An organization would have to invest in people, policies, and products (toolchain) to implement the DevOps culture. This investment should be budgeted and carefully run as any other project. The team should be aware of budget and timelines and should work according to goals and achieve results. Team should be clear and vocal on the need for additional budget and should also share the benefits of such an investment to stakeholders.
Adoption of DevOps culture is an experience in itself, and the results are truly amazing. Adopting DevOps Culture and Agile would certainly help an organization in achieving the next-gen & a better level.