InfoQ

Interview

Markus Voelter about Software Architecture Documentation

Interview with Markus Voelter by Niclas Nilsson on May 05, 2008

Community
Architecture
Topics
Modeling
Tags
Patterns ,
Documentation ,
OOPSLA ,
UML ,
OOPSLA 2007 ,
Modeling Tool
Summary
During OOPSLA 2007, InfoQ interviewed Markus Voelter asking him about creating software architecture documentation. Many people mention UML when they are asked about software design documentation, but Markus has a different take on that. He thinks that we should be using models which can be processed with tools which can validate or invalidate them.

Bio
Markus Voelter works as an independent researcher, consultant and coach for software technology and engineering. His focus is on software architecture, model-driven software development and domain specific languages as well as on product line engineering. Markus also regularly writes (articles, patterns, books) and speaks (trainings, conferences) on those subjects.
We're sitting here at OOPSLA 2007 with Markus Voelter and we are going to discuss software architecture documentation. Markus, what do you think are the most common problems with documenting architectures today?
When people think about documenting architectures and documenting things like that, they usually think about UML, modeling tools and stuff, what's your take on that?
What format is this model's in this case? Do you visualize diagrams for the model or do you create the model from some visual tool or how do you create models?
How do you suggest in that you need to have formal models and do model driven development to document an architecture?
What are the concepts in documenting architectures? What are the typical patterns that you will use?
For architects who want to document their own thing, they will still end up in situations where they have things that are not common patterns today, that are not described. How would you recommend to get started writing their own patterns for their own, maybe, specific domain?
How would a pattern that's specific for a domain or for a project differ from patterns that you will find typically in books?
There are common ways to do architectural documentation is to write up and then the architects throw on to the developers and the developers are supposed to read it and they don't. How do you communicate your architecture to the developers?
Are there other ways of documenting architecture, more unusual ways maybe?
show all  show all
Excellent Interview and comments about Architecture Documentation by Gustavo Andres Brey Posted May 11, 2008 4:05 PM
Very good by Gabriel Belingueres Posted May 14, 2008 4:28 AM
What is Gregory's book? by Khoa Ngo Posted May 14, 2008 7:09 AM
Re: What is Gregory's book? by Mirko Stocker Posted May 16, 2008 9:45 AM
fantastic interview by GH Chinoy Posted May 15, 2008 9:02 AM
  1. The voice of Markus sounded pretty familiar to me, so I would assume that he is the interviewer of SE-Radio because he mentioned it during the interview :)
    About this topic, I totally agree with you Markus you say a lot of things that I have mind and generates a lot of discussions in my course when I teach about Software Architecture Documentation (slides in Spanish here). Nowadays we have a lot of ways/tools of communicating the architecture, blogs, wikis, webcast, podcats... and the best way depends on the context of the project, the target audience and the part of the architecture that you want to communicate.
    The only things that you don't mentioned and I consider extremely useful regarding communication architectures is keeping in mind that the architecture can be communicated in terms of perspectives (or view points) and each of them has to be targeted to an specific audience, so with that you can define in a high level the language (or meta-model/diagram/text) that they understand.
    I really enjoyed this interview, thank you very much!

  2. Back to top

    Very good

    May 14, 2008 4:28 AM by Gabriel Belingueres

    Very good interview. Many practical and down to earth suggestions.

  3. Back to top

    What is Gregory's book?

    May 14, 2008 7:09 AM by Khoa Ngo

    Can anybody let me know what exactly the title of "Gregory's book" is? Thanks.

  4. Back to top

    fantastic interview

    May 15, 2008 9:02 AM by GH Chinoy

    Such a great interview packed with useful answers. I really appreciated hearing how pattern reviews were done and the strategies to communicate and document architectures.

    Thank you!

  5. Back to top

    Re: What is Gregory's book?

    May 16, 2008 9:45 AM by Mirko Stocker

    Well, I'm not sure, but he might mean Gregor Hohpe's Enterprise Integration Patterns.

Educational Content

Brian Marick on 4 Challenges and 5 Guiding Values of Agile Software Development

Brian Marick takes us through a quick tour of the most important values and challenges to adopting Agile successfully (they aren't the typical challenges and values we hear in the community).

Are You a Software Architect?

The line between development and architecture is tricky. Does it exist at all? Is an ivory tower actually needed? There's a balance in the middle, but how do you move from developer to architect?

Agile – A Way of Life and Pragmatic Use of Authority

The word 'authority' sometimes produces an allergic response in hard-line agilists. Freedom and authority – both are bad if misused and both are good if used in right spirit for a noble cause.

Getting Started with Grails, Second Edition

"Getting Started with Grails" brings you up to speed on this modern web framework. Companies as varied as LinkedIn, Wired, and Taco Bell are all using Grails. Are you ready to get started as well?

Using ITIL V3 as a Foundation for SOA Governance

Those familiar with only ITIL V2 often scoff at the thought that ITIL could serve as a governance framework for SOA. With ITIL V3, the focus of the framework shifted towards service-orientation.

Adrian Colyer on AspectJ, tc Server and dm Server

SpringSource CTO Adrian Colyer discusses AspectJ, SpringSource's dm Server and tc Server products, OSGi and Scrum.

Adam Wiggins on Heroku

Heroku's Adam Wiggins talks about Rails, Background Jobs, Add-Ons, Ruby, and how Heroku manages to work around Ruby's inefficiencies using Erlang and other languages.

SOA as an Architectural Pattern: Best Practices in Software Architecture

For Grady Booch the foundation of a good architecture is patterns, SOA being just one of many patterns. In this Second Life presentation, Booch attempts to bring more clarity on what architecture is.