See it as a diagram
Everything below, as a diagram you can edit. Describe yours and see it in seconds.
No account needed · Editable canvas, not a picture
Step one: find out whether anyone reads it
This is measurable and usually skipped. Most wikis show page views. Most repository hosts show file history. Search your chat archive for the URL. Ask in the engineering channel whether anyone has opened it this quarter, and be specific about the page rather than asking a general question about documentation.
The answer sorts the problem into three cases. Read and wrong is the urgent one, because the diagram is actively producing bad decisions. Unread and wrong is not urgent and is the easiest to resolve, because deleting an unread page costs nothing. Read and correct means someone is quietly doing the maintenance, and the useful action is to find out who and make that work visible before they get bored.
One caveat on the measurement. A diagram can have low page views and high impact, because the people who read it read it at the worst moments: the on-call engineer at three in the morning, the new joiner in week one, the security reviewer, the auditor, the vendor scoping an integration. Weight those views heavily.
Why stale is worse than missing
A missing diagram makes people ask. That is a small cost paid by someone who then gets a correct answer from a person, and the question itself surfaces which parts of the system are unclear.
A wrong diagram makes people act. They plan a migration around a queue that was removed last year, size a database for traffic that now goes somewhere else, or tell a customer that data does not leave a region when it does. The cost is not the confusion, it is the work built on top of the confusion before anyone checks.
The reason this keeps happening is structural rather than cultural. Updating a diagram that lives in a design tool, a slide deck or a wiki page sits outside the normal path of engineering work, so it is always a separate chore competing with delivery. When the effort to update exceeds the value the updater personally gets, the update does not happen, and no amount of process fixes an economics problem. See why documentation goes stale.
Deleting it properly
If nobody reads it, delete it, but do not delete it silently. Replace the page with a short dated stub: what the diagram used to describe, when it was last known to be accurate, and where the current answer lives. A dead link produces a support question, a stub answers it.
Keep the original. In a wiki that means page history, in a repository that means git history, and in both cases the file is recoverable if an audit or an incident review asks what the system looked like in a given period. Deleting the link is the goal, deleting the artefact is not.
Do the same for every copy. The reason these diagrams persist is that they were exported and pasted into a slide deck, a Notion page and an onboarding document, and killing one copy leaves the others in circulation. Search for the image filename before you declare it gone.
Rebuilding so it does not happen again
If the answer is that people do read it, redrawing it by hand only restarts the clock. The diagram has to become a function of something that already changes when the system changes, which for most teams means the repository. Connect GitHub, GitLab or Azure DevOps read only through repository sync, pick the branch or tag that represents production, and the picture is redrawn daily along with an architecture doc.
Two properties decide whether this survives contact with a real team. Node identity is derived from addresses in the source, so a re-sync updates the diagram in place instead of reshuffling it, and any node someone dragged more than twelve pixels from where the last sync left it is pinned and restored afterwards. And a sync whose structure fingerprint matches the previous run stops before generation, so the picture does not churn for a dependency bump. Without those two, automated regeneration produces a new layout every week and people stop trusting it for a different reason.
Then remove the copies. Point the README, the wiki page and the onboarding document at one live embed URL that renders the current canvas, so there is no exported image anywhere that can drift. Viewers need no account, which is what makes it viable for the non-engineering readers who were the reason copies existed in the first place.
Two years of drift, one afternoon
The diff, and the number that tells you it held
Do not audit the old diagram box by box. Generate the current one, then read the two side by side and write down three lists: nodes present in the old picture and absent from the new one, nodes present only in the new one, and edges that changed direction or disappeared. Those three lists are the real changelog of the last two years, and they take an afternoon rather than a week because you are comparing two artefacts rather than reconstructing one from the code.
Once the rebuilt diagram is running on a sync, there is a number worth watching. Each run records what share of the previous diagram survived under the same node ids, and that ratio lands in the sync log. A high ratio after a small commit means continuity is holding and the picture people learned is still the picture they see. A low ratio after a small commit is the warning that the diagram is being recomposed rather than updated, which is the failure that made the old one untrustworthy in the first place.
Two years is also long enough that some of what you find is not drift but deletion. A node with no counterpart in the new picture is either a service that was removed, in which case the finding is that nothing updated the diagram, or a service that still exists outside the connected repository, in which case the finding is that your architecture is wider than the repository you pinned. Both are worth writing down before you close the task.
Old wiki diagram (exported 2024-05) New sync (2026-08-21, main @ 9f2c1ab) api api orders orders orders-db orders-db events queue events queue reporting -> gone: decommissioned Q3 2025 - -> new: pricing - -> new: inventory-db - -> new: events consumer #2 Three findings, not a redraw: 1 removed service nobody deleted from the picture 2 services added since, never drawn 1 datastore split that changed every capacity assumption downstream
FAQ
Should I delete an outdated architecture diagram?
Is a stale diagram worse than no diagram?
How do I tell whether anyone still uses a diagram?
Why do architecture diagrams stop being maintained?
What stops a rebuilt diagram from going stale again?