RSS Amplifier

sysid blog · Apr 25, 2026

Our Mental Models Cannot Be Outsourced

0
Sign in to vote or save

This page cannot be shown here. You can still read it on the original site — the toolbar below keeps your place in the directory.

A program is not its source code — it is a theory in the minds of its developers. — Peter Naur, 1985 Definition The mental model of a software product is the shared understanding that a development team holds about: What the system does — its purpose, behavior, and boundaries Why it is structured the way it is — the reasoning behind design decisions How its parts interact — data flows,…

A program is not its source code — it is a theory in the minds of its developers. — Peter Naur, 1985

Definition

The mental model of a software product is the shared understanding that a development team holds about:

  1. What the system does — its purpose, behavior, and boundaries
  2. Why it is structured the way it is — the reasoning behind design decisions
  3. How its parts interact — data flows, dependencies, failure modes
  4. How to change it safely — where changes are safe, where they are dangerous, what breaks

This understanding is practical knowledge — not documentation, not source code, not architecture diagrams. Those artifacts help transmit the mental model, but they are not the model itself. The model lives in the heads of the people who build and maintain the system.

Read on /our-mental-models-cannot-be-outsourced/

Comments

Nothing yet. Say the first thing.

    Sign in to join the conversation.