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 the

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

Four Service Characteristics

Recently I came across several articles by researchers and experts that laid out definitions and characteristics of services. ITIL provides us with a definition that can help drive the creation of value-laden services: A means of delivering value to customers by facilitating outcomes customers want to achieve without the ownership of specific costs and risks. An area that ITIL is not so clear is in terms of service characteristics. Several researchers and experts put forth that services have four basic characteristics (IHIP): ·          Intangibility—Services are the results of actions not things. They have no physical presence and represent a logical set of elements. One way to think of service is “work done for others.” ·          Heterogeneity—Also known as “variability”; services are unique items because of the mechanisms used to deliver services-that is people. Because the people element adds variability, the service is variable. This holds true especially for th