PROM KM - CiteSeerX

8 downloads 1619 Views 121KB Size Report
PKM: Knowledge Management Tool for Environments. Centered on the ... enact a knowledge management system within a software company. The framework is ...
PKM: Knowledge Management Tool for Environments Centered on the Concept of the Experience Factory Emanuele Danovaro

Tadas Remencius

Alberto Sillitti

Giancarlo Succi

Free University of Bolzano Piazza Domenicani 3 39100 Bolzano, Italy

Free University of Bolzano Piazza Domenicani 3 39100 Bolzano, Italy

Free University of Bolzano Piazza Domenicani 3 39100 Bolzano, Italy

Free University of Bolzano Piazza Domenicani 3 39100 Bolzano, Italy

[email protected]

[email protected]

[email protected]

[email protected]

ABSTRACT This paper presents PKM – a web-based tool for knowledge management in an environment centered on the concept of the experience factory. The tool focuses on managing explicit knowledge, most of which is collected in an automated way using non-invasive plug-ins and probes. It provides customizable metric views, metric interpretation and abstraction capabilities, helps in extraction and evaluation of metric progress models.

Categories and Subject Descriptors D.2.9 [Software Engineering]: Management; K.6.3 [Computing Milieux]: Software Management; D.2.8 [Software Engineering]: Metrics; K.6.1 [Computing Milieux]: Project and People Management

General Terms Management, Measurement, Performance.

Keywords Experience Factory, Knowledge Management, GQM, Goal Question Metric, Dashboard, PKM, PROM, Metric Abstraction.

1. INTRODUCTION The knowledge of its software engineers and developers is the most relevant asset of a software company. However, handling such knowledge properly is a complex task [1]. Several studies and experimentations have been conducted on how to share and increase such knowledge. Among them there is the ground breaking work of Basili on the experience factory [2]. In this paper we present a knowledge management framework to enact a knowledge management system within a software company. The framework is made of three major components: data collection, data warehousing and knowledge extraction and sharing. PKM is a web-based tool responsible for knowledge extraction, visualization and sharing.

Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Conference’04, Month 1–2, 2004, City, State, Country. Copyright 2004 ACM 1-58113-000-0/00/0004…$5.00.

2. RELATED WORK The aim of experience factory [3] is to provide an infrastructure that would enable effective collection and use of knowledge of the company in a systematic, top-down, goal oriented approach. Introduced in late eighties – early nineties, the concept of experience factory has been implemented in many organizations [4], [5], [7]. Unfortunately, there is still no exact technique established that would lead to a guaranteed success in adopting the concept of experience factory in a company [6], [8]. The work by Seaman et al. [8] suggests that not enough research attention has been spent on the visual interface between experience base and its users. Human factor is also pointed out [6] as the main cause for the failure of an implementation of the experience factory.

3. ORGANIZING THE EXPERIENCE FRAMEWORK WITH PROM AND PKM The PROM system focuses on automation of data collection process. This is achieved using a set of plug-ins and probes that automatically collect generic effort data (active time spent in focused applications, switches between windows) and metrics from specific applications, such as office suites (e.g., Microsoft Office and OpenOffice.org), development environments (e.g., Eclipse, Microsoft Visual Studio), mail clients, web browsers, etc.

3.1 Overview of PROM and PKM PROM consists of several components, organized in three parts: (a) client-side plug-ins and probes, (b) a server, and (c) a graphical user interface to the knowledge base – PKM. KM is made of two logical parts: 1) a web-based dashboard that uses Apache Tomcat as a web server and PostgresSQL as its database management system, 2) a server side Java application, responsible for metric cache and external data import. The system uses the AJAX technology for asynchronous user action processing, JFreeChart and BIRT for chart and report generation. PKM uses data stored in the PROM server coming from PROM plug-ins and probes and from external data sources. The table below lists the main features of PKM.

Table 1. Main features of PKM Feature

Metric value progression analysis

