Forgotten Knowledge

Lessons from a Cathedral - Software Documentation

The Cathedral of Trier is the oldest church in Germany. Built by Roman Emperor Constantine the Great, it demonstrates how forgotten knowledge affects both historical architecture and modern software architecture. As a software architect, I see parallels between architectural knowledge preservation and enterprise software documentation.

Unlike ancient sanctuaries and temples, the basilicas were not magnificent. They were large, bright, but structured buildings previously used for market halls and courthouses. Shouldn’t modern business architecture be clear and structured and provide room for growth?

The fall of the Roman Empire began around 400 AD, leading to the loss of engineering knowledge from the Greco-Roman world by 480 AD. Even now, the windows on the north facade stand as a testament to this. It would take 500 to 700 years to restore large glass windows like the Romans had. This era is known as the period of the Gothic cathedrals.

2024-08-03-trier_cathedral_north_window.webp

Cathedral of Trier, North Facade

Software Development and Documentation

Most of our projects are business basilicas; business value and business drive us. Our stakeholders like state-of-the-art, but cost-cutting and changing business models always force us to make tradeoffs. These events are not destructive, like the fall of the Roman Empire, but often, organizations find it unnecessary to document their architecture and architectural decisions.

  • Creative transformation can take place in challenging scenarios. The organization may need to streamline its operations to ensure its resilience and future expansion, much like the restructuring at Apple with Steve Jobs’s return.
  • Developers will have the opportunity or must shift to projects with more significant business potential.
  • The legacy architecture may be based on outdated technologies, such as COBOL or older Java versions.

Agile and Documentation

The Agile Manifesto states, “Working software over comprehensive documentation.”

Agile means that software must run before documenting it, but it does not imply that Agile forbids documentation. Signatories of the Agile Manifesto were software developers and architects like Kent Beck, Alistair Cockburn, Ward Cunningham, Martin Fowler, and Robert C. Martin.

For example:

Business and Documentation

From a business perspective, documentation is a cost at first. What do you think about a building with no construction plans?

Documentation helps organizations through difficult times and saves efforts. It saves effort for knowledge transfer. Good documentation also helps to rethink business and technical models. The difficulty of good documentation is the tradeoff to making documentation that suits future needs.

See also