Skip to main content

Week 12 Session: If a Stranger Can Implement It, You Designed It

The design document tested by handing it to somebody else and watching them build it — where every question they ask you is a defect you wrote

10 May 2027

The semester was reading other people's systems off their numbers; the last week is writing one that can be read the same way.

In this session you hand your design document to somebody you didn’t write it with, and you implement theirs. Every question you have to ask them is a defect in their document. Every question they ask you is a defect in yours.

That’s the only honest test of a design document I know, and it’s the whole session. There’s no way to talk your way through it, which is the point: for twelve weeks you’ve been reading systems written by people who weren’t in the room, off nothing but their numbers. Now somebody does that to you.

What has to be in it

A document that survives the swap has all of this, in numbers:

The worked example is the part people skip and the part that catches the most defects. You can’t write one without discovering which of your rules you never actually decided.

What a defect looks like

“How much damage does a critical do?” is a defect: the answer exists in your head and not on the page.

“What happens if two combatants tie on speed?” is a defect, and a common one, because ties feel like an edge case until somebody has to write the code.

“Should critical hits feel good?” isn’t a defect. It’s a design conversation, and you can have it afterwards, at the pub.

A note on the spreadsheet

Everything you build this week is still a spreadsheet. The promise on the front page of this site was no programming until week 12 and not much then, and this is the “not much”: if your system needs a real program to evaluate one fight, it’s either more complicated than a semester can justify or you haven’t reduced it yet. Twelve weeks of evidence says a JRPG battle fits in a spreadsheet.

Task: swap documents and implement

Bring the document and the prototype. Swap with someone, implement their system for one fight in your own spreadsheet, and keep a log of every question you had to ask.

Hand the question log back with the implementation. That log is the most useful feedback anybody gives you this semester, and it’s the same artefact the final assessment is marked on — so the version you get back in week 12 is a rehearsal for the one a marker writes.

The spec

What you bring to the session. Written so a reader can tell whether it has been met without asking you.

Teaching team