Two years ago our design team had almost nothing documented. Designers kept institutional knowledge in their heads. New hires struggled. Product partners couldn’t find design decisions. Engineers built things that violated our design system because they didn’t know it existed.
So we went all-in on documentation. “Document everything” became the mantra. Six months later, we had… a graveyard of stale documentation that nobody trusted.
The Documentation Explosion Problem
We documented:
- Design system components (in Figma)
- Design principles (in Notion)
- User research findings (in Dovetail)
- Design process guides (in Confluence)
- Project handoff docs (in Notion)
- Design review templates (in Google Docs)
Sounds great, right? Except:
-
Docs went out of sync immediately. We’d update a Figma component but forget to update the Notion doc explaining when to use it. Now we had two conflicting sources of truth.
-
Nobody knew what was current. Search would return three different documents about navigation patterns. Which one was right? The most recent? The longest? The one with the most links to it? No way to tell.
-
Documentation became a chore, not a value-add. Designers resented spending time updating docs. It felt like homework, not real work. So docs rotted further.
-
The search problem got worse, not better. More docs meant more noise. Finding the right answer took longer than before we documented anything.
What We’re Trying Now: Living Documentation
Current experiment (six months in, seems to be working better):
Every doc must have an owner and an expiry date. When you create a doc in Notion, you assign an owner and set a “Review by” date (usually 3-6 months out). When that date hits, owner gets pinged: “Is this still accurate? If yes, extend the review date. If no, update it or archive it.”
This forces us to confront stale docs rather than letting them accumulate. We’ve archived ~40% of our original documentation. Turns out most of it wasn’t needed.
Quarterly documentation review sprints. One week per quarter, design team does no new work. We spend the week:
- Reviewing all docs due for review
- Updating outdated screenshots and examples
- Consolidating duplicate docs
- Actually reading each other’s docs to see if they make sense
This sounds like overhead, but it’s better than continuous low-grade doc debt that slowly makes all documentation untrustworthy.
“If it’s not in Figma or Notion, it doesn’t exist” rule. No more design decisions in Slack threads, email, or meeting notes. If a decision happens, it must be added to either:
- Figma (for component/visual decisions)
- Notion (for process/strategy/research decisions)
This is hard to enforce and feels rigid, but it prevents the “I’m sure we decided this six months ago but I can’t find where” problem.
Single source of truth, published everywhere. Our design system source of truth is Figma. But we generate docs from Figma and publish to Notion (for context and usage guidelines) and Storybook (for engineers).
When we update Figma, we have a checklist: “Did you update Notion? Did you update Storybook?” Not perfect, but better than maintaining three separate docs.
What Still Doesn’t Work
Keeping docs current without making it a full-time job. Our quarterly review sprints help, but docs still drift between sprints. I don’t know how to make documentation feel like part of the work rather than extra work on top of the work.
Knowing when something needs documentation. Not everything needs a doc. Some decisions are small and reversible. But we don’t have good intuition for “this needs to be written down” vs “this is fine to keep informal.” So we either over-document (more graveyard docs) or under-document (critical context lost).
Automated approaches. I keep hearing about tools that auto-generate docs from code or design files. Has anyone actually made this work for design documentation? What tools? What’s realistic vs hype?
Making docs searchable across tools. We have docs in Figma, Notion, Confluence, Dovetail, and Storybook. Search within each tool is fine, but cross-tool search is terrible. Do you consolidate everything into one tool, or is there a better way?
What I’m Curious About
For those who’ve figured out sustainable documentation practices:
- How do you keep docs current without quarterly doc sprints or constant maintenance overhead?
- What’s your mental model for “this decision needs documentation” vs “this is fine to leave informal”?
- Any tools or automation that actually reduces doc burden rather than adding to it?
- How do you handle the tension between comprehensive documentation (everything is written down) and useful documentation (easy to find what you need)?
I suspect the answer isn’t “better discipline” but rather different systems or tooling, but I’m open to being wrong.