# Barriers to UML Adoption

**In short:** People disagree about what UML is for, which explains much of the resistance to it. UML 2 became bulkier for sketch users, and informal use drifts from the standard. Lighter options such as C4 exist.

## Explanation

People disagree about UML because they hold fundamentally different views of what it should be for. Some want a quick drawing. Others want a precise specification. One notation struggles to satisfy both.

**Sketching versus precision.** In sketch mode, people draw informally. They show some aspects of a system and leave the rest out. They do not try to specify everything.

UML 2 added precision. That precision aimed at two other uses: blueprints and programming-language-style modeling. The side effect was a bulkier notation. Sketch users found it harder to work with.

**Drift from the standard.** Informal users rarely follow every detail of the standard. The further they move from it, the more their usage diverges. Two people may then read the same diagram differently.

**What practice looks like.** Empirical studies describe selective users. They treat UML as a tool for thinking. They use it only as long as it helps, then move on. Petre found that practitioners tend to use UML either in early design or in implementation. They rarely use it in both.

**A lighter alternative.** The C4 model is one option (see the article C4 Model). It is presented as easy to learn and friendly to developers. It is also notation independent, so a team can use it without adopting full UML.

## Example

A team wants to explain a new feature to a colleague. They draw a few boxes and arrows on a whiteboard. The drawing shows only the parts that matter for the talk. Nobody checks it against the UML standard. Later, another team member expects a complete, precise model and finds the sketch too loose. The two people hold different views of what the diagram is for.

## Trade-offs

Precise UML supports blueprint and programming-language use, but it costs sketch users simplicity. Informal sketching is quick and selective, but it drifts from the standard and does not specify a system completely. A lighter approach such as C4 is easier to learn, but it is not full UML.



## Checks

- The document states whether its UML diagrams are sketches (selective communication) or complete specifications.
- Where diagrams are informal, the document notes that they may deviate from the UML standard.
- If a lighter notation such as C4 is used instead of full UML, the document says so.

## Related

- [Unified Modeling Language (UML)](https://arc.fuet.ch/concepts/modeling-uml/uml-unified-modeling-language.md)
- [C4 Model](https://arc.fuet.ch/concepts/documentation/c4-model.md)
- [Why Use UML in Architecture Documentation](https://arc.fuet.ch/concepts/modeling-uml/why-use-uml-in-architecture-documentation.md)
- [UML Modeling Best Practice](https://arc.fuet.ch/concepts/modeling-uml/uml-modeling-best-practice.md)
- [UML Modeling Anti-Pattern](https://arc.fuet.ch/concepts/modeling-uml/uml-modeling-anti-patterns.md)
- [Diagrams as Code](https://arc.fuet.ch/concepts/documentation/diagrams-as-code.md)
- [Documentation as Code](https://arc.fuet.ch/concepts/documentation/documentation-as-code.md)
- [Self-Invented Notation Drawback](https://arc.fuet.ch/concepts/documentation/self-invented-notation-drawback.md)

## Sources

- [Uml Mode](https://martinfowler.com/bliki/UmlMode.html) — martinfowler.com, accessed 2026-11-09
- [Home | C4 model](https://c4model.com/) — c4model.com, accessed 2026-11-09
- [Uml As Sketch](https://martinfowler.com/bliki/UmlAsSketch.html) — martinfowler.com, accessed 2026-11-09
- [UML in Practice · It Will Never Work in Theory](https://neverworkintheory.org/2013/06/13/uml-in-practice-2.html) — neverworkintheory.org, accessed 2026-11-09
