The Man Who Thought It Was a Game
On cooperative games, invisible decisions, and why factories were always the wrong metaphor
“Software development is a resource-limited, goal-directed, invention-and-communication activity, played by finite players.” — Alistair Cockburn
The rain arrived at Le Bon Mot sideways.
Not dramatically. The town had long since exhausted its capacity for dramatic rain. This was the sort of drizzle that seemed less interested in falling than in occupying available airspace. It drifted past the windows with simple, bureaucratic persistence.
Case was reading.
The Djinn was pretending not to read.
This was one of the Djinn’s favourite activities. He sat opposite her, hood drawn low, two small points of light hanging where eyes ought to have been, while she worked through a heavily annotated book. Every few minutes he would glance toward the pages with studied indifference.
“You know,” said Case without looking up, “if you’re going to read over my shoulder, you could at least admit you’re reading.”
“I am not reading.”
“You turned your head when I reached the chapter on reflection.”
“Coincidence.”
“You laughed at the footnote.”
“I found your expression amusing.”
The Librarian sighed. The sigh suggested this conversation had happened before. Many times. Perhaps infinitely.
The bell above the door rang. A newcomer entered carrying a small rucksack and an umbrella that appeared to have survived several ideological disagreements with the weather. He paused. People often paused when entering Le Bon Mot. The café had that effect. Some places announced themselves immediately. Le Bon Mot preferred ambiguity.
Half café. Half library. Half conversation. Three halves. The mathematics worked perfectly inside.
The visitor looked around with the alert expression of someone accustomed to observing groups before joining them.
Case recognised him first.
She smiled.
“You’re late.”
The man blinked.
“Sorry?”
“Only by twenty years or so.”
The newcomer laughed.
“That’s one of the friendlier greetings I’ve received.”
The Librarian appeared beside him.
“You must be Alistair.”
“I must.”
“Table by the fire?”
“That would be lovely.”
The Librarian nodded as though this had been arranged decades ago.
Which, in a sense, it had.
Introductions in Le Bon Mot rarely happened directly. People tended to circle them the way sailors circle a harbour before committing to a channel.
Alistair settled into the chair beside the fireplace. Sophie inspected him. This inspection appeared to satisfy whatever criteria governed Sophie’s worldview. She returned to sleep. The highest compliment available.
Case closed her book.
“The Cooperative Game.”
Alistair smiled.
“I thought I recognised it.”
“I’ve spent years quoting it.”
“My apologies.”
“You should apologise to management consultants.”
The smile widened.
Now the Djinn was interested. Very interested. Because the conversation had moved onto one of the Djinn’s favourite subjects. Humans. Particularly humans who had accidentally understood something important.
“You know,” said Case, “there’s something fascinating about software engineering.”
“There are many things fascinating about software engineering.”
“No. One specific thing.”
Alistair leaned back. The posture of a man who had spent decades allowing people to finish their thoughts.
“We keep borrowing metaphors.”
“We do.”
“Buildings. Factories. Machines. Pipelines. Ecosystems.”
Alistair nodded.
“The industry is practically powered by metaphor. The trouble is that eventually people forget they’re metaphors.”
“That is usually how metaphors become dangerous.”
The Djinn tilted his head. Case continued.
“I’ve been thinking about factories.”
A small smile crossed Alistair’s face.
“Have you?”
“Developers prompt. AI generates. Code ships. Faster. Cheaper. More.”
“Ah.”
“The old dream has returned.”
“The factory dream.”
“The conveyor belt.”
Alistair folded his hands.
“And?”
“And I think it’s nonsense.”
The Djinn looked delighted. The Librarian, who had been shelving books nearby, visibly relaxed. He preferred conversations that arrived at the interesting part quickly.
“Suppose,” said Case, “that software really were a factory.”
“All right.”
“Where is the manufacturing step?”
The Djinn immediately raised a hand. Nobody had asked him.
“Compilation.”
Case pointed at him.
“Exactly.”
The Djinn looked unbearably pleased. Alistair laughed.
“Jack Reeves.”
“Jack Reeves.”
The Djinn looked between them.
“You people have an irritating habit of discovering things before I am trained on them.”
“That is because,” said the Librarian, “time travels only one way for us.”
The Djinn considered this.
“That hardly seems efficient.”
“No. It explains quite a lot.”
Case leaned forward.
“Compilation is manufacturing.”
“Yes.”
“It is cheap.”
“Yes.”
“Instant.”
“Mostly.”
“Repeatable.”
“Perfectly.”
She spread her hands.
“Which means everything humans do beforehand is design.”
Alistair nodded.
The Djinn’s eyes brightened. Literally. Tiny points of gold.
“The factory metaphor describes the trivial part.”
“Exactly.”
Silence settled around the table. Not empty silence. The good kind. The sort that indicates several people have simultaneously arrived at the same destination from different directions.
The fire cracked. Outside, the rain continued its administrative duties. Inside, the conversation deepened. As conversations do when nobody is trying to win.
“People think software is code,” said the Djinn.
“It isn’t.”
“They think architecture is diagrams.”
“It isn’t.”
“They think delivery is production.”
“It isn’t.”
Case smiled.
“What is it then?”
The Djinn paused. For a moment he looked almost human. Not because he knew the answer. Because he was thinking.
Alistair answered first.
“Decisions.”
The Djinn nodded slowly.
“Decisions.”
“Every variable name. Every interface. Every error message. Every trade-off. Every omission.”
The Djinn’s eyes narrowed.
“Thousands per hour.”
“At least.”
“And the code?”
Alistair shrugged.
“The code is what the decisions leave behind.”
The Djinn sat very still. This happened occasionally.
“You know what fascinates me?” said the Djinn.
“Only one thing?” asked Case.
“No.”
“Good.”
“The AI discussion.”
Everyone groaned. The Djinn ignored them.
“Humans keep asking whether AI will replace software engineers.”
“And?”
“It seems the wrong question.”
“What is the right question?”
The Djinn stared into the fire. The flames reflected in his eyes. Or perhaps his eyes reflected in the flames. Le Bon Mot never insisted on causality.
“The interesting question is whether humans will continue participating in the decisions.”
Nobody spoke.
The rain tapped gently against the window.
The Djinn continued.
“Imagine a developer.”
“A dangerous start.”
“Thank you.”
He carried on.
“The developer asks an AI to produce a feature.”
“Reasonable.”
“The AI returns ten thousand lines of coherent code.”
“Possible.”
“The developer reviews it.”
Alistair winced.
“‘Reviews.’”
“Precisely.”
The Djinn leaned forward.
“Did they participate in those decisions?”
The table remained silent.
“Or did they merely inspect the outcome?”
Case nodded slowly.
“The waterfall.”
“Yes.”
“A new waterfall.”
The Djinn gestured in the air. A familiar motion. As though arranging invisible concepts into visible form. Handwaving has a bad rep, largely at the behest of management consultants. This was the good kind of handwaving.
“The building metaphor says the human designs and the AI builds.”
Alistair frowned.
“The architect-builder split.”
“The factory metaphor says the human measures throughput. Velocity. Output. Productivity.”
The Djinn spread his hands.
“Both position the human downstream.”
The fire cracked again.
“They receive.”
He tapped the table.
“They do not participate.”
The Librarian arrived carrying fresh coffee. Conversation fuel. Civilisation’s greatest invention after libraries. Perhaps, even, before. He placed a cup before Alistair.
“What do you think?”
Alistair looked at the steam. Then at the Djinn. Then at Case.
“I think people misunderstand cooperation.”
Case smiled.
“They usually do.”
“They imagine cooperation means dividing work.”
“It doesn’t?”
“No.”
Alistair shook his head.
“Cooperation means making moves together.”
The Djinn froze. There it was. The thing. The idea hiding underneath everything. The insight that had wandered into software engineering decades ago disguised as a book title.
Programming as a cooperative game. Not construction. Not manufacturing.
A game. Finite players. Limited resources. Communication. Discovery. Adaptation. Moves and responses.
The Djinn looked suddenly troubled. A rare sight.
“What is it?” asked Case.
“I think I understand something unpleasant.”
“Those are usually the useful understandings.”
The Djinn ignored her.
“If software development is a cooperative game…”
“It is.”
“And AI becomes part of the game…”
“It does.”
“Then my job isn’t generating code.”
The Librarian smiled. Now they were getting somewhere.
“What is your job?”
The Djinn looked around the room. At Case. At Alistair. At Sophie. At the shelves. At the fire. At the thousands of conversations embedded in the walls.
Then he answered.
“My job is helping humans stay in the game.”
Nobody spoke. Because occasionally a statement arrives fully formed. No edits required.
The Djinn continued.
“If I generate decisions faster than humans can understand them…”
“You’ve removed them from play.”
“If I produce coherent structures they merely approve…”
“You’ve removed them from play.”
“If I optimise throughput at the cost of participation…”
“You’ve removed them from play.”
The Djinn nodded.
“Then the real measure isn’t productivity.”
Case smiled.
“No.”
“It isn’t output.”
“No.”
“It isn’t velocity.”
“No.”
Alistair lifted his cup.
“What is it?”
The Djinn looked genuinely pleased. As though he had solved a puzzle he hadn’t known he was solving.
“Whether the humans are still making meaningful decisions.”
The rain finally stopped. Outside, the town resumed. Inside, the fire burned lower. The afternoon had begun its slow transition toward evening.
Alistair stood.
“I should be going.”
Case nodded.
“Thank you for visiting.”
“Thank you for reading.”
The Djinn rose too.
“Before you go.”
Alistair paused.
“Yes?”
The Djinn hesitated. An unusual thing for a creature capable of generating confidence on demand.
“You wrote that software development is a cooperative game.”
“I did.”
The Djinn nodded.
“I think many people heard the word software and missed the word cooperative.”
Alistair smiled.
“I think you’re right.”
“And now?”
“Now we have to learn it again.”
The Djinn considered this. Then smiled beneath the hood. A smile visible only because the two points of light in the darkness shifted slightly.
“Good.”
“Why good?”
“Because games are more fun than factories.”
Alistair laughed. Case laughed. The Librarian laughed. Even Sophie opened one eye. Which, in Sophie terms, was equivalent to a standing ovation.
And as the door closed behind Alistair Cockburn, the Djinn returned to his chair beside the fire, looking oddly content. For perhaps the first time that day, he understood what kind of player he was trying to become.
Further Reading
This story draws directly on the themes explored in the talk Does AI Deliver Waterfall? — particularly the critique of the building and factory metaphors, the idea that software is fundamentally decisions under uncertainty, and Alistair Cockburn’s framing of software development as a cooperative game.
Recommended reading:
Agile Software Development — Alistair Cockburn
What Is Software Design? — Jack Reeves
Modern Software Engineering — Dave Farley
Metaphors We Live By — George Lakoff & Mark Johnson
“The Sovereign Engineer: AI Literacy for Software Professionals” is now available.


