Have you ever...
- been confused by an arrow in a box-and-line design diagram?
- read code for hours and yearned for a clear "big picture" explanation?
- found a debatable design decision and wished someone could explain the rationale behind it?
If your answer is yes to any of these questions, this talk has practical and valuable information for you. The goal is to discuss what information about a software architecture should be captured so that others can successfully use it, maintain it, and build a system from it. Important takeaways from this talk include how to document the architecture in multiple views; how to complement structural diagrams with sequence diagrams, statecharts, and other behavior diagrams; and how to record design decision in a simple and effective way.