The "Software Architecture Document" Size
Simon @ CodingTheArchitcture recently asked "How big is your software architecture document? (and who reads this stuff anyway?)" He notes that in a user's group meeting most of the attendees had Software Architect Documents (SADs) that were more than 50 pages long.
It would probably not be too surprising if I said that, in my opinion, the answer is " it depends." Reflecting on some of my past projects, I had SADs that varied in length from a 200+ "write-only" document* to a less than 10 page lean document. And the sizes matched the intended usage of the documents. For instance, in the two extremes just mentioned, the first case was a huge mission-critical project with a specific requirement from the customer to have an "official" SAD and it was written to satisfy some project milestone (PDR) . The second extreme, on the other hand, was an agile project where the architecture document was a working document, written some 10 iterations into the development to highlight some of the emergent guidelines.
What is common to all the SADs I've written (or have been responsible for) is that they all tried to grasp the essence of the design, all used multiple viewpoints to describe the solution, all were focused on quality attributes, and all explained the rationale behind the decisions.
- If you drone endlessly with details, you don't see the forest from the trees.
- If you don't use multiple views, you are likely to miss important aspects of the solution
- If you aren't focused on quality attributes, then you are most likely documenting design and not architecture
- And if you don't explain the rationale, then the document doesn't have a lot of added value beyond the code itself
*While this particular SAD was rather long, it also had a section that helped potential readers find relevant chapters so that it can actually be usable, and not just for "door stopping".