Restaurants are able to identify customer patterns over a set amount of time. With these patterns, they are able to forecast the demand of what kind of food they need to stock. And that being said, my friends who have worked in restaurants say that ingredient inventory management is possibly the hardest thing in a restaurant's operation. So it's not like the restaurant industry has completely figured it out, though they do a lot better than many. I cannot count how many times I've walked into a restaurant hoping to have some specialty dish, only to find out that they've run out of ingredients. It happens on a regular basis to me.
For devs, it's slightly different. The customer patterns may not be consistent over time because devs are not always asked to build the same thing over and over again. Meanwhile, restaurant customers do order the same thing over and over again, so it's a lot easier to confirm the recipe timing and build order (just finished too much SC2) down to an exact science.
Yes, some devs may do nothing but build simple CRUD apps all month, and maybe they can get good at estimating what a simple CRUD app will cost based on their experience. But a lot of devs also work on things that have new and unique requirements for every single project, so the comparison with restaurants is not fair. And nothing against simple CRUD apps. Whatever brings home the bacon brings home the bacon.
I had not meant to imply it was a solved problem in food. More that it was not one that they ignore. As you pointed out, they can be wrong sometimes. Probably more often than folks would realize. (Also, it is not just the daily operation, but again, the estimates in moving into new territory. I don't have numbers, but my hypothesis would be that is the most risky estimation that happens in food. Not the least because most small chains do not have the staff to adequately run the numbers.)
And, yes, it is hard. That is part of my point. It is hard, but they address it and give it an effort. With luck, they make progress at getting better.
Contrast with devs. We spend a lot of time blaming others for why it is hard. (Requirements change, etc.) Ironically, this is something that day to day people have to deal with and adjust for accordingly. Based entirely on the historical perspective of dealing with similar items. That is, all of these are metrics that are trackable and reportable. With luck, they can be anticipated through estimation.
I cannot count how many times I've walked into a restaurant hoping to have some specialty dish, only to find out that they've run out of ingredients. It happens on a regular basis to me.
Sometimes that's actually expected. Some places allow a shortage to make the special scarce. Some places simply can't get ahold of enough of a key ingredient.
For devs, it's slightly different. The customer patterns may not be consistent over time because devs are not always asked to build the same thing over and over again. Meanwhile, restaurant customers do order the same thing over and over again, so it's a lot easier to confirm the recipe timing and build order (just finished too much SC2) down to an exact science.
Yes, some devs may do nothing but build simple CRUD apps all month, and maybe they can get good at estimating what a simple CRUD app will cost based on their experience. But a lot of devs also work on things that have new and unique requirements for every single project, so the comparison with restaurants is not fair. And nothing against simple CRUD apps. Whatever brings home the bacon brings home the bacon.