Get AI summaries of any video or article — Sign up free
Lessons Learned in a Year of Docs-Driven Development - Jessica Parsons thumbnail

Lessons Learned in a Year of Docs-Driven Development - Jessica Parsons

Write the Docs·
5 min read

Based on Write the Docs's video on YouTube. If you like this content, support the original creators by watching, liking and subscribing to their content.

TL;DR

Docs-driven development works best when documentation is treated as a first-class workflow artifact, not a post-build deliverable.

Briefing

Docs-driven development—writing documentation first, then building to match it—has become a practical operating system for teams trying to move faster without losing alignment. The central lesson from a year of using it at Nullify is that documentation can tighten feedback loops and reduce rework, but only if the organization treats docs as a managed workflow: scaffolded, reviewed, versioned, and actively read.

The approach starts with a simple rule: draft the docs that describe what a feature should do, then implement the feature to conform to those written artifacts. The practice can take multiple forms—code comments, spec files like Swagger/OpenAPI, and user-facing documentation—but the key is that docs are not an afterthought. Parity with agile is a recurring theme: describing a change is usually smaller and faster than coding it, so teams can iterate on the smallest unit of understanding before committing engineering effort.

Nullify’s rollout benefited from internal momentum. Leadership support was explicit: the CEO had long been a fan of readme-driven development, and the head of product had practiced docs-driven development during earlier work with the BBC API team. Communication norms also helped because the company is remote and relies heavily on written updates. Still, early enthusiasm didn’t prevent friction. The first major lesson was blunt: good intentions aren’t enough. People struggled with where to start, how to write effectively, and how to reconcile documentation time with coding metrics. Some felt guilty for spending time documenting instead of shipping.

To address that, the team built structure. Project templates in their knowledge management system (moving to Notion) define required artifacts such as user stories, internal workflow descriptions, and customer-facing docs. Naming conventions were standardized early so developers, writers, and marketing could share a common vocabulary. Templates also provided scaffolding—sections, guidance, and examples—so contributors weren’t staring at blank pages. Kristin’s customer-facing doc template, for example, included common headings plus tips and links to reference material.

The team also broadened what “documentation” means. Diagrams, wireframes, and even videos were used when they communicated better than text. But docs still needed a “driver”: someone responsible for enforcing the process, prompting teams to write before coding, and ensuring docs work counts in performance evaluation. The talk ties this to “glue work,” the often invisible coordination labor that keeps projects moving and that can disproportionately fall on women.

Once docs were being written, the next bottleneck emerged: getting people to read them and know what changed. The solution combined accountability and notification. Specific reviewers and deadlines were built into the workflow, with representatives from relevant functions (marketing, docs, development) reviewing naming and other key artifacts. Changes were tracked via GitHub when possible (for PR-based updates) and supplemented with human-driven issue tracking and Slack project channels when richer content lived in Notion.

When teams actually read the docs, the benefits were concrete: developers joining midstream could self-serve instead of scheduling catch-up pairing; parallel work became easier, such as front-end development against an OpenAPI spec while back-end endpoints were still being built; and support and marketing could ramp up earlier. Yet a final caution landed hard: docs-driven development doesn’t automatically guarantee user-centered outcomes. A feature that looked correct on paper failed a real-world test when an internal open-source user immediately asked how to turn it off—revealing the team hadn’t fully solved the underlying customer problem. The fix was to involve users sooner via user studies, lightweight feedback loops, and proxies like support, community forums, and sales when direct customer access is limited.

After a year, the conclusion wasn’t abandonment—it was escalation. The team planned to double down on docs-driven development, tightening the workflow so documentation becomes a reliable engine for alignment, iteration, and inclusive self-serve knowledge rather than a checkbox that gets written and ignored.

Cornell Notes

Docs-driven development—writing documentation first and building to match it—improved alignment and sped up iteration by shifting feedback earlier than code. The biggest operational takeaway was that docs only work when treated as a managed workflow: templates provide scaffolding, reviewers and deadlines create accountability, and change notifications make updates visible. When teams read the docs, onboarding midstream gets faster, parallel work becomes possible (e.g., front-end against an OpenAPI spec), and support/marketing can prepare ahead of launch. The approach still needs user-centered discipline; a feature can be “correct” in documentation yet miss the real customer problem, so user stories and user feedback must be validated early through studies or proxies like support tickets and community channels.

What does “documentation driven development” mean in practice, and why is it considered compatible with agile?

It means drafting the documentation artifacts that describe a feature’s intended behavior first, then implementing the feature to match those docs. The agile compatibility comes from iteration size: writing a description of how something should work is typically a smaller, faster change than coding the feature itself, so teams can get earlier feedback and adjust before large engineering commitments.

Why did the team hit problems even with strong leadership support?

Early adoption ran into human and process gaps: people weren’t sure where to start, some preferred visual explanations over writing, and contributors felt guilt because their roles were measured on coding output. The core lesson was that enthusiasm and “good intentions” don’t create the habits, structure, and accountability needed to make docs-driven development stick.

How did Nullify make documentation easier to produce and more consistent across teams?

They built project templates that list required artifacts (like user stories, internal workflow descriptions, and customer-facing docs) and standardized naming conventions so everyone uses the same language. They also used scaffolding—section headings, tips, and links to examples—so writers and contributors aren’t working from blank pages.

What mechanisms increased the odds that people would actually read and track changes to docs?

They added accountability by assigning specific reviewers and deadlines at defined stages in the workflow (e.g., naming review with representatives from marketing, docs, and development). They also improved change visibility: GitHub PR notifications help for Git-managed content, while Notion-based planning documents were supplemented with Slack announcements and issue-based review requests when tooling wasn’t sufficient.

What concrete workflow benefits appeared once docs were being read?

Developers joining midstream could self-serve from docs rather than scheduling catch-up pairing. Teams could work in parallel using shared artifacts like OpenAPI spec files—front-end work could proceed while back-end endpoints were still under development. Support and marketing also gained earlier context, enabling training and messaging preparation before launch.

What was the biggest warning about relying on docs-driven development alone?

User-centered outcomes aren’t guaranteed. A feature built from early docs and user stories still failed a real customer-like test when an internal open-source user asked how to turn it off. The fix was to involve users sooner through studies and feedback loops, and when direct access is hard, use proxies such as support tickets, community forums, and specialized support or sales input to validate user stories.

Review Questions

  1. How does docs-driven development change the timing and size of feedback compared with building first and documenting later?
  2. Which parts of the workflow (templates, naming conventions, review stages, notifications) most directly address the “docs aren’t read” problem?
  3. What signals would tell you that docs-driven development is producing user-centered results versus merely producing well-written specifications?

Key Points

  1. 1

    Docs-driven development works best when documentation is treated as a first-class workflow artifact, not a post-build deliverable.

  2. 2

    Agile iteration can improve because describing changes is often smaller than coding them, enabling earlier feedback before engineering commitments.

  3. 3

    Templates and scaffolding reduce the friction of writing docs by providing structure, required artifacts, and consistent naming conventions.

  4. 4

    A designated “driver” (rotating or full-time) is needed to enforce the docs-first process and prevent documentation from being deprioritized.

  5. 5

    Accountability and deadlines—plus clear change notifications—are essential to get teams to read docs and understand what changed.

  6. 6

    Docs-driven development enables parallel work (e.g., front-end against an OpenAPI spec) and faster midstream onboarding when people can self-serve.

  7. 7

    User-centered outcomes still require early user validation; documentation correctness can mask a mismatch with the real customer problem.

Highlights

The biggest early failure wasn’t resistance to documentation—it was the lack of structure and enforcement, leading to uncertainty about where to start and guilt about time spent writing.
Standardized naming and shared vocabulary reduced mismatches between what developers build and what docs and marketing describe.
Accountability beats “please read and comment”: specific reviewers, deadlines, and staged reviews made docs actually get reviewed.
Docs-driven development improved inclusivity by letting people join midstream and find answers without relying on others for explanations.
A feature can be “right on paper” yet still miss the user problem—an internal open-source user’s question about turning it off exposed that gap.

Topics

  • Documentation Driven Development
  • Agile Iteration
  • Templates and Scaffolding
  • Review Accountability
  • User-Centered Validation

Mentioned

  • Jessica Parsons
  • Tonya Riley
  • Kristin
  • API
  • OpenAPI
  • PRs
  • DDD