After reading a book “The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win” by Gene Kim, I find a new terminology “The three ways: The Principles Underpinning Devops”. The character, called Bill, always uses these principles to tackle the issue in the story. Well, I’m here just wanna give you some gist related to it.
And lets get started!!
Starts with #1: The Flow
The first way requires the fast and smooth flow of work from Development to Operations in order to deliver value to customer. By speeding up the flow, we reduce the lead time required to fulfill internal and external customer request, further increasing the quality of work and make us more agile and win the competition.
To increase the flow, could be done by
- the visibility of our work; we could use visual work board to help us see where work is flowing and which work is queued / stalled
- limiting work in progress in order to avoid being multitasking
- performing work in small batch sizes; In order to decrease the lead times and increase quality, we should strive to do this.
- reducing the number of handoff; Even under best condition, some knowledge is inevitably lost in each handoff. To mitigate these, we could automate some portion of work
- continually identifying and elevating our constraint;
- eliminating hardship and waste that causes delay for customer;
Then, #2: The Feedback
Work almost happens in the complex system with a risk of catastrophic consequences or failure. Because failure is inevitable in the complex system, we have to design a safe system to work so that we can work without fear and confident that any errors will be detected quickly before catastrophic outcomes such as defect or negative customer impact. Here we have feedback to help us detect and recover from this error. In technology, having feedback is still not enough, but it should be fast feedback to prevent us to get an undesirable outcomes.
Creating fast feedback is critical to achieving quality, reliability and safety in technology. Fast feedback could be achieved by
- creating an automated build, integration, and test process, so that we can immediately detect when a changes has been introduced and takes us out of a correctly functioning and deployable state.
- creating pervasive telemetry so that we can monitor how our systems are operating in the production environment. By doing this, we could detect quickly when they are not operating as expected and allow us to measure if we are achieving our goals or not.
- swarming and solving problem whenever it occurs, mobilizing whoever is required to solve it. Possibly prevent the introduction of new changes until the issue has been resolved. This way could help us to isolate and diagnose the problem and prevent further complicating factors that can obscure cause and effect.
And last, #3: The Continual Learning and Experiment
By focusing on creating this culture, we enable team to rapidly adapt to an ever-changing environment, which ultimately helps us win the market. The aim is the organization becomes Generative Organization which is characterized by actively seeking and sharing information to better enable the organization to achieve its mission.
- conducting a blameless post-mortem after every incident or accident to gain the best understanding of how the incident occurred and to discuss what the best countermeasures are to improve the system.
- explicitly reserving time to pay down technical debt, fix defect, and refactor and improve problematic areas of our code and environment.
- creating global knowledge searchable by other team solving the similar problem. These mechanism helps to convert the individual expertise into artifact so that the rest of the organization can use.
- injecting resilience pattern into our daily work to ensure we’re as resilient as we want to be.
- leader elevates the value of learning and disciplined problem solving in internal improvement processes, just to ensure the products we build actually help our internal and external customer achieve their goals.
This is really good to be true. From Gene, I understand why this three ways could impact to IT.
Hopefully, this little note could be reminder of us that to win the competition we should improve our delivery and how we react with the feedback. Thanks Gene and team!!