Zepto's product promise is a ten-minute grocery delivery. An architect is handed a backlog of forty requirements. Which one is the architectural driver, and what does that classification actually change?
Show the full answer Hide the answer
The classification
The driver is "the customer sees an accurate basket and a committed ETA within the time it takes to scroll a screen, and the item is physically present in a store within two kilometres." Everything else — loyalty points, referral codes, recipe collections, wallet top-ups — is a feature.
The test is not importance. Loyalty matters commercially. The test is counterfactual structure: if you removed the ten-minute promise, would the shape of the system change? It would. The entire dark-store model, the geospatial partitioning, the per-store inventory projection, the decision to hold availability in memory rather than query a central catalogue — all of it exists because of that one number. Remove loyalty points and you delete a service.
What the classification changes
- It bounds the topology before anything is built. A ten-minute promise cannot be served from a single regional warehouse, so the fulfilment network is a first-class architectural element and not an operations detail.
- It decides what is allowed to be eventually consistent. Stock counts across the whole city can lag. Stock for this store during this checkout cannot, which is why the reservation sits close to the store and the aggregate sits far away.
- It sets the budget everything else spends from. Once a page has a 400ms budget, a "small" synchronous call to the recommendations service is not a small decision.
- It gives you a refusal. A driver is the sentence you use to say no to a feature that would cost 200ms on the critical path, without the conversation becoming a matter of taste.
The common failure
Teams treat the driver as a slogan on a wall rather than a constraint in the design. The slogan survives; the architecture drifts, because every individual addition is defensible and no individual addition is the one that broke it. Drivers only work when they are expressed as a number that a fitness function can check.