Articles by David Van Couvering
- Writing a High Level Design
Writing a high level design document should start with requirements and a domain model. The domain model, created with the product owner, defines the key concepts and how they relate. This model forms the foundation for the rest of the design. The document should also include a system diagram showing the system components and how they interact. Scenarios and use cases are used to exercise the domain model and refine the design. Failure scenarios should also be considered to identify potential flaws and improve resilience. The design is iterative, with feedback incorporated to refine the domain model, system diagram and other sections.
- Becoming a software architect
David discusses some aspects of his role as a software architect: looking for underlying themes and patterns, reading, writing, teaching, and doing the dirty work.