DevOps: What is It and What are the Business Benefits?
Amazon has been among the early adepts and eager supporters of the DevOps movement – the new reality of software development.
Like Ford’s assembly line propelled the manufacturing industry into the new era, DevOps culture is changing the speed, quality and agility of technological production. In a new series of posts, Infopulse team will explain why adopting DevOps is the ultimate route for enterprises to become more competitive and agile, release high-quality software faster, cheaper and with higher efficiency.
What is DevOps?
DevOps is a set of practices that promote better collaboration and widespread automation of the processes happening between operational and development teams. Though, the DevOps best practices can be extended to other business units as well.
“Dev” is an abbreviation for developers, QA, Product and other teams involved in shipping the software. “Ops” is a blanket term for operational professionals – system engineers, administrators, release and network engineers, security staff and other job titles.
DevOps essential practices are geared towards eliminating the “ping-pong” between these two departments through establishing new communication standards, fostering tighter collaboration, smoother integration and automation of low-value processes. It’s a mindset shift aimed at breaking the “silo” between the two teams and merging them in one, effective unit that can ship new products faster with fewer people involved and less hours spent.
To sum up:
- DevOps is a cultural philosophy that assumes new methods of collaboration between different departments.
- DevOps is a set of best practices that help teams build, test and deploy new software faster and with fewer bugs.
- DevOps assumes using new tools for automating zero-value business processes and eliminating ineffective, manual routines.
DevOps stimulates the adoption of new practices that are continuous in nature and enable flow, small batch size deliverables and continuous improvement to software development process and ultimately, the product itself.
Embracing DevOps means that your organization is ready to create an ongoing, cross-department conversation about strengthening the current business processes, introducing new practices and actively preaching increased collaboration, knowledge sharing and experimentation.
The Business Value of DevOps
The ultimate goal of DevOps is enabling companies to build more robust environments for their products within a shorter time frame. High-performing DevOps teams, when compared to low-performing peers or those still to embrace the DevOps movement, manage to:
- Deploy code 46 times more frequently;
- Have 440 times faster lead time from commit to deploy;
- Show 96 times faster recovery from downtime;
- Have 5 times lower change failure rate (changes are 1/5 times as likely to fail).
The particular appeal of DevOps is that you no longer have to trade speed (time-to-market; deployment frequency) for product stability and vice versa. The DevOps framework assumes that you gradually develop the capability to maintain both parameters at a high score by adopting respective DevOps best practices.
For business, that translates to three specific groups of benefits:
1. Technical Benefits:
- Less complex project management process;
- Faster problem resolution;
- Smoother and faster product life cycles with continuous delivery.
2. Cultural Benefits:
- Motivated, happier and more productive teams;
- Higher employee on the job engagement;
- Improved professional development opportunities and cross-department knowledge exchange.
3. Business Benefits:
- Faster time-to-market for new products and features;
- More stable operating environment, resilient to failure;
- Improved cross-department collaboration and communication;
- More time to innovate and create new features for customers, rather than focusing on maintenance and fixing known bugs.
How DevOps Works
The DevOps movement is deeply rooted with two approaches – Agile and Lean.
Originally, development teams were strictly responsible for building the product only, while the “Ops” personnel was in charge of dealing with “whatever will happen next”. Agile software development practices were geared towards reducing this gap and introduced an incremental approach to project planning.
Work became prioritized based on business and customer value. Development teams were encouraged to closely collaborate with the customers and other teams. Cross-functional teams became in charge of working over a certain product feature over a fixed period of time.
DevOps movement pushed agile practices one step further – and extended the usage of Agile principles beyond “the coding” to the entire delivery lifecycle.
Under the DevOps philosophy teams:
- Embrace new approaches to automating low-value, slow and manual processes whenever possible;
- Aim to release early and often;
- Have a set of specific KPIs and carefully measure the success of each new change;
- Operate under the principle of “Quality is not something you tack on the end”.
The goal of DevOps is to increase the teams’ velocity, acceptance and rapid response to change and help them develop a razor-sharp focus on the value generated by each action.
Furthermore, DevOps culture is based on the concept of a value stream. A value stream represents all the steps taken to create and deliver something of value (feature, product) to the consumer.
Within traditional companies, all the value streams are usually fragmented into three phases:
- Strategy – ideation and creating a basic list of requirements for the brainstormed features;
- Development – writing the code, testing and debugging new add-ons;
- Delivery – scheduling the final release, gathering user feedback etc.
Different teams are held responsible for specific KPIs and tasks at each stage. The project information is only exchanged partially and is not fully integrated with the rest of the value stream. Developers, operations and strategy teams use different tools and do not always pass on all the required knowledge to the other teams.
DevOps assumes the switch to a unified value stream. This means merging all the people, tools, processes and information exchanges in a single “source of truth”. All staff involved in delivery of the software should have seamless access to information and insights required for decision-making. The transition to a unified value stream is facilitated by following the three core DevOps principles described in the next section.
Three Principles Underpinning DevOps
The creation of unified value streams assumes following the next three principles of DevOps:
The First Way facilitates a fast left-to-right flow of work from Development to Operations to the customer. All the work is visible and broken into small-size tasks, performed in specific intervals.
The goal here is threefold:
- Eliminate the possibility of passing a known bug to another team (Ops).
- Constantly seek new ways to improve existing workflows and further eliminate frictions.
- Never allow local optimization (or problem) to grow into a global failure.
The Second Way encourages the creation of a constant feedback loop from right-to-left at all stages of the value stream.
The key outcomes here are as follows:
- Develop a better understanding of all customers and users (internal and external).
- Amplify the feedback loops, so that problems are detected and recovered from faster.
- Embed new knowledge where needed, so that it enables product owners to build a system where problems are discovered and fixed before a major failure occurs.
The Third Way assumes the creation of a high-trust culture, encouraging continuous experimentation and improvement of current best practices; a scientific approach to risk-taking, so that the teams learn both from successes and failures.
The positive outcomes of the Third Way are:
- A working environment that encourages teams to experiment and take risks, which in turn helps them learn faster compared to the competition and dominate the market.
- The effects of new knowledge are multiplied. Local discoveries can be easily transformed into global improvements.
- Anyone within the company can access and benefit from the cumulative experience of everyone else.
These three principles constitute the base of a mature DevOps culture and are backed-up by the DevOps best practices. If you would like to learn more about how your organization can benefit from DevOps adoption and the exact business values it can generate for your business, don’t hesitate to schedule a discovery session with our professionals.