Quality is not a bolt-on at the end of the development
and deployment process. It has to be integrated into the
whole system. Waiting for a problem to be found in Q&A
will create compounded issues that can make things
much worse. The earlier you address a challenging
situation, the more your overall work effort will be
reduced. This equates to saving money and time. The
whole point is to reduce wasted time on rework.
You have to continually optimize the system to make it
more efficient. Nothing is ever perfect with DevOps; you
are in a constant state of removing inefficiencies. You
must be able to adapt to business needs and your
customers’ ever-changing requirements.
The following are the key characteristics of the first way:
Make work visible
Reduce batch sizes
Reduce intervals of work
Build in quality by preventing defects from being passed downstream
Constantly optimize for business goals
Second Way: Feedback Loop
One of the things you will see repeatedly in DevOps is
analogies to manufacturing. Since so much of this
management philosophy is derived from Lean and the
Toyota Production System, concepts like defect
prevention are front and center in the approach. The idea
of a feedback loop is to provide guidance and direction
on what is working and what is not working. If
something isn’t working, you have to make sure that it
doesn’t happen again so you don’t end up on a hamster
wheel of pain. DevOps requires that you take feedback as
the gift that it is and make corrections. Figure 13-18
shows the second way of DevOps, which is focused on the
feedback loop.