What Software Development Can Learn From The Restaurant Business

The software development process is complex with many non-developer stakeholders who need to understand the process, measure the progress, and anticipate timeline delays. The standard DevOps framework (below) imagines this process as a continuous integration lifecycle that organizes a handful of key stages. I’ve numbered the stages and overlayed some VMware products into each stage to make the concepts more concrete in nature.

Here’s the same DevOps lifecycle with some common vendors offering products in these areas to further help orientate you in case you’re more familiar with some of these brands instead.

And so that we appreciate how many ways there are to solve a problem, here’s yet further vendors participating in the ecosystem of DevOps.

But today we’re going to think of DevOps as a commercial kitchen lab in a corporate office building: the HQ of an italian restaurant franchise that needs more menu offerings.

Working inside this metaphor we can contextualize the DevOps process and get potentially more insights than just considering DevOps solely as a software development thing. I’ve numbered the stages just as before, but instead of making software, we’re making a recipe.

So you don’t get lost, here’s how the software development process would look:

For steps 1 – 2 & 6 – 7, I think they make sense (even without the elaborate metaphor I have going here). But steps 3 – 4 are where the delays and hard-to-explain events occur whether it’s a software shop, restaurant, or any other business where product is manufactured.

Steps 3 and 4 are their own loop within the DevOps lifecycle loop. In a kitchen, this is the trial and error process of putting ingredients together, cooking them, plating them, reviewing them, and sleeping on them. This process takes time. You can’t rush it because step 5 is Release, which starts involving exponentially more resources and putting customers (and your business’s online reviews) in the line of fire. So, steps 3 & 4 are crucial to the longegivity of a business. The more iterations and testing you can do…the better. The trick is figuring out how to do more in less time.

In a commerical kitchen, you’d likely have more than one oven or stovetop to prepare your dishes. You’d want as many as possible so you could multi-thread your testing efforts. But even if you could prepare 100 iterative test dishes in a given day, it would be difficult to keep your taste buds fresh through all those samplings. So you’d scale your testing efforts by adding more testers, which increases expenses and complicates quality control, so you’d need to create a series of semi-final competitions between the best dishes and on and on…starts to get complicated managing this process which is not optimal.

Unlike food though, software development can be automated with no scaling limits, minimized variable costs, and consistent quality control.

I’ll explain in part 2 how Steps 3a (Gathering Supplies), 3b (Prototyping), and 4 (Testing) are solved by VMware’s solution suite ARIA Automation, specifically the Service Broker, Assembler, and Pipeline compenents.

Click here for part 2

+ There are no comments

Add yours