Abstractions raise tempo

Abstraction is fundamental to software development.

“We can solve any problem by introducing an extra level of indirection” - Fundamental theorem of software engineering

By packing code and/or data together and giving a name to be referred by, you can forget about the internals of that thing. You can build faster, and change faster.

“Civilization advances by extending the number of important operations which we can perform without thinking about them.” - Alfred North Whitehead

The inverse of this would be violating DRY (Do not Repeat Yourself). While this is doctrine software, it can be ported to organizations.

Teams are abstractions in organizations. At the higher levels the abstraction needs to be used without needing to worry about the internals. The inverse of this is the anti-pattern of micromanagement.

Abstractions are Auftragstaktik (The five elements of an organization that can exploit OODA loops) for code.

Notes mentioning this note


Here are all the notes in this garden, along with their links, visualized as a graph. If you don't see any nodes try zooming and panning in the grey area.