Another thing I really like about Kasia's milk system is that it is a zero-emotional overhead communication. Just take the ticket and put it on her desk, and all will be handled.
For all but 4 people, it's on the way to their own desks.
I bet that when someone just drops the card on the kitchen table, someone else would carry it to Kasia. As far as I know, dropping the card has never happened.
Nonetheless, the comment is spot on. If people needed to go far from their regular tracks, it might have been less reliable. Good system design means that doing the right thing is the easy/easiest thing.
Hm, you’re right. I’m thinking a nearby Raspberry Pi with a camera facing the box. It uses an LLM to identify the box contents and send update messages to Kasia each morning. I’m surprised they didn’t think of this already.
Technically that's not really a different problem than exists. With the current system, Kaisa has to poll her desk every day to see if new milk needs to be ordered. Depending on what her activities entail, maybe there are entire days when she's not at her office. Some place has to be polled in any case, but we can choose the best place(s).
In an extreme case where there's a 100-floor building with Kaisa's desk on the first floor, it might well be more globally optimal to have boxes every 10 floors being polled, instead of everyone having to move 50 floors on average to her desk.
Appreciate thinking of problems that might have made it work not so well.
Having said that, the office is a single floor. The grocery order is once every few weeks.
There's quite some time flexibility in ordering stuff.
There is plan B (buying a couple of cartons in a grocery shop on the same block).
The system is scaled to what we need. And I don't say anyone should copy it blindly. If we talked about several floors, multiple coffee corners, etc., the flow of index cards might have required much more conscious thought.
In our case, we need none of this.
Also, continuous improvement (kaizen): start with something simple, then improve it. There's not much point in solving hypothetical problems with system design. Most of the time, we'd only be unnecessarily complicating the solution.
Which (tongue in cheek) is half of the history of software development :)
If there is only one fridge, the solution that minimises total distance travelled is trivial: Move Kasia into the fridge.
For n > 1 fridges at known locations, Kasia can be positioned anywhere (including partway along an edge) on an optimal TSP tour through them all.
OTOH, if fridges pop into and out of existence dynamically over time, then having a single Kasia traverse all of them is not feasible. In this case, other employees will need to walk to her desk when they discover the last carton of milk at some fridge. If we can assume that the density of fridge creation/destruction is uniform, then the strategy resulting in minimum total distance travelled in expectation is a spherical office building with Kasia at the centre.