Discussion about this post

User's avatar
Werner Kasselman's avatar

Thanks Adam, I enjoyed reading this, and the flowchart analogy is the part that will stay with me. EARS as a hybrid beast, formal keywords wrapped around freeform phrases, sounds plausible, and I agree the ambiguity survives in precisely the phrases that decide behaviour.

Two things I have been sitting with since reading, both offered as extensions rather than objections.

The first is the two-contractor thought experiment. A spec written defensively, handed to a succession of adversarial implementers, safe in theory. What I keep noticing in practice is a third artifact neither contractor produces: the record of which claims were checked, against which version of the spec, under which assumptions, with which exclusions named. Not a substitute for the proof. Closer to the thing that lets a later reader know what the proof covered.

Which connects to the economics, and here I am genuinely unsure rather than sceptical. Generation gets cheap, and I take the SaaS-subscription comparison seriously. I am less certain re-assurance moves at the same rate. A proof binds an artifact to a specification, though the deployed system and the toolchain that produced it sit slightly outside that binding. If the scope of proof has to be re-established by hand each cycle, some of the cost seems to migrate there rather than disappear. That may be the more precise version of the testing objection people keep raising, and I suspect you have a sharper answer to it than I do.

The second thing may simply be your next post. You argue codebases stop being a moat and that the right specifications become what matters. It struck me that version control has quietly been carrying more than storage: commits, blame, licences, the working answer to whose work counts. Specs are collectively authored and continuously evolved, so asking of a spec what git answers about code, who contributed this constraint and what it is worth, has no obvious mechanism yet. Given you flagged a sociological instalment next, I would be curious whether you see ownership as downstream of the technical problem or tangled up with it. My own sense is the latter, mostly because people rarely hand over the artifact that documents their judgement unless the record credits them for it.

None of this is disagreement about direction. Where I have landed is narrower and probably compatible: the durable artifact is the specification, plus the evidence that scopes it, plus one thing a spec has no slot for, which is why the alternatives were rejected.

Not a requirement, not compilable, and the first thing rebuilt from scratch when nobody wrote it down.

1 more comment...

No posts

Ready for more?