Maria Popova has written about Pema Chödrön’s When Things Fall Apart, a book about grief, loss and the moments when the ground gives way.[1] Chödrön’s advice for those moments is not to make a plan. It is to stay with the uncertainty for a while: “Sticking with that uncertainty, getting the knack of relaxing in the midst of chaos, learning not to panic.”
She was not writing about software, and I don’t want to make light of what she was writing about. But that sentence describes the hardest discipline in my old trade.
When an organisation commissions custom software, the requirements phase is almost always given a fixed timeline, and usually a short one. Everyone wants to get to the building. Not knowing feels uncomfortable, so we hurry towards something that looks like certainty: a signed-off specification, a plan, a number. In almost every engagement I was involved in, the requirements started with significant gaps. Sometimes we said so. More often the gaps were simply invisible, and they surfaced only after a lot of code had been written, when fixing them was expensive.
There were many examples. The one that comes to mind first: We were building a front-end financial transaction system, with account management behind it, for an organisation that was taking over a competitor. Everyone assumed we would connect to the organisation’s existing general ledger. Then the organisation decided to adopt the acquired company’s system instead, a custom-built one designed for their industry. We had to rework not only the interface but some of the screens and the database design too.
No amount of extra interviewing in the first weeks would have uncovered that decision, because it hadn’t been made yet. What we could have done was hold the question open: treat “which ledger?” as unknown, and design so that the answer could arrive late without tearing up the work.
That is the lesson I take from Chödrön. Rushing to a solution is often just a way of making the discomfort stop. As I argued on Tuesday, a number given before the design is done is a guess.[2] The same is true of a requirement written down before anyone knows what is really needed. Leaving some room for what we don’t yet know is not indecision. It is honesty about where we are.
[1]: Maria Popova, “How to Be Transformed When Things Fall Apart”, The Marginalian, 23 October 2026. https://www.themarginalian.org/2026/10/23/when-things-fall-apart-pema-chodron/


