InfoQ

Interview

Markus Voelter about Software Architecture Documentation

Interview with Markus Voelter by Niclas Nilsson on May 05, 2008 08:48 AM

Community
Architecture
Topics
Modeling
Tags
Modeling Tool ,
Documentation ,
OOPSLA ,
OOPSLA 2007 ,
UML ,
Patterns
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

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.