What if instead of Agile, we made it nice?

What if we're all just wrong about how to build software?

Revision count: 1

Published: 2023-02-08

I recently watched Seven Days Out on Netflix. There’s an episode about Eleven Madison Park. I’d never heard of it, I’m not into restaurants. However, I used to work at them. Nothing that was ever that fancy. Mostly, I worked adjacent to restaurants in the food industry. Nonetheless, a lot of what stuck out in how restaurants get work done resonated deeply for me. The reverse seems true for how software gets made.

Food Expectations

A well run restaurant or retail store is an exceptional example of a team moving in a single direction. The manager sets expectations, the team delivers. Success is measurable, and planned in advance. Experiments are happening constantly. When I was 20 I was running a business that did $40k a week in sales at the counter. I didn’t need to worry about accounting or bills beyond validating invoices. I fully owned scheduling of employees, ordering, training and hiring. I could always phone other store managers or the GM for advice. I frequently did!

If I thought that a new idea would work, I would try it. If it did, I measured it and validated that it actually worked. Then I shared it with other stores. Success was be quickly replicated. There was no concern that I’d silo information, why would anyone do that. There was minimal concern that “higher ups” would miss information crucial to them. Most decisions they didn’t need to know about, everything else was shared in regular meetings and conversations.

Deadlines

In that business, as in all food businesses, there were a lot of deadlines. You had to order in advance, hire the appropriate amount of staff for holiday seasons be prepared for big weekend sales but low sales on a wednesday. Honestly, it wasn’t that hard. I mean… I worked 50 hours a week. I still wake up at 4 or 5am because it permanently changed my sleep schedule. But the business was straightforward.

The biggest deadline each year was Christmas. On Christmas Eve we’d be open from 7-4 and in those hours we’d do 3 weeks worth of sales. Honestly, I haven’t seen scale like that since. Everything had to be right and planned. Things went wrong of course, but you could handle it on the fly because there was always a plan in place.

Changes and deliverables

One memory I have from those days is when we needed new cases. We wanted them for years. We had to wait. I’m sure there were capital expenditure considerations that delayed it some time. When we finally got them, it was instant. We ordered the cases, spent weeks planning so that once they were ready, we could install them quickly overnight and have no down time for the store. I actually have this memory for multiple companies. Plan a bunch. Once you get the delivery, install overnight. No downtime.

Usually, nothing went wrong. If something did, you close that portion of the store for the day and the plans you have in place kick in. Everyone knew the risks going in, and for customers, it was an inconvenience, since it was rare, it wasn’t a big deal.

The contrast in software

Software has this rhythm thats totally the opposite. It seems much ofxwthe community has converged around two week sprints. While I tend to think this is both too long and too short, it’s a very strange timeline to pick.

Software as the land of low expectations

I’ve been in countless meetings where someone will say, “I’m not technical”. It’s hard to imagine saying something similar to the chef at a restaurant like Eleven Madison Park. Of course, she wouldn’t expect you to be able to make the dish, but she’d expect you to know what a reduction is, why it matters, and how it works.

Sign up for...