DevOps is no longer a buzzword with more and more companies starting to practise it.
So, what is DevOps?
Like any new and popular term, people have somewhat confused and sometimes contradictory impressions of what it exactly is.
DevOps was coined by Patrick Debois in 2009 to describe a culture of collaboration between the Development and Operations teams. DevOps is a philosophy, where developers and operations teams work together to speed up things from development to deployment, in order to keep pace with business.
The DevOps movement inherits from the Agile System Administration movement and the Enterprise Systems Management (ESM) movement. Often described as “Agile for Infrastructure,” the scope of DevOps has expanded into many other aspects of IT management. From tasks such as software deployment and trouble-shooting to quality assurance and security management, operating in a “DevOps” way is emerging as the new way to do business in IT.
For many in the IT industry, DevOps is not a new way of working; leading IT organizations recognize that collaboration between groups provides huge productivity gains. The traditional IT silos are gone. However, several other organizations are still confined in these dysfunctional silos. Cross-team tasks still require complex hand-offs and acceptance criteria, and response to failure is more about allocating blame than finding solutions.
DevOps has strong affinities with Agile and Lean approaches. Waterfall gave way to the V-Model which in turn was replaced by Agile as the preferred choice for software development. DevOps is the future. It’s a continuous improvement cycle that software development models undergo from time-to-time.
Although there are subtle differences between Agile & DevOps, those working with Agile will find DevOps a little more familiar to work with and eventually adopt. While Agile principles are applied successfully on the development and QA iterations, it is a different story on the operations side. DevOps proposes to mend this gap. It extends agile principles beyond “Working Software” to the entire delivered service.
Some people define DevOps as a technical problem and some others define it as a business problem. It is actually a bit of both and needs true business and technology alignment to make the DevOps culture flourish.
The biggest shift in attitude in a DevOps environment is that there is one team composed of cross-functional team members having common objectives. You don’t have to choose stability versus new features.
In a non-DevOps environment, there is often tension between introducing new features and stability. The development team is measured on the features they deliver to users, while the operations team is measured on the stability of the system.
In a DevOps environment, a single team is responsible for delivering new features and stability. The combination of a shared code base, continuous integration, test-driven techniques and automated deploys, among other things, expose problems in application code, infrastructure or configuration earlier because the software isn’t “thrown over the wall” to Operations at the end of coding. Problems tend to be less complex because change sets are smaller. Resolution times are faster because team members don’t need to wait for a different team to troubleshoot and fix the problem.
Why is DevOps suddenly so important?
Recent studies indicate that companies that incorporate DevOps practices get more done, plain and simple. Industry leaders both big and small are sharing noticeable results:
- 8x more frequent production deployments
- 50% lower change failure rates
- 12x faster service restoration times when something went wrong
The 21st Century business environment is driving companies to shift their focus from stability and efficiency to agility and innovation. The pace of disruption is accelerating. In order to present an adaptable face to the market, companies need to change their approach to work. They need to shorten work cycles, increase delivery frequency, and adopt an attitude of continual experimentation.
Digital infusion dramatically raises the stakes for IT. We’re reaching the point where daily activities are becoming impossible without digital technology. Companies depend on IT for their very existence. And IT can’t afford to fail at providing a compelling platform for the adaptive businesses.
DevOps can be a major contributor of high performance within IT, but how do we measure “IT performance”?
IT Performance = Throughput + Stability
Throughput = Deployment Frequency and Lead Time to Change
Stability = Mean Time to Recovery from Failure
DevOps is all about “building better quality software, faster and more reliably.” Isn’t that what every CIO wants?
How can Ness help…
2016 is seen as a year of implementation, and Ness Digital Engineering is helping a number of its customers in the retail, media, education and ISV space to operate in a DevOps environment.
Eventually, in the not too distant future, DevOps will become so ubiquitous in all organizations that no one will even give it a second thought. It will be the only way.