Why Do DevOps?
Companies that incorporate DevOps practices get more done, plain and simple. They deploy code up to 30 times more frequently than their competition. And less than 50% of their deployments fail according to Puppet Labs 2013 State of DevOps survey.
The biggest shift in attitude in a DevOps environment is that there is one team composed of cross-functional team members including developers, QA, DBAs, business analysts, operations engineers and so forth. Collaboration across these different roles delivers many benefits.
- Continuous software delivery
- Less complex problems to fix
- Faster resolution of problems
- Faster delivery of features
- More stable operating environments
- More time available to add value (rather than fix/maintain)
More Deploys Means Faster Time to Market and Continual Improvement
Continuous software delivery brings two huge factors of success to an organization. First, you can go from “idea” to working software faster in terms of initial project development. Then you can experiment on many different things for continuous incremental improvements of whatever your company measures, be it performance, sales or signups.
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. And resolution times are faster because team members don’t need to wait for a different team to troubleshoot and fix the problem.
There is enormous waste in a typical IT environment with people waiting for other people, other machines, new software or they are stuck solving the same problems over and over. People like to be productive in their work and the time spent churning causes frustration and unhappiness. When people get rid of the unsatisfying parts of their job and can instead spend that time adding value to the organization, everyone benefits.
Automated deployments and standardized production environments, key aspects of DevOps, make deployments predictable and free people from routine repetitive tasks to go do more creative things.
Learn more about The DevOps Lifecycle.