Details Chart views, Metric views, GQM views, Post-it views, Website views View perspectives, website perspectives Read-only, visible to all users, can only be removed by administrators Sharing types: copy, read-only, by reference Caching of time and resource intensive queries, import and caching of data from external data sources Traffic lights abstraction (green, yellow, red) Used for metric abstraction and analysis of the model of metric value progression Automatic detection of “special points”

Template views

Views with predefined parameters

Customizable views Customizable user perspectives System perspectives Perspective sharing Metric data source caching and import Metric abstraction Definable metric interpretation function

3.2 Knowledge Management with PKM The use of PKM is based on four steps: 1) definition of goals and metrics, 2) metric progress monitoring, 3) analysis and knowledge extraction, 4) evaluation of results and improvement. A set of metrics is defined for each goal. This is done applying the GQM approach defined by Basili [9]. The problem with metric definition is that it describes the way to compute the value of the metric, but does not provide any guidelines for understanding the actual meaning of its value. For this reason, we introduce the concept of “metric interpretation” – a formal definition of a way to compute the meaning of the value of the metric. To summarize the meaning, we use the traffic light metaphor. It is both simple and easy to understand: green stands for good (everything is fine), red – for bad (critical, error) and yellow - for indication of possible upcoming troubles (warning). An “interpretation function” maps the domain of possible metric values to the three categories discussed before: red, yellow, and green. The interpretation function is made of a set of Boolean expressions, which might include any number of predefined functions (static or time dependant). A function can be one of the following: 1) a mathematical equation, 2) historical dataset (i.e., a set of values from a previous metric monitoring session), 3) a custom dataset, 4) any combination of the three elements above.

Metric values come from a variety of data sources, such as predefined corporate abstractions, generic data sources, data streams defined by custom SQL queries. Corporate abstractions are abstractions defined by the corporation where the PKM is installed and supported by the corporation information system.

4. CONCLUSIONS In this paper we presented PKM – a knowledge management tool aimed for use in companies implementing the concept of experience factory. We provided a general overview of PROM knowledge management framework, and described the main features and structure of PKM tool, which employs the dashboard for user-centered and easy to understand at-a-glance visualizations of metrics. We also showed the extended GQM approach used in our framework and based on metric abstraction. The usefulness of metric abstraction and metric function analysis has yet to be validated by empirical studies in non-academic environments.

5. REFERENCES [1]

Stewart, K., Baskerville, R., Storey, V., Senn, J., Raven, A. and Long, C. Confronting the Assumptions Underlying the Management of Knowledge: an Agenda for Understanding and Investigating Knowledge Management. ACM SIGMIS Database, 31(4):41-53. 2000.

[2] Basili, V., Rombach, H., Tailoring the software process to project goals and environments. 9th International Conference on Software Engineering. 1987. [3] Basili, V.R., Caldiera, G. and Rombach, H.D. Experience Factory. Encyclopedia of Software Engineering. Volume 1. John Wiley & Sons. 1994. [4] Basili, V., Caldiera, G., McGarry, F., Pajerski, R., Page, G. and Waligora, S. The Software Engineering Laboratory: an Operational Software Experience Factory. Proceedings of the 14th International Conference on Software Engineering. 1992. [5] Houdek, F., Schneider, K. and Wieser, E. Establishing Experience Factories at Daimler-Benz: an Experience Report. 20th International Conference on Software Engineering. 1998. [6] Koennecker, A., R. Jeffery, and G. Low. Lessons Learned from the Failure of an Experience Base Initiative Using Bottom-up Development Paradigm. 24th Annual Software Engineering Workshop. 1999. [7] K. Schneider and T. Schwinn. Maturing Experience Base Concepts at DaimlerChrysler. Software Process– Improvement and Practice. 2001. [8] Seaman, C.B., Mendonca, M.G., Basili, V.R. and Kim, Y.M. User Interface Evaluation and Empirically-Based Evolution of a Prototype Experience Management Tool. Transactions on Software Engineering, 29(9): 838-850. 2003. [9] Basili, V.R., and Weiss, D.M. A Methodology for Collecting Valid Software Engineering Data. IEEE Transactions on Software Engineering, 10(3): 728-738. 1984