What is DevOps?
Devops is a cultural and professional movement that emerged in recent years as an extension of the Agile movement, in response to the huge communication costs and inefficiencies between the Development and Operations units, especially in large organizations. These units often have different incentives (and even operate under a different management structure): while Development is trying to push new functionality and features, Operations is concerned with stability and up-time. These opposing incentives create an inherent conflict and lead to slow delivery, wastes and a toxic “blame game”. This “IT downward spiral” is what Devops aims to correct.
Devops is not a methodology or framework, but a set of principles aiming to break the conflict between silos by leveraging Lean and Agile thinking and practices at a wider scope than just the inter-development process.
DevOps seeks to create a smooth and increasingly speedy flow of change from development into production, with as little waste along the way as possible.
Devops is all about Culture and Tools.
Devops requires a change in mindset so shared ownership and collaboration are the common working practices in building and managing a service. Specifically, these practices are the Devops pillars:
- Healthy attitude about failure
- Avoiding blame
Tools allow business processes to be automated and allow people to look at shared metrics and data about the end-to-end delivery. Tools are used for example for:
- Automated infrastructure
- Shared version control
- One step build and deploy
- Feature flags
- Shared metrics
Agile practices behind Devops
Agile helped product development/IT organizations improve the Product/Development/Test process. DevOps seeks to extend the benefits of principles such as small batches and Flow, Collaboration, brutal visibility and widely shared metrics, Cross-functional teams, frequent delivery, Inspect and Adapt thinking all the way to Production. Many organizations realize that while Agile helped them by reducing batch sizes and silos in a certain important slice of the value stream, the bottleneck has now moved to the Dev/Ops interface.
DevOps started as a bottom-up collection of best practices as System Administrators and developers were looking at the successes of Agile development practices and trying to apply some of the same ideas to the whole development-to-operations process.
DevOps brought Ops-specific tools aiming to solve the Continuous Delivery challenge, improve Monitoring and in general, reduce the transaction costs involved in deploying software and maintaining it, thereby enabling a much faster and Leaner operation.
A Word of Warning!
Many people focus mistakenly solely on the Tools perspective and neglect the important cultural/process/people aspects.
Specifically watch out for:
- A pure Devops tools approach (“just use these tools and you will be doing Devops”)
- A Devops team (a warning sign for the creation of a new silo of skills and knowledge)
Devops Bottom Line
DevOps enables higher-performance IT organizations and even better business results (see a recent study). DevOps organizations deploy up to 30 times more frequently with up to 50% fewer failures. This ability to deploy more frequently complements faster development cycle times and together enables organizations to rapidly complete the Buןld – Measure – Learn loop, inspired by the Lean Startup movement – thereby minimizing the amount of waste and maximizing the value/outcomes delivered by product development.
Devops in Enterprises?
While DevOps and Continuous Delivery were born in the world of web operations in companies like Etsy, Netflix, Google, Amazon, Facebook and Flickr (also called Unicorns in the DevOps community) it is now clear that Enterprise IT/Product Development companies (also known as Horses) can also benefit immensely from the ideas and practices and achieve similar results if they manage the change/journey towards DevOps in a way that makes sense in their context.
AgileSparks leverages its vast experience in the Agile and Lean worlds to help you “go DevOps” in your organization. We handle both Culture and Tools aspects and are have what it takes to be your partner in your Devops journey:
- We understand Agile / Devops and the principles behind it and are experts in creating a cultural transformation that sticks.
- We understand that each organization is different, therefore different tools and practices need to be applied. A web system is completely different than that of a highly regulated financial organization. We are highly experienced and possess the skills diversity in order to analyze and find the right way for each environment.
- We provide support for the tools needed, thus provide a comprehensive solution.
- Experience, experience, experience.