InfoQ

News

Interview: Markus Voelter about Software Architecture Documentation

Posted by Abel Avram on May 05, 2008 03:12 AM

Community
Architecture
Topics
Modeling
Tags
Patterns ,
Documentation ,
Modeling Tool ,
UML

Markus Voelter was interviewed by InfoQ during OOPSLA 2007, and was asked to share his opinion on today's practices about writing software architecture documentation. Markus certainly supports the importance of writing such documents, but he has a different take on that compared to the general trend. Many people think of UML as the main tool used to write software architecture documents, but Markus says UML is not the right tool. While he agrees that UML has its benefits, he continues pointing out that we should be using tools which allow us to create a formal model which can be automatically processed and its integrity can be verified. Then we should be able to generate the code from it, including the infrastructure dependency code.

Markus Voelter is also a great fan of patterns when it comes to documenting the architecture. He says that we should be using patters whenever possible because the reader will be able to understand the documents faster and clearer when we use commonly shared concepts.

The entire interview can be accessed here.

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.