DevOps with a Slice of Pie
Author: Deanna Stanley
I work as a DevOps Engineer. In this capacity, I provide MITRE’s customers with wide range of solutions, from DevOps adoption strategies to pipeline architecture to automation implementation. For a long time, I could not explain my career in a way that my mother could understand. She wanted to understand, but something as abstract and complex as DevOps can be hard for a lay person to grasp.
Eventually, I realized that my explanations focused only on the technical aspects of DevOps—the pipeline, automation, Infrastructure as Code—and not on the foundational principles of DevOps itself: Flow, Feedback, and Continuous Improvement. These three principles, called the Three Ways, I can explain to my mother by using her favorite hobby—baking—as a metaphor.
While she is adept at several recipes, my mother’s signature dish is a chocolate silk pie. Just looking at it makes your mouth water. It is delicious to eat, but time-consuming and labor-intensive to make. More than one mixer has overheated while helping her make this dessert.
This complicated confection provides the perfect means for explaining how the Three Ways of DevOps can increase the delivery speed and quality of her pies. Because at its heart, DevOps is about increasing the flow of value to the customer. Or, in this case, the flow of pie to my mouth.
Going with the Flow
The first of the Three Ways is Flow. This is the process used for creating and delivering value. It starts as an idea or request—me requesting pie—and it ends when the customer uses the product—me eating the pie. Everything that happens in between is the value stream, and DevOps is all about improving the flow of that stream. So how can my mother improve her pie production?
Many steps of the chocolate silk pie making process revolve around fixed times. For instance, each egg must be added individually to the filling mixture and beaten for 5 minutes to achieve a creamy texture. And the pie shell cannot be baked more quickly by turning up the oven temperature. However, looking more closely at the process may reveal wait times and bottlenecks that can be eliminated. Gathering and measuring ingredients takes time. The pie crust requires chopping up nuts. Can any of these steps be sped up?
Chopping the nuts can be done in bulk ahead of time to speed up pie making. My mother chops up a pound of nuts at a time and freezes them in individual containers in the amount called for by the recipe. Then, when it’s time to make the pie crust, she grabs one of the containers out of the freezer, and she is ready to go.
The final step of pie making is chilling the pie in the refrigerator. Clearing out the refrigerator ahead of time to accommodate the pie can also speeds up pie delivery.
Even in something as non-technical as making pie, the First DevOps Way of Flow applies.
Learning through Feedback
How do you know that you have delivered value to your customer? The only way to be certain is by soliciting Feedback, which is the Second Way of DevOps. With pie, getting feedback is easy and instantaneous—all you need to do is see everyone happily eating their slices to know that value was delivered.
But what if the recipe needs to be altered? Can feedback be used to help determine the best way to update the recipe? When my sister-in-law was pregnant, she could not eat raw eggs, a key ingredient in my mother’s recipe. That meant either the recipe needed to be tweaked or my mother’s pie was off the menu. My mother tried several different ingredients to replace the eggs and solicited feedback to determine which substitution was the best. After numerous experimentation and feedback cycles, my mother settled on replacing the eggs with marshmallow fluff. The resulting pie was not as yummy or creamy as when she used eggs, but this tweak allowed my sister-in-law to still enjoy chocolate silk pie during her pregnancy.
Whether it be pie or software, feedback improves the value of the delivered product.
Yummier Pie with Continuous Improvement
The Third Way of DevOps is Continuous Improvement. While perfection can never be achieved, ways to improve the product and the process for making it can always be found. This is what my mother did with the crust of her signature pie.
When I was a child, my mother used a traditional piecrust made from flour and shortening. A decade later, she improved the crust by replacing some of the flour with cocoa powder. But my mother was not done. Next, she added nuts. Then she added more chocolate. Now the pie crust is not just a way to hold the pie’s filling—it’s part of the pie’s flavor and experience. And why stop there! I am going to suggest that she add some espresso powder to the crust to complement and enhance the chocolate flavor.
Even with pie, you can find always find ways to improve.
A Recipe for Success
Understanding the Three Ways should be the first step in learning about DevOps. All DevOps methods and tools are for implementing one or more of the Three Ways. DevOps is technical in nature, but I hope that you see that the DevOps philosophy and the Three Ways are broadly applicable. Even those of us who are experienced DevOps practitioners can get lost in the details. It’s good to be reminded of the basic ingredients from time to time.
Deanna Stanley is a software engineer who is passionate about improving organizations’ ability to deliver value. She is involved in several DevOps transformations as a way to improve the quality and speed of software development. And while she likes to bake, her specialty is fudge.
© 2020 The MITRE Corporation. All rights reserved. Approved for public release. Distribution unlimited. Case number 20-2038
MITRE’s mission-driven teams are dedicated to solving problems for a safer world. Through our public-private partnerships and federally funded R&D centers, we work across government and in partnership with industry to tackle challenges to the safety, stability, and well-being of our nation. Learn more about MITRE.