… is consultant for software quality control. He has more than 10 years of experience in the analysis of software systems and contributes to the development of the analysis tool Teamscale.
He studied Electronic and Computer Engineering at Fachhochschule Münster and University of Portsmouth and is Master of Engineering (Computer & Eletronic Engineering) and Dipl.-Ing. (FH) Elektrotechnik (Technische Informatik).
I have always been a fan of architecture diagrams: I simply like the elaborate drawings that show how the complex whole is divided into parts and how those parts are connected. These blueprints are an essential foundation for any discussions and it is expected that they match the reality as closely as possible.
»Big design up front« has proven to be impractical in the software domain. For any non-trivial project, the domain complexity is usually so high that completing the design before starting the implementation is simply inefficient. As a counter-movement, some proponents of »agile« software development go as far as proposing no upfront design and no documentation at all. I find both approaches alarming and impractical. In this blog post, I will try and outline a light-weight documentation approach that focuses on the static perspective of software architecture, also known as »building block view«. I will also shed light on the frequently encountered architecture documentation challenges.