How to Get Engineers to Update Documentation


If you ran a mid-sized logistics company, and your delivery drivers consistently refused to log their routes, you would have a few options. You could fire them. You could hire a separate team of route-loggers to ride shotgun. You could buy software that tracks the trucks automatically.
What you probably wouldn't do is schedule a quarterly all-hands meeting to talk about "building a culture of route-logging."
Yet, when it comes to software documentation, this is exactly what engineering organizations do. We write memos about accountability. We add "update the wiki" to the definition of done. We ask nicely. We ask sternly. And then, three sprints later, the documentation is two releases behind again.
The problem is that engineers do not update documentation because they are optimizing for shipping code. Documentation feels like post-release administrative work. There is rarely an immediate penalty for letting it rot. The incentive structure is broken. Documentation updates compete with feature work, and they almost always lose.
This is not a new observation. A foundational 2003 study published in IEEE Software confirmed what engineering leaders already knew: software engineers typically do not update documentation as timely or completely as managers would like. More than two decades later, the problem persists. A 2019 empirical study analyzing 878 documentation-related artifacts found that documentation creation and maintenance are "often neglected," leading to widespread inaccuracy and outdatedness.
When documentation rots, the costs are severe. Research from DX indicates that developers spend between three and ten hours per week searching for information that should be documented. For a mid-sized engineering team, that costs between $500,000 and $2 million annually. Furthermore, Stripe's Developer Coefficient report found that developers spend 42% of their working week dealing with technical debt and bad code. Outdated documentation is a significant contributor to that debt.
Anyway. We can all agree the current system is broken. The question is what to do about it.
The best documentation updates happen when they are a side effect of engineering workflows that engineers already participate in. Commit messages, pull request descriptions, Jira tickets, and Slack threads.
Engineers document their work constantly in these channels. The problem is that the documentation lives in the wrong place and never makes it to the official docs. If you can capture what engineers write during development and transform it into structured documentation, you eliminate the "go update the docs after you ship" step that no one ever does.
For example, PR descriptions that explain breaking changes can become changelog entries. Commit messages that describe new API behavior can seed reference docs. Jira tickets that document bugs can update troubleshooting guides. The shift is from asking engineers to write documentation to generating the documentation from what they already wrote.
Recent research demonstrates that this is technically feasible. A 2024 study published on arXiv proposed an automated method for generating PR descriptions based on commit messages and source code comments using Large Language Models. Similarly, a 2019 IEEE study demonstrated that PR descriptions can be automatically generated from commit messages and source code changes. By leveraging these techniques, organizations can extract the necessary information without requiring engineers to duplicate their efforts.
Even when engineers are willing to update docs, the tooling often makes it harder than it needs to be. If updating docs means context-switching to a separate repository, finding the right file, writing in a specific style, and submitting a separate PR, most engineers will avoid it.
Context switching is a known productivity killer. A 2024 study on interruptions during software engineering activities found that the combined influence of in-person and on-screen interruptions significantly impacts the time spent during the code review process. When developers are pulled out of their flow state to hunt down missing documentation or clarify confusing code, it contributes to burnout and lower job satisfaction.
The solution is to reduce friction at the source. The "Docs as Code" methodology, advocated by the Write the Docs community, integrates documentation into the same tools as code, including version control, issue trackers, and automated tests. This approach allows for inline doc updates in the same PR as the code change. Automated prompts triggered by certain types of commits, and templates that reduce the cognitive load of deciding what to write, can also help. The goal is to make the path of least resistance actually include documentation, rather than bypass it.
Culture change without enforcement does not work. If there is no consequence for skipping documentation, skipping documentation is the rational choice. Organizations must tie documentation completeness to code review approval. PRs with user-facing changes should not get merged until the docs are updated.
Google's official engineering practices explicitly require this level of accountability. Their code review standard states: "If a CL changes how users build, test, interact with, or release code, check to see that it also updates associated documentation, including READMEs, g3doc pages, and any generated reference docs. If the CL deletes or deprecates code, consider whether the documentation should also be deleted. If documentation is missing, ask for it."
To implement this, make documentation coverage visible in the same dashboards engineers already check, such as sprint reports, release checklists, and team metrics. Have a designated doc owner, often a senior engineer or engineering manager, who reviews and approves doc updates the same way code gets reviewed. The goal is not to punish engineers. The goal is to make documentation a checkbox that actually blocks forward progress if it is not done.
Teams that rely solely on cultural goodwill consistently fail to maintain documentation practices at scale.
On one hand, it is tempting to believe that we can just hire better engineers, or train them better, or manage them better. On the other hand, the data suggests that the incentive structure of software engineering fundamentally opposes post-release documentation work.
The hard truth is you need to either change the incentive structure or automate the update process itself.
This is where systems like Doc Holiday fit naturally. They generate the structured output, such as changelogs, release notes, and API updates, directly from the engineering workflows where the information already exists. You are not asking engineers to do extra work. You are giving a documentation owner the ability to validate and publish what the system extracted from commits, PRs, and tickets. The engineers keep shipping. The docs stay current. The documentation owner becomes the quality gate, rather than the bottleneck.

