title: The Scrolls and the Town Criers subtitle: A Socratic Dialogue on the Art of Sharing Architectural Wisdom previous-chapter: url: chapter-10.html title: The Maps and Methods of the Architect next-chapter: url: chapter-12.html title: The Tempering of Steel
1 Chapter 11: The Scrolls and the Town Criers
A Socratic Dialogue on the Art of Sharing Architectural Wisdom
1.1 Prologue: The Archive of Neo-Athens
The Great Library of Neo-Athens was not a place of silence, but of vibrant debate. Here, developers, architects, and stakeholders gathered not just to read scrolls of code and design, but to share, debate, and refine the architectural vision. Under the vast dome of the Documentation Hall—its walls lined with diagrams, decision records, and system overviews—sat Simonos, the philosopher-architect, his tablet open to a canvas of architectural artifacts. Beside him, Typos, now a seasoned apprentice, paced like a restless scribe, his brow furrowed with the weight of a recent revelation.
“Simonos,” Typos began, his voice tinged with frustration, “I have just joined a new team. They handed me a stack of documents—some outdated, some incomplete, some filled with jargon I do not understand. How can a team build a system if no one agrees on what the architecture is?”
Simonos set down his tablet and gestured to the empty space beside him. “Tell me, Typos: when a city builds its temples, does it rely on whispers and rumors, or does it inscribe its laws, maps, and histories in scrolls that all may read?”
Typos stopped mid-stride. “It relies on scrolls—on clear, accessible documentation. But architecture is not a city—it is thought made tangible. How can we ensure our documentation is not just a pile of scrolls, but a living guide?”
Simonos smiled. “By understanding that documenting architecture is not a bureaucratic task, but an act of sharing wisdom. It is the difference between a temple with crumbling scrolls and a library that breathes life into its readers. Documentation is the memory of the system, and communication is the voice that brings that memory to life.”
Typos sat, his mind alight with new questions. “Then what does it mean to document and communicate architecture? And how do we ensure it serves its purpose?”
Simonos leaned forward. “Let us explore this together. For the architect’s first task is not to build, but to be understood.”
2 Dialogue I: Why Documentation Matters
TYPOS: Simonos, you speak of documentation as if it were the lifeblood of the architectural process. But why is it so critical?
SIMONOS: Ah, Typos, documentation is the memory of the system—the scrolls, maps, and records that preserve its essence for those who come after. Without it, every change is made in the dark, every decision is forgotten, and the system becomes a labyrinth of misunderstandings.
TYPOS: So documentation ensures that the system’s history and design are not lost?
SIMONOS: Yes! It is the difference between a temple built in a day and a temple that endures for centuries. Documentation ensures that: - Developers understand how the system works and why it was built that way. - Operations teams know how to deploy, monitor, and maintain the system. - Product owners can align the system with business goals. - New team members can onboard quickly and contribute meaningfully.
TYPOS: But documentation can become a burden, can it not? How do we avoid drowning in scrolls?
SIMONOS: The key is purpose. Documentation should answer the questions of its audience: - What does this system do? (Context view) - How is it structured? (Development view) - How does it run? (Process view) - How is it deployed? (Deployment view) - Why was this decision made? (Decision records)
If a document does not serve a clear purpose, it should not exist.
3 Dialogue II: Who Needs Architecture Documentation?
TYPOS: Simonos, you speak of documentation serving its audience. But who exactly needs to read these scrolls?
SIMONOS: Ah, Typos, the stakeholders of architecture documentation are as varied as the roles in a city:
- Developers:
- Need to understand the structure of the system, the interfaces between components, and the design decisions that shaped it.
- Use documentation to implement features, debug issues, and refactor components.
- Operations Teams:
- Need to know how to deploy, monitor, and maintain the system.
- Use documentation to understand infrastructure requirements, scaling strategies, and failure modes.
- Product Owners and Managers:
- Need to see how the system aligns with business goals and user needs.
- Use documentation to prioritize features, allocate resources, and measure success.
- Architects and Designers:
- Need to preserve their vision, justify their decisions, and communicate with other architects.
- Use documentation to share context, record trade-offs, and collaborate on future changes.
- New Team Members:
- Need a gentle introduction to the system’s architecture.
- Use documentation to understand the system’s structure, navigate the codebase, and contribute meaningfully.
TYPOS: So documentation must be tailored to each audience?
SIMONOS: Yes! A one-size-fits-all approach will fail. The architect must ask: - Who will read this document? - What questions do they need answered? - How can we present the information clearly and concisely?
4 Dialogue III: What to Document
TYPOS: Simonos, you speak of answering questions. But what specific things should we document?
SIMONOS: Ah, Typos, the architect should document the essence of the system—the parts that answer the critical questions of its stakeholders. Let us name the key artifacts:
- Context View:
- What is the system’s purpose?
- What are its boundaries?
- Who are its external users and systems?
- What are its high-level goals?
- Development View:
- How is the system structured?
- What are its modules, components, and services?
- What are the interfaces and dependencies?
- Process View:
- How do components interact at runtime?
- What are the data flows and control flows?
- How are transactions and errors handled?
- Deployment View:
- How is the system deployed?
- What infrastructure is required?
- How are failures detected and mitigated?
- Decision Records:
- What decisions were made?
- Why were they made?
- What were the alternatives?
- What are the trade-offs?
- Quality Attributes:
- What are the system’s performance, security, and scalability requirements?
- How are these attributes ensured?
- Glossary:
- What terms and acronyms are used?
- What do they mean?
TYPOS: So the architect must document the views and decisions that shape the system?
SIMONOS: Yes! But remember: documentation should be living, not static. It should evolve as the system evolves.
5 Dialogue IV: How to Document Architecture
TYPOS: Simonos, you speak of documenting architecture. But how do we do it effectively?
SIMONOS: Ah, Typos, the art of documentation lies in clarity, conciseness, and accessibility. Let us explore some best practices:
- Use the Right Medium:
- Diagrams: Use views (e.g., context, container, component) to visualize the system’s structure.
- Text: Use templates (e.g., Arc42) to guide the documentation process.
- Code Comments: Use inline documentation to explain non-obvious decisions.
- Keep It Simple:
- Avoid jargon and complexity. Use plain language and clear examples.
- Focus on what matters. Do not document every detail—only what is necessary to understand the system.
- Make It Accessible:
- Store documentation in a centralized repository (e.g., a wiki, GitHub, or a dedicated documentation tool).
- Use hyperlinks and cross-references to connect related documents.
- Ensure documentation is searchable and up-to-date.
- Tell a Story:
- Use narrative to guide the reader through the system. Start with the big picture, then dive into the details.
- Use examples and scenarios to illustrate how the system works.
- Document the Rationale:
- Explain why decisions were made. This helps future architects understand the trade-offs and context.
TYPOS: So the architect must balance depth and clarity?
SIMONOS: Yes! The goal is to create documentation that is detailed enough to guide development but simple enough to be understood by all stakeholders.
6 Dialogue V: Communicating Architecture
TYPOS: Simonos, you speak of documentation as a living artifact. But how do we communicate it effectively?
SIMONOS: Ah, Typos, communication is the voice of architecture—the town criers who spread the news of the system’s design. Let us explore some methods for sharing architectural wisdom:
- Presentations:
- Use slides to present the system’s context, structure, and key decisions.
- Focus on the big picture and the most important questions.
- Workshops:
- Gather stakeholders to collaborate on architecture decisions.
- Use whiteboards, sticky notes, and diagrams to brainstorm and refine ideas.
- Architecture Decision Records (ADRs):
- Document decisions in a structured format (e.g., Markdown files in a repository).
- Include the problem, decision, and rationale.
- Store ADRs in a centralized location for easy access.
- Architecture Reviews:
- Present the system’s architecture to peers and stakeholders for feedback.
- Use structured methods (e.g., ATAM) to evaluate the architecture’s strengths and weaknesses.
- Repositories and Wikis:
- Store documentation in a centralized repository (e.g., GitHub, Confluence).
- Use hyperlinks and cross-references to connect related documents.
- Ensure documentation is versioned and searchable.
TYPOS: So the architect must adapt to the audience’s needs?
SIMONOS: Yes! The architect must be a communicator as much as a designer. They must ensure that the architecture is shared, understood, and collaborated upon.
7 Dialogue VI: Architecture Decision Records (ADRs)
TYPOS: Simonos, you speak of documenting decisions. But what is an Architecture Decision Record (ADR), and why is it so important?
SIMONOS: Ah, Typos, an ADR is a structured way to document architectural decisions. It captures the problem, the decision, and the rationale behind it. Think of it as a scroll that preserves the architect’s wisdom for future generations.
TYPOS: What does a typical ADR look like?
SIMONOS: A typical ADR includes:
- Title: A concise summary of the decision.
- Status: Is the decision proposed, accepted, deprecated, or superseded?
- Context: The problem or opportunity that led to the decision.
- Decision: The chosen solution and the alternatives considered.
- Consequences: The impact of the decision on the system, including trade-offs and risks.
- Rationale: The reasoning behind the decision.
TYPOS: So ADRs are the memory of the system’s decisions?
SIMONOS: Yes! They ensure that future architects understand the why behind the what.
8 Epilogue: The Architect’s Legacy
Typos stood, his mind alight with newfound understanding. Documentation and communication—once seen as bureaucratic tasks—had become the heartbeat of the architectural process. The Library of Neo-Athens was not just a place of scrolls, but a living institution where knowledge was shared, refined, and preserved.
“Simonos,” he said, “I feel as though I have glimpsed the soul of architecture. Not just as a set of diagrams or documents, but as a living narrative that guides the team forward.”
Simonos nodded, his eyes reflecting the soft glow of a hundred terminals. “Indeed, Typos. The architect is not just a builder, but a storyteller. They do not just design systems—they craft the stories that help others understand, build, and evolve those systems.”
Typos turned to the whiteboard, where the outlines of a new system began to take shape—a system described not in silence, but in clear scrolls, town criers, and shared wisdom.
“Then let us begin the next chapter of our journey,” he said.
Simonos smiled. “With clarity as our quill, and understanding as our ink.”
8.1 Key Themes and References
- Purpose of Documentation:
- Aligned with the iSAQB CPSA-F curriculum and ISO/IEC/IEEE 42010.
- Emphasizes the importance of tailoring documentation to stakeholders.
- What to Document:
- Rooted in the iSAQB focus on architecture views (context, development, process, deployment) and decision records.
- Inspired by Simon Brown’s C4 model and Arc42 template.
- How to Document:
- Reflects the iSAQB emphasis on clarity, conciseness, and accessibility.
- Incorporates best practices from the SEI and industry standards.
- Communication Methods:
- Echoes the iSAQB focus on stakeholder engagement and collaboration.
- Inspired by Agile and DevOps principles of iterative refinement and shared understanding.
- Architecture Decision Records (ADRs):
- Rooted in Michael Nygard’s concept of ADRs and the iSAQB curriculum.
- Highlights the importance of documenting rationale and trade-offs.