Skip to content

Tesler’s Law of Conservation of Complexity #577

@ardalis

Description

@ardalis

Origin: Larry Tesler, a computer scientist at Xerox PARC and later Apple.

Statement: Every application has an inherent amount of irreducible complexity. The only question is who will have to deal with it — the user, the developer, or the system.

Meaning: You can’t get rid of complexity altogether; you can only shift it around. For example:

If you hide configuration behind “defaults,” the developer has to manage more complexity in the code.

If you expose endless options, the user shoulders the burden of understanding them.

If you push decisions to the system, then the algorithm or infrastructure must absorb it.

Example:

Think of printing. If the app decides paper size automatically → the system carries complexity.

If the dialog shows 20 different paper options → the user carries complexity.

If the developer codes defaults plus customization → the developer carries complexity.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions