Skip to main content

The Three Ways of DevOps


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

Popular posts from this blog

What is the difference between Process Owner, Process Manager and Process Practitioner?

I was recently asked to clarify the roles of the Process Owner, Process Manager and Process Practitioner and wanted to share this with you. Roles and Responsibilities: Process Owner – this individual is “Accountable” for the process. They are the goto person and represent this process across the entire organization. They will ensure that the process is clearly defined, designed and documented. They will ensure that the process has a set of Policies for governance. Example: The process owner for Incident management will ensure that all of the activities to Identify, Record, Categorize, Investigate, … all the way to closing the incident are defined and documented with clearly defined roles, responsibilities, handoffs, and deliverables.  An example of a policy in could be… “All Incidents must be logged”. Policies are rules that govern the process. Process Owner ensures that all Process activities, (what to do), Procedures (details on how to perform the activity) and th

How Does ITIL Help in the Management of the SDLC?

I was recently asked how ITIL helps in the management of the SDLC (Software Development Lifecycle).  Simply put... SDLC is a Lifecycle approach to produce the software or the "product".  ITIL is a Lifecycle approach that focuses on the "service". I’ll start by reviewing both SDLC and ITIL Lifecycles and then summarize: SDLC  -  The intent of an SDLC process is to help produce a product that is cost-efficient, effective and of high quality. Once an application is created, the SDLC maps the proper deployment of the software into the live environment. The SDLC methodology usually contains the following stages: Analysis (requirements and design), construction, testing, release and maintenance.  The focus here is on the Software.  Most organizations will use an Agile or Waterfall approach to implement the software through the Software Development Lifecycle. ITIL  -  is a best practice for IT service management (ITSM) that focuses on aligning IT services with the

ITIL 4 – Decoupling Deployment from Release Management Practice

ITIL 4 is an evolution of ITIL V3. Before we start talking about specific processes or practices, it is important to stress that the focus has shifted. ITIL 4 gives us a fresh perspective to service management and emphasizes the customer user experience, the approach to the overall service value system, the service value chain and value streams , and much more.  Download the What is ITIL 4 document from the ITSM Academy Resource Center and be sure to read past the first few pages for more information on the new perspective that drives modern service management. The emphasis is on value from the customer user experience and integrated holistic approach. That does not mean that the processes are going away. Today we refer to a process as a "practice". Practices are broader in scope than processes and include all 4 dimensions/resources including the process. Two processes or “practices” that have been decoupled in ITIL 4 are the Deployment Management practice an