Playing the game

How to write a system architecture document

     The idea is to discover primary use cases for the system, which identifies the main component areas, as loosely coupled areas of functionality. Then to write "test cases" (or first person use cases) for each component, giving us gap analysis of current to future state, actions to achieve the future state, and a roadmap. Then take internal, external and global views of the system, about how each component is delivered. Finally look at measures for component resilience, performance and security. Finish off with a FAQ.

     1. Overview: a one to three page summary of the deliverables across the architecture.

     2. Introduction: the purpose, scope, audience, and sources for the document.

     3. Business drivers: Provide very brief business use cases.

     4. Technology drivers: Provide the technology use cases.

     5. Very High Level Architecture: Write up a primary business use case across the architecture. Identify the components in the system and draw up a rich picture of the components and their boundaries.

     6. Component test cases: Write up a series of first person test cases for each component.

     7. Current state and future state: Begin to identify gaps between the two states, as actions towards convergence.

     8. The views: discuss the system as viewed from different points of view.

     11. FAQ: all the questions and all the answers.

Tell me what you think, please get in touch!