
| The Software
Architecture Discipline
Software Architecture and Related Concerns Architecture Training
- Chicago, IL April 6-9, 2009 Enterprise Architecture Workshop - TBA Role of the Architect Workshop - Indianapolis, IN April 27-29, 2009 Enterprise Architecture Seminar (1-day) Architecture Requirements Workshop
|
Software
Architecture Documentation![]() Action Guides for Architecture Specification
Architecture Documentation Goals
Architecture Drivers Though not part of the architecture as such, the drivers that shape the architecture are important to record and communicate. They include:
Architecture Views
We use different views to enhance the understandability of the architecture and to focus on particular concerns separately.
An Architecture Decision Matrix provides
traceability between the architecture drivers and the decisions reflected
in the various architecture views. We encourage using UML models where applicable (stereotyped Class Diagram for the Architecture Diagram, stereotyped Collaboration Diagrams for Component Collaboration Diagrams, etc.), as this provides a standardized notation and there is tool support. Architecture Documentation Architecture is, by nature, created by the few for the consumption of the many. You cannot bring "the many" into the process directly, so documentation is an important vehicle for communicating the architecture and educating the development community during design ramp-up, and clarifying decisions and resolving issues later on. It is important to record the reasoning behind architectural choices along the way. This reasoning includes providing traceability to the driving forces behind the decisions (including business strategy, product requirements, etc.), the tradeoffs that were explicitly dealt with, and the experience, modeling and analysis that was brought to bear as alternative approaches were weighed. Later you can tailor your documents for different audiences, but if you neglect to provide a record as you go, you will have more work to do trying to resurrect the assumptions and assertions, rationale and reasoning that explain the architectural decisions. In short, DON'T leave documentation until the end! With the architecture drivers and various architecture views, you have the raw material from which to compose documents and presentations targeted at different audiences. These include:
Outcomes, Not Just DeliverablesFor an architecture to be good, right and successful, we cannot focus on deliverables alone. In particular, we need to ensure that intangible outcomes like attitude shifts and understanding do not get brushed aside in the effort to produce "deliverables." We have encountered architects who actually believe that their manager is judging their effectiveness based on the number and size of documents produced, since this is the visible workproduct of architecture. Indeed, in the absence of all other feedback, this is what your manager will have to fall back on. But the more positive "buzz" you generate in the organization, the more your manager will rely on intangible signals of intangible progress. And the longer you have been in this architecting game, the more you recognize that it is the intangibles that lead to success or failure. Yes, we need documents that provide a formal "organizational memory," that serve as a reference, and a medium to judge whether the architecture is good and right. They help determine whether we are ready to move to the next stage. They also serve as medium for broadcast to achieve broader understanding and buy-in than we might have the bandwidth to achieve through one-on-one contact. Some time in the future, the architecture specification may be enough, but in the foreseeable future, success for architecture is most likely going to mean you have to overcome resistance, educate, negotiate, coax and cajole, working formal and informal avenues of influence to achieve acceptance and readiness to apply the architecture. References Bachmann, Felix, L. Bass, J. Carriere, P. Clements, D. Garlan, J. Ivers, R. Nord, and R. Little, Software Architecture Documentation in Practice: Documenting Architectural Layers, draft available at http://www.sei.cmu.edu/publications/documents/00.reports/00sr004.html IEEE 1471 Recommended Practice for Architectural Description http://standards.ieee.org/reading/ieee/std_public/description/se/1471-2000_desc.html Malan, Ruth and Dana Bredemeyer, "Software Architecture: Central Concerns, Key Decisions", (ArchitectureDefinition.PDF, 124kb), May 2002. Malan, Ruth, and Dana Bredemeyer, "The Visual Architecting Process" (VisualArchitectingProcess.PDF, 65kb), February 2002. Malan, Ruth, and Dana Bredemeyer, Software Architecture Action Guide Book (draft): http://www.bredemeyer.com/ArchitectingProcess/SWAActionGuideTOC.htm Malan, Ruth, and Dana Bredemeyer, Visual Architecting Process: Interactive Guide, http://www.bredemeyer.com/ArchitectingProcess/VisualArchitectingProcess.htm Malan, Ruth, "Architecture Documentation: Courage to Fly in the Face of Convention," A Trace in The Sand blog post, July 24, 2006. Ogush, M., D. Coleman, and D. Beringer, "A Template for Documenting Software Architectures", March 2000, available on http://www.architecture.external.hp.com/Download/download.htm SEI Software Architecture Documentation Template, http://www.sei.cmu.edu/architecture/SAD_template2.dot Youngs, R., D. Redmond-Pyle, P. Spaas, and E. Kahan, "A Standard for Architecture Description", IBM Systems Journal, Vol 38 No 1. http://www.research.ibm.com/journal/sj/381/youngs.html UML References Booch, G., J. Rumbaugh and I. Jacobson, The Unified Modeling Language User Guide, Addison-Wesley, 1999. Rumbaugh, J., I. Jacobson and G. Booch, The Unified Modeling Language Reference Manual, Addison-Wesley, 1999. The official OMG Unified Modeling Language (UML) Documentation is available at http://www.rational.com/uml/index.jtmpl Action Guides Our workshops cover our full set of Action Guides (including models, templates and heuristics), and go into creating and documenting architectures:
UML is a trademark or registered trademark of the Object Management Group, Inc. in the US and other countries. Restrictions on Use: All material that is copyrighted Bredemeyer Consulting and published on this page and other pages of our site, may be downloaded and printed for personal use. If you wish to quote or paraphrase fragments of our work in another publication or web site, please properly acknowledge us as the source, with appropriate reference to the article or web page used. If you wish to republish any of our work, in any medium, you must get written permission from the lead author. Also, any commercial use must be authorized in writing by Bredemeyer Consulting. |
Copyright ©
2000-2003 by Bredemeyer Consulting
URL: http://www.bredemeyer.com
Last Modified: August 15, 2003