The WebMe Data Visualization Tool

Roseanne Tesoriero, University of Maryland and Marvin V. Zelkowitz, Fraunhofer Center for Experimental Software Engineering

Introduction

The ubiquity of the World Wide Web and the increased presence of the Internet in today’s marketplace have led to an environment where software is being developed in geographically distributed locations. This type of distributed development environment raises several new challenges in the area of software project management.

Measurement data has been used to control and improve the software process and its products. For example, the Software Engineering Laboratory of NASA’s Goddard Space Flight Center (NASA/SEL) has been using the Quality Improvement Paradigm along with the Goal/Question/Metric paradigm to help evaluate, control and improve software processes and products for over twenty years [1]. The use of measurement data to build and package experience is a key aspect in this approach. One way in which experience is packaged is in a baseline model. A baseline model is created by clustering project data from similar projects together to describe the expected behavior for this class of projects. Management can then compare a new project with this baseline model in order to better understand deviations from the baseline. For example, a project with too few errors per line of code may either represent a superior development process or insufficient testing.

When dealing with a distributed development environment, the use of measurement data to build knowledge and experience for software project management presents several new challenges. When development occurs at physically separated locations, the data may be geographically separate as well. If several organizations are involved in the development (such as with subcontract management), the organizational cultures may be different and the data may be collected using different collection mechanisms leading to variations in the formats. Creating baselines and comparing different projects becomes more difficult due to the differing interpretations to the collected data. When several organizations are involved in the development, privacy becomes an issue. Each organization does not want to give the others unlimited access to its proprietary data.

The Web Measurement Environment (WebME) has been developed to address the challenges of using measurement data for experience-based project management in a distributed development environment. This short discussion explains how the techniques incorporated into the WebME system allow project managers to use data from a distributed environment. A brief overview of the WebME system and a description of the analysis technique used to build a baseline from similar projects are given.

WebME solution

The WebME system was designed to build baseline models from data collected in geographically distributed environments. In particular, it can be used to combine and analyze time-series data collected from software projects.

The architecture of the WebME system is shown in Figure 1.


Figure 1: WebMe Architecture

The WebME system uses a mediated architecture, which horizontally partitions the structure of the architecture into three layers: the information repositories, mediating information servers and the end-user application layer. In the WebME context, the end-user submits a request through a Web browser. The request is directed to the appropriate WebME mediator. The WebME mediator uses its metadata to determine which information repositories to access, obtains the data from the information repositories, and combines the data into an answer for the user query. The results are sent back to the Web browser for presentation.

Metadata is created by using the WebME scripting language. The WebME scripting language allows the system configurer to specify the structure of the architecture, the data that will be viewable with the system, and the access methods for the data. The configurer of the system creates a script containing the definitions for the system. The script is processed, checked for consistency and the results are stored and made available to the mediator. Because the owners of the data are responsible for providing the access methods, access to the data can be limited. Because the metadata contains information about the physical location and context information about the data at remote repositories, data collected at geographically separated locations and stored in different formats can be combined consistently.

It is important not only to combine the data in a consistent manner, but to use the data to support project management. The analysis technique supported in WebME [2] uses data from past similar projects to build a baseline of expected behavior for an attribute over time. First, a characteristic curve is generated for the project of interest (Figure 2). The characteristic curve describes the behavior of an attribute over the project lifecycle. The baseline model for the attribute is created using the characteristic curves of projects similar to the project of interest (Figure 3).


Figure 2: Characteristic Curve of Project under Study


Figure 3: Baseline Characteristic Curve of Related Projects

The baseline model can be used to support project management in several ways. For example, if a project is performing differently from the baseline, it serves a signal for the project manager. In Figure 4, the baseline model of the number of errors per week and the current project's errors per week are plotted. The current project has encountered more errors than expected. The project manager should investigate to determine the cause of the deviation. If the deviation is undesirable, corrective actions can be taken.


Figure 4: Project that is “Out of Scope”

The baseline model may also be used to determine the impact of process changes. If a project manager has implemented a process change, comparing the project performance against the baseline can assist in the understanding of how the process change has affected the attribute behavior of a project (Figure 5). Assume the project manager has incorporated code inspections into the development process to uncover errors earlier in the development cycle. Comparing the current project's characteristic curve for errors with the previous baseline model demonstrates the impact of the process change. In Figure 5, the errors for the current project are discovered earlier than in the baseline model.


Figure 5: Corrective Action Taken on Project that is “Out of Scope”

Status

The WebME system has been implemented and a prototype version is available at ftp://ftp.cs.umd.edu/pub/sel/roseanne/webme/

Author Contact Information

Prof. Roseanne Tesoriero
Department of Computer Science
4121 A V Williams
University of Maryland
College Park MD 20742
Dr. Marvin V. Zelkowitz
Fraunhofer Center for Experimental Software Engineering
University of Maryland
College Park MD 20742
[email protected]

Previous Table of Contents Next