Conceptual
Login

Every Assumption You Design On Needs a Written Expiry Date

Every design rests on statements about the world that were true when you wrote them and are not guaranteed to stay true. Traffic will stay under this rate. This dataset fits in memory. This dependency answers in under a hundred milliseconds. We will have one team on this system. Writes are rare compared to reads. Each of these is load bearing: if it stops being true, some part of the design stops being the right choice, and usually nobody notices until an incident. The fix is to record the assumption in the same place as the decision it supports, and to give it two things a plain note does not have. The first is a condition that would falsify it, stated as a number or an event, such as a rate crossing a threshold or a second team joining. The second is a date by which someone will check, chosen because assumptions about a growing system decay whether or not anyone is watching. An assumption written this way turns into either a monitored signal or a calendar item, and both are things a system can act on. An assumption written as prose turns into folklore. You can now list the assumptions a design depends on, and give each one the number or event that would prove it wrong.

This Concept is waiting for its first lesson!

Every design rests on statements about the world that were true when you wrote them and are not guaranteed to stay true. Traffic will stay under this rate. This dataset fits in memory. This dependency answers in under a hundred milliseconds. We will have one team on this system. Writes are rare compared to reads. Each of these is load bearing: if it stops being true, some part of the design stops being the right choice, and usually nobody notices until an incident. The fix is to record the assumption in the same place as the decision it supports, and to give it two things a plain note does not have. The first is a condition that would falsify it, stated as a number or an event, such as a rate crossing a threshold or a second team joining. The second is a date by which someone will check, chosen because assumptions about a growing system decay whether or not anyone is watching. An assumption written this way turns into either a monitored signal or a calendar item, and both are things a system can act on. An assumption written as prose turns into folklore. You can now list the assumptions a design depends on, and give each one the number or event that would prove it wrong.

Are you a teacher? Sign in to start contributing.

Sign In