I recently published a blog that explained the Theory of Constraints. In his book “The
Phoenix Project“, Gene Kim leverages the Theory of Constraints and the knowledge learned in production
environments to describe the underlying principles of the DevOps movement in
three ways.
The First Way
Workflow! The first way is all about workflow or the
flow of work from left to right. Generally referring to that flow of work
between the business and the customer.
Work that is flowing from development to test and then test to operation
teams is really only work in process. Work
in process really does not equate to anything until value is realized on the other
side. We must identify and remove or
free up our constraints. For example, reducing the cycle from time of code
commit to the time we are in production will reduce the release cadence.
Ensuring the workflow from left to right can radically increase workflow throughout
the delivery cycle. Define work and make
it visible.
The Second Way
Reciprocal! How do we take all of the knowledge and
learnings acquired and create feedback loops to the previous stage and
ultimately back to development. If we
think of this from a “Lean”
perspective, we know that understanding and responding to users is important. As important is the communication and amplification of feedback to the
next stage in the delivery stream. We
have to respond to the needs of both internal and external customers via
feedback. Ensuring that communication loops back to the starting point is
critical to meeting dynamic needs. We
must create and embed knowledge where needed. The goal in this second way is to
shorten and amplify feedback loops.
The Third Way
Culture of Experimentation! Not only experimentation
but also to foster a culture where it is OK to FAIL! We need a culture where it is okay to optimize
risk but also one that can reach in and grab us when we have gone too far and
bring us back to safety. Practice makes
perfect. When you are practicing you
will have failures. This is a required
element to mastery. A pattern that
results in this third way is one where we break things as often as possible while
in the pipeline to production. In conjunction with this culture of experimentation
and innovation is the power of transparency that propagates an environment of
trust and ongoing success.
After reading this, some would say “No Way”! Yet, none of us want to feel trapped in a
system that is preordained to fail. Best
practice and process are required, guidance on measuring and methodologies like
Lean and six sigma are invaluable, governance gives us order. For DevOps to become a reality we must
embrace the best of these and learn how to engage operations into development
early on in the life cycle and move bigger, better, faster. Way!
Comments