Where's the slack?
How much time the system has before a person notices. This one question shapes most designs.
This is one of the most useful questions in the app, and candidates rarely ask it. Slack means how much time you have before a person notices that something has not happened yet.
Take two products that look the same on a whiteboard. Ride hailing: a person stands on the street with a phone, waiting for a car. Food delivery: a person ordered dinner, and the restaurant needs fifteen minutes to cook it.
Both are "match a customer with a driver". But ride hailing has no slack at all. Every second of matching is a second someone stands in the rain watching a spinner. So the matching must be quick and simple: take a good driver now, not the best driver in forty seconds.
Food delivery has fifteen minutes of slack, hidden inside the cooking time. Nobody is watching. So you can collect orders for a minute, group them together, wait for a better courier to finish, and hand out the whole set in the best way. That is a different system, and it is better because the slack is there.
Same-looking problem. Opposite designs. What separated them was not size or technology. It was how long you have before someone notices.
Slack decides "do it now" versus "do it soon" more than anything else. No slack means the work happens right away, inside the request, while the user waits. Slack means the work goes on a queue and happens shortly after. That is cheaper, survives failures better, and lets you group work together. Ask this question before you draw anything.
- —A person is outside, watching a spinner. Ten seconds feels broken.
- —Match fast and simply: a good driver now beats the best driver later.
- —Finding the perfect match is the better algorithm and the wrong product.
- —The user sees failures as they happen.
- —The restaurant is cooking. Nobody is watching the assignment.
- —Collect orders, group them, wait for a better courier, then assign them all well.
- —Clearly better assignments, hidden inside the cooking time.
- —You can retry, re-plan and change your mind before anyone notices.
- Slack is the time before a person notices, not the time before the machine finishes.
- No slack means do it now, inside the request. Slack means queue it and group it.
- Two products that look the same get opposite designs when their slack is different.
- Every problem page in this app answers this question directly.