Chapter 10 of software project survival guide. Is about the architecture of the software. During the architecture phase the architecture team interaction among system into major subsystems, specifies all the interactions among subsystems, and documents the software top level technical plans.
Easing into architecture
Architectural work should start when requirements development is about 80 percent complete. Resolving 100 percent of the requirements before beginning architectural work usually isn’t possible without delaying the project. By the time 80 percent of the requirements are known, the project is on firm enough footing to support creation of software architecture.
Characteristics of a good architecture
- System overview. Needs to describe the system in broad terms.
- Conceptual integrity. When you look at the architecture, you should be pleased at how natural and easy the solution is. It shouldn’t look like the problem and the architecture are stuck together with duct tape.
- Subsystem and organization. Once you realize that the goal of architecture is to reduce complexity, it becomes clear that the architect must focus as much on what to leave out of the software as on what to put in.
- Strive for minimalism, simplicity, and coverage of all of the requirements, and don’t worry too much about finding the best solution.
McConnell, S. (1998). Software Project Survival Guide. Microsoft Press.