Improving Software Production Environments with Non-Invasive, Quantitative Experience Collection using Microsoft Office and Visual Studio

  • Giancarlo Succi | Free University of Bolzano-Bozen, Italy

Process control and improvement are keys to successful businesses, especially in agile environments.

The PROfessional Metrcics (PROM) system and its Experience Manager (PEM) are designed to promote them. PROM supports automatic and non invasive collection of metrics from software processes and products. Without any significant intervention of the software engineers (apart the initial configuration), data about where effort is spent, metrics on design and code, and other relevant information coming from corporate repositories is integrated in a single framework; this additional information includes bugs, issues, customer information, projects data etc. Supported programming languages include C, C++, Java, C#, Smalltalk. Supported platforms and tools include Windows XP, Windows Vista, Office,Visual Studio.

The information collected from PROM is then made available to software engineers and managers through the PROM Experience Managers. Reports can be automatically built and emailed with predefined frequencies (daily, weekly, etc.). A Dashboard is provided, where the data can be constantly visualized. The dashboard is highly customizable, with multiple perspectives and views on the data. Perspective and views can be defined by managers and by the individual developers; they can belong to the whole organization or to the individual developers that can also share the ones they want among colleagues. Perspective may also integrate data from web pages and supports user annotations.

Using PROM and PEM a company may monitor its progresses toward its goal without any significant overhead. On the basis of a GQM framework, a company may define its Goals, and the associated Questions and Metrics; PROM then collects the metrics automatically and PEM elaborates the questions and present the result.

As an example a goal could be to reduce the number of defects injected in C++ code. Then questions could be on the number of defects, the effort to fix, and whether they occur in modules with high values of certain metrics -e.g., McCabe Cyclomatic Complexity, Depth of Inheritance Tree, etc. PROM could be instructed to collect effort data, defect data and such relevant metrics automatically. PEM would then elaborate such data and report to managers in a suitable format at given frequencies the evolution of number of defects, defect density, effort to fix defects, and correlations between such numbers and McCabe Cyclomatic Complexity, Depth of Inheritance Tree.

Altogether, this promotes a constant improvement cycle without any significant human intervention to control the process, which goes along the lines of lean approaches and, in essence, it implements a working experience factory.

Speaker Details

Giancarlo Succi is Professor with Tenure at the Free University of Bolzano-Bozen, Italy, where he directs the Center for Applied Software Engineering and has been recently elected Dean of the Faculty of Computer Science. Before joining the Free University of Bolzano-Bozen, he was a Professor with Tenure at the University of Alberta, Edmonton, Alberta, Associate Professor at the University of Calgary, Alberta, and Assistant Professor at the University of Trento, Italy. He was also chairman of a small software company, EuTec.Prof. Succi holds a Laurea degree in Electrical Engineering (Genova, 1988), an MSc in Computer Science (SUNY Buffalo, 1991) and a PhD in Computer and Electrical Engineering (Genova, 1993). He has been registered Professional Engineer in Italy since 1991 and he obtained the full registration also for the province of Alberta, Canada, while residing there.Giancarlo Succi is a Fulbright Scholar.More information can be found here: http://www.case.unibz.it/