InfoQ

Interview

Erik Doernenburg on Software Visualization

Interview with Erik Doernenburg on Oct 19, 2007 10:38 AM

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

6 comments

Reply

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 http://blog.jinspired.com/?p=144 The Laws of Simplicity: Hide | Highlight http://blog.jinspired.com/?p=28 Beautiful Evidence: Metric Monitoring http://blog.jinspired.com/?p=33 I cannot imagine anyone not considering the following "visualizations" Database Concurrency http://www.jinspired.com/products/jxinsight/concurrency.html Database Lock Contention http://www.jinspired.com/products/jxinsight/olapvsoltp.html 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" http://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: http://www.inf.unisi.ch/phd/lungu/softwarenaut/screenshots/ 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) http://www.amazon.co.uk/Object-Oriented-Metrics-Practice-Software-Characterize/dp/3540244298

Exclusive Content

Advanced Threat Modeling

John Steven talks about modeling security threats as a way to secure a system while designing its architecture. John focuses on authentication, authorization and session management.

Typemock: Past, Present and Future

Eli Lopian of Typemock answers a few questions on Typemock origins and where Typemock is headed.

Agile in Practice: What Is Actually Going On Out There?

Scott Ambler talks about actual data resulting from surveys made during 2006-2008, showing how Agile is perceived and implemented within organizations.

Building Smart Windows Applications

From QCon 2008, Daniel Moth presents on using Visual Studio 2008 and .NET 3.5 to create compelling rich Windows applications.

Joshua Kerievsky about Industrial XP

Joshua Kerievsky, founder of Industrial Logic, talks about Industrial Extreme Programming which extends XP by including practices dealing with management, customers and developers.

Jeff Barr Discusses Amazon Web Services

Amazon Web Services (AWS) Evangelist Jeff Barr discusses SimpleDB, S3, EC2, SQS, cloud computing, how different Amazon services interact, origins of AWS, AWS globalization and the March AWS outage.

More Than Just Spin (Up) : Virtualization for the Enterprise and SaaS

Cloud services have helped bring virtualization to the forefront. Its full power however, also includes other benefits such as high availability, disaster recovery, and rapid provisioning.

Ruby Beyond Rails

John Lam talks about his path to dynamic languages, some of the problems of making IronRuby run fast, and how the DLR helps with implementing languages.