Skip to content

Baldur Bjarnason on theory-building, living code and team churn

Read, then read again replacing “software” with “your social program” or “your business”:

Software is a temporary garden whose fate is inextricably intertwined with its gardeners. Beyond that, software is a theory. It’s a theory about a particular solution to a problem. Like the proverbial garden, it is composed of a microscopic ecosystem of artefacts, each of whom has to be treated like a living thing. The gardener develops a sense of how the parts connect and affect each other, what makes them thrive, what kills them off, and how you prompt them to grow. The software project and its programmers are an indivisible and organic entity that our industry treats like a toy model made of easily replaceable lego blocks. They believe a software project and its developers can be broken apart and reassembled without dying.

What keeps the software alive are the programmers who have an accurate mental model (theory) of how it is built and works. That mental model can only be learned by having worked on the project while it grew or by working alongside somebody who did, who can help you absorb the theory. Replace enough of the programmers, and their mental models become disconnected from the reality of the code, and the code dies. That dead code can only be replaced by new code that has been ‘grown’ by the current programmers.

Baldur Bjarnason – Theory-building and why employee churn is lethal to software companies

How well do you articulate your Theory to new members of the team?

See also:

Machine. Ecosystem. (1)
Mrs Crocodile on working for change in a complex system
Bongkar Pasang
The machine that makes the machine; or, matryoshkas of change
Rob Ricigliano on the murky unpredictability of complex systems
Systems: complicated and complex – Aaron Dignan
Systems thinking: Peter Senge on the limits of learning from experience
Machine. Ecosystem. (2)
Machine. Ecosystem. (3) – Peter Morville
Machine. Ecosystem. (4) – Marc Andreessen on Systems Thinking
Machine. Ecosystem. (5) – Duncan Green on systems thinking and development
Machine. Ecosystem. (6) – Kevin Kelly on the techium
Machine. Ecosystem. (7) – Style is content (text as system)
Machine. Ecosystem. (8) – classrooms as complex adaptive systems


I'd love to hear your thoughts and recommended resources...