Applying “The Three Ways” to Software Engineering

Benjamin Lo
3 min readJan 28, 2023

--

Cover of The Phoenix Project

What is “The Three Ways”?

The Three Ways is a term that was first introduced in “The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win” by Gene Kim, Kevin Behr, and George Spafford. The book is a fictional story that uses the narrative form to convey the concepts and principles of the DevOps movement, including the three ways. The authors of the book are considered as pioneers in the field of DevOps and are well-known for their research and contributions to the field.

The Three Ways are three principles for creating a high-performing IT organization which are intended to be applied to IT organizations, specifically, those in the software development and operations space.

The principles of The Three Ways can be used to create a culture of continuous improvement, increase the flow of work, and improve the speed and predictability of software delivery.

So what does an example of this look like? Let’s look at each “Way” with a specific example using a team of software engineers. It should be noted that these are not limited to IT organizations and can be applied to other fields and industries as well. The principles of flow, feedback, and learning can be applied to any organization or process to improve performance and increase efficiency.

The First Way

A team of software engineers identifying a long lead time for a new feature and using value stream mapping to find that the main bottleneck is the manual testing process. To improve flow, they implement automated testing, establish a continuous testing process, and measure and optimize lead time and quality on an ongoing basis. This results in a reduced lead time, increased quality and a culture of continuous improvement. This is The First Way.

The Second Way

An example of applying the Second Way is a team of software engineers implementing monitoring and logging on a web app, setting up alerts, metrics, and A/B testing to gather feedback on the feature in production. Then using this feedback they can quickly identify and resolve issues to make data-driven decisions to improve the software development process.

The Third Way

Finally we’ve reached one of the important principles of The Three Ways, which is to create a culture of taking risks, making mistakes and learning as well as sharing those experienced with each other. This might look like a team of engineers creating a culture of continuous improvement through regular retros, using metrics to drive improvement, encouraging experimentation and innovation in the software development process etc. This results in faster lead times, higher quality software, and a more engaged + motivated team

Summary

The Three Ways is a concept that was introduced in the DevOps community to improve the performance of IT organizations and it can be applied to software engineers as well by focusing on flow, feedback, and learning.

If you haven’t read the book yet, I highly encourage to take a gander as it’s a very easy read and very insightful.

--

--

Benjamin Lo
Benjamin Lo

Written by Benjamin Lo

A Senior Software Engineer with an unquenchable thirst for learning

No responses yet