InfoQ

Interview

Erik Doernenburg on Software Visualization

Interview with Erik Doernenburg on Oct 19, 2007

Community
Architecture
Topics
Collaboration ,
Modeling ,
Methodologies
Tags
Visualization
Summary
Erik Doernenburg has worked in the field of enterprise applications for more than ten years. He is now employed by ThoughtWorks, and his latest interest is software visualization. In this interview he talks with InfoQ about different software visualization strategies using a combination of free tools and custom development.

Bio
The first piece of software Erik Doernenburg created was a little game that he wrote in Basic on the Commodore VIC-20 in 1983. He has worked in the field of enterprise applications for the past 10 years, and is now employed by ThoughtWorks. His latest passion is software visualization strategies at a medium level of abstraction.
Erik, can you tell us a bit about yourself and what you are up to?
You have been talking a lot about "software visualizations". Can you tell us a bit about what you mean?
What kinds of artifacts can you visualize?
Don't metrics have a bad wrap now that everyone is becoming agile and keeping things simple?
On your last 2-3 projects, what metrics you were recording and how were they visualized.
What are the most common metrics you think the projects should track?
What about package dependencies? How important is that in your projects?
How would you create the visualization of how many classes are being instantiated. What are the tools you use inwards the process you follow?
So for jar dependencies that makes sense, but what about the more obscure kinds of visualizations, like the class substantiations. How would you do that?
What is the complete tool set for doing all the visualizations that you have been doing?
So what are some of the limitations of these tools and how can you get around them?
So you have been talking a lot about visualization of static metrics. What about dynamic at runtime metrics?
Who should be looking at the visualizations? How do they fit into the project management processes?
A final question: what are your two favorite computer books?
show all  show all
Visualizations in Performance Management Tools by William Louth Posted Oct 20, 2007 10:46 AM
Why not use Dependency Structure Matrix tools? by Han van Roosmalen Posted Oct 22, 2007 3:05 AM
Re: Why not use Dependency Structure Matrix tools? by Erik Doernenburg Posted Nov 1, 2007 1:10 AM
i care visual modeling by jack ding Posted Oct 24, 2007 12:24 AM
Title of the suggested book by Rafael de F. Ferreira Posted Oct 25, 2007 10:04 PM
Re: Title of the suggested book by Erik Doernenburg Posted Nov 1, 2007 1:13 AM
  1. Back to top

    Visualizations in Performance Management Tools

    Oct 20, 2007 10:46 AM by William Louth


    ....these have visualizations but I wouldn't really count that into metrics and visualizations field.


    I would argue that visualizations in some performance management tools such as JXInsight exceed those of most other project or development centric tools on the market were the norm is for a dashboard with various metrics presented in green and red circles. Some tools related to structure analysis do a pretty good job at displaying a large number of inter-dependencies but timeline analysis is a much hard area to crack especially when trying to visualize millions events across a cluster of servers, across process and thread.

    Parallel & Remote Tracing
    blog.jinspired.com/?p=144

    The Laws of Simplicity: Hide | Highlight
    blog.jinspired.com/?p=28

    Beautiful Evidence: Metric Monitoring
    blog.jinspired.com/?p=33

    I cannot imagine anyone not considering the following "visualizations"

    Database Concurrency
    www.jinspired.com/products/jxinsight/concurrenc...

    Database Lock Contention
    www.jinspired.com/products/jxinsight/olapvsoltp...

    Maybe next time qualify the statement with "based on what I know of field X"

    regards,

    William Louth
    JXInsight Product Architect
    CTO, JINSPIRED

    "Performance monitoring and problem management for Java EE, SOA, and Grid Computing"
    www.jinspired.com

  2. Back to top

    Why not use Dependency Structure Matrix tools?

    Oct 22, 2007 3:05 AM by Han van Roosmalen

    Hi Erik,

    you are talking extensively about dependency and visualisation. I think you need to do some catching up to do. Many of the problems you express were already solved years ago when the DSM methodology was introduced. First in the mechanics problem domain. Since Lattix introduced this in 2004 an excellent visulisation appeared in the software industry.

    There are more tools starting to use DSM, but Lattix is the most advanced. It even allows you to change the code structure before you change the code. It even does not only work for Java (although it includes Spring, Hibernate and Oracle).

    For more information www.lattix.com. Just look at the demo and I am sure that you find what you are looking for.

    With kindest regards,
    Han van Roosmalen
    Software Architecting Consultant

  3. Back to top

    i care visual modeling

    Oct 24, 2007 12:24 AM by jack ding

    I thought the important field of software visualization should be visual modeling, not the report of code.
    but his idea is fun, how about store our code in DB(instead of store in plain text file), and using SQL to get some reports?

  4. Back to top

    Title of the suggested book

    Oct 25, 2007 10:04 PM by Rafael de F. Ferreira

    The transcript shows the title of his second favorite book as "An object oriented metrics and software visualization". Is this really correct? What are the authors?

  5. Back to top

    Re: Why not use Dependency Structure Matrix tools?

    Nov 1, 2007 1:10 AM by Erik Doernenburg

    Han,

    I am aware of tools such as Lattix LDM and Structure 101 by Headway Software. In my opinion DSM tools are useful and solve a certain class of problems well, but that doesn't mean that we can now sit back and declare dependency management solved.

    To give you an idea what I'm talking about, have a look at Softwarenaut:
    www.inf.unisi.ch/phd/lungu/softwarenaut/screens...

    erik

  6. Back to top

    Re: Title of the suggested book

    Nov 1, 2007 1:13 AM by Erik Doernenburg

    Object-Oriented Metrics in Practice: Using Software Metrics to Characterize, Evaluate, and Improve the Design of Object-Oriented Systems (Hardcover) by Michele Lanza (Author), Radu Marinescu (Author), Stephane Ducasse (Author)

    www.amazon.co.uk/Object-Oriented-Metrics-Practi...

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.