The shared language of a software project is not English or Python but it is the common understanding of what its concepts mean, where the boundaries are, which invariants matter, who owns what, and why the system has the shape it does. This language is rarely written down in one place. It lives partly in documentation and code, but also in code review, conversations, arguments, and the experience of having to explain a change to somebody else.

Something like this came up in our work book club this week. It will be interesting to see whether we develop better ways for expressing this shared language.

Tony Meyer @tonyandrewmeyer