do software development are looking for ways to capture
the efficiencies of this model to gain a competitive edge
and be better able to adapt to change from customer and
industry perspectives.
In a nutshell, DevOps is a culture of sharing in which
developers and operations folks are one unit that can rise
and fall together. It is a practical application of Lean and
Agile. The goal of DevOps is to be a real-time business
enabler by removing wasted effort and bureaucracy from
getting in the way of better addressing the needs of the
customer. DevOps has five guiding principles:
Culture: For DevOps to work, organizational culture must change.
This is by far one of the most difficult aspects to embrace, but it is the
single most important factor for success. DevOps requires a culture of
sharing.
Automation: While DevOps is more than just a set of software tools,
automation is the most easily identifiable benefit. Automation
techniques greatly speed up the deployment process, enable defects to
be caught and corrected earlier, and eliminate the need for human
intervention in repetitive tasks.
Lean: Reducing wasted efforts and streamlining the process are the
goals of Lean. It’s a management philosophy of continuous
improvement and learning.
Measurement: Unless you measure your results, you can never
improve. Success with DevOps requires the measurement of
performance, process, and people metrics as often as is feasible.
Sharing: DevOps requires a culture of feedback and sharing. Breaking
down silos and creating an inclusive shared fate environment is the
ultimate goal.
Figure 13-16 shows the core components of DevOps and
how they are interrelated.