C1. Developing and distributing EPM, a tool for collecting quantitative data.



Similar documents
Accelerating Cross-Project Knowledge Collaboration Using Collaborative Filtering and Social Networks

Empirical Project Monitor: A Tool for Mining Multiple Project Data

A Research Framework for Empirical Software Engineering Collaboration and Its Application in a Software Development Project

An Empirical Study of Process Management and Metrics based on In-process Measurements of a Standardized Requirements Definition Phase

A Model of Project Supervision for Process Correction and Improvement

IT SPIRAL: A Case Study in Scalable Software Engineering Education

TEACHING QUALITY ASSURANCE AND PROJECT MANGEMENT TO UNDERGRDUATE COMPUTING STUDENTS IN PAKISTAN

Supporting Knowledge Collaboration Using Social Networks in a Large-Scale Online Community of Software Development Projects

Agile Software Engineering, a proposed extension for in-house software development

A Case Study of Calculation of Source Code Module Importance

Sample Workshops - An Overview of Software Development Practices

The Design and Improvement of a Software Project Management System Based on CMMI

Integrating Service Oriented MSR Framework and Google Chart Tools for Visualizing Software Evolution

Success Factors of Agile Software Development

Making Architectural Design Phase Obsolete TDD as a Design Method

Preliminary Course Syllabus

Map of Japan. Overview of Osaka University and Software Engineering Lab. Osaka University. Osaka University

An investigation on the software metrics to promote best practices for reliability improvement

Software Development Under Stringent Hardware Constraints: Do Agile Methods Have a Chance?

An Evaluation of Neural Networks Approaches used for Software Effort Estimation

Towards a new approach of continuous process improvement based on CMMI and PMBOK

Selecting a project management methodology

Development of a code clone search tool for open source repositories

Most Effective Communication Management Techniques for Geographically Distributed Project Team Members

Finding Code Clones for Refactoring with Clone Metrics : A Case Study of Open Source Software

AGILE SOFTWARE DEVELOPMENT: INTRODUCTION, CURRENT STATUS & FUTURE Pekka Abrahamsson Jyväskylä

A Case Study on Benefits and Side-Effects of Agile Practices in Large-Scale Requirements Engineering

A NEW APPROACH TO COMPONENT REUSE IN MULTI-SOFTWARE DEVELOPMENT PROJECT MANAGEMENT BY USING AN INFORMATION- CENTRIC PROJECT MODEL

Truly Managing a Project and Keeping Sane While Wrestling Elegantly With PMBOK, Scrum and CMMI (Together or Any Combination)

Blend Approach of IT Service Management and PMBOK for Application Support Project

A Systematic Review Process for Software Engineering

Social Networking and Collaborative Software Development

Product Derivation Process and Agile Approaches: Exploring the Integration Potential

Training for IT project managers and team leads

Project Management System Services

Program Title: Advanced Project Management Knowledge, Skills & Software Program ID: # Program Cost: $4,690 Duration: 52.

Planning, Deploying, and Managing an Enterprise Project Management Solution

maintainer a web-dashboard for R package maintainers

TeCReVis: A Tool for Test Coverage and Test Redundancy Visualization

ASAP Implementation Roadmap

Enterprise Portfolio Management

Selecting a Development Process. Agenda

Function Point Measurement from Java Programs

THE DEVELOPMENT OF A WEB BASED MULTIMEDIA INFORMATION SYSTEM FOR BUILDING APPRAISAL

Project management skills for engineers: industry perceptions and implications for engineering project management course

Agile Project Management

Empirical study of Software Quality Evaluation in Agile Methodology Using Traditional Metrics

Process-Based Business Transformation. Todd Lohr, Practice Director

IMEO International Mass Event Organization based on Recent Experience of Euro 2012

Statistical Analysis of Process Monitoring Data for Software Process Improvement and Its Application

CAPABILITY MATURITY MODEL INTEGRATION

Empirical study of software quality evolution in open source projects using agile practices

[project.headway] Integrating Project HEADWAY And CMMI

NATURAL SPI. Strategies for Implementing the CMMI Project Management Process Category

The Agile approach Extreme Programming (XP) Implementing XP into a software project Introducing HCI design into agile software development Summary

Job Satisfaction and Motivation in a Large Agile Team

Christof Ebert Reiner Dumke. Software Measurement. Establish - Extract - Evaluate - Execute. With 157 Figures and 50 Tables.

Continuous Integration with Jenkins. Coaching of Programming Teams (EDA270) J. Hembrink and P-G. Stenberg [dt08jh8

Software development productivity of Japanese enterprise applications

Microsoft Project Certifications

AACSB International Accounting Accreditation Standard A7: Information Technology Skills and Knowledge for Accounting Graduates: An Interpretation

Agile methods in European embedded software development organisations: a survey on the actual use and usefulness of Extreme Programming and Scrum

Agile methods in European embedded software development organisations: a survey on the actual use and usefulness of Extreme Programming and Scrum

SUBJECT-SPECIFIC CRITERIA

MANAGING AN ERP IMPLEMENTATION PROJECT USING BASIC SOFTWARE TOOLS AND WEB BASED SCHEDULING CONTROL

Barely Sufficient Software Engineering: 10 Practices to Improve Your Research CSE Software

An Initial Investigation of Test Driven Development in Industry

Knowledge Transfer Support Tool for R&D Project Management. - Linking Awareness-on-Project and Awareness-in-Project -

Software Quality Development and Assurance in RUP, MSF and XP - A Comparative Study

Supporting Time Planning Aligned with CMMI-DEV and PMBOK

Chapter 4. The IM/IT Portfolio Management Office

Experiences of Using Extreme Programming to Support a Legacy Information System Migration Project

Comparing Agile Software Processes Based on the Software Development Project Requirements

Adaptable Software Configuration Management: An Investigation on Australian Agile Software Development Organizations

EVALUATING SOFTWARE ENGINEERING PRACTICES IN PALESTINE

Agile Development Overview

Co-creative Project Management with Project Language

e-book-based Learning Analytics in University Education

Warehousing and Studying Open Source Versioning Metadata

Structuring Complexity Issues for Efficient Realization of Agile Business Requirements in Distributed Environments

TDWI strives to provide course books that are content-rich and that serve as useful reference documents after a class has ended.

Making Process Improvement Work

How To Manage Data In Real Time

Starting Date. *Special offer, a collection of rich materials and test simulation program. Trainers have 12+ years of experience

SaaS-Based ERP EXPLANNER for SaaS to Support the Growth of Enterprises

International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research)

Agile Modeling: A Brief Overview

Team Foundation Consulting. Training Workshops. Team Member Training User training designed to cater for specific roles within your team.

Extreme Programming In Global Software Development

Analytics for Software Project Management

Activity Mining for Discovering Software Process Models

Continuous Integration, Delivery and Deployment. Eero Laukkanen T Software Testing and Quality Assurance P

Industrial Application of Clone Change Management System

Software engineering: learning, employment and globalization

Does the Act of Refactoring Really Make Code Simpler? A Preliminary Study

An Oracle White Paper. December Cloud Computing Maturity Model Guiding Success with Cloud Capabilities

Course Outline. BUSN Project Management and Consulting Methods (3,0,0)

Certified Business Analysis. Professional (CBAP) version 3

ISO, CMMI and PMBOK Risk Management: a Comparative Analysis

Transcription:

EASE Project: Introducing Empirical Software Engineering into Japanese Industry Naoki Ohsugi Graduate School of Information Science, Nara Institute of Science and Technology Kansai Science City, 630-0192 Japan naoki-o@is.naist.jp Abstract In Japanese software development industry, there are few activities to objectively evaluate effectiveness or degree of improvement. The author believes empirical software engineering can solve this problem. This paper introduces an ongoing national project named EASE (Empirical Approach to Software Engineering). EASE project aims to introduce empirical approach into Japanese industry. This paper also explains Empirical Project Monitor, a tool for data collection and analysis. Discussion Topic: Empirical Software Engineering 1. Introduction Japanese software development industry has been searching methods and technologies to improve their development productivity and their products quality. Companies have actively tried to use them in their businesses. For example, process improvement programs such as Capability Maturity Model (CMMI) [1]; agile methods such as extreme Programming (XP) [2]; project management methods based on Project Management Body of Knowledge (PMBoK) [9]; and new implementation technologies such as Java and C#. Some practitioners voluntarily established user groups of the methods and technologies for learning and introducing them into the industry. However, there are few activities to objectively evaluate effectiveness or degree of improvement. There are lacks of discussion about the following topics; appropriate quantitative metrics for evaluating the improvement; procedure and tools for measuring these metrics; and, analysis methods of measured metrics. For example, when a company achieves CMMI capability maturity level 3, what are improved things with the process improvement program? If a group employs practices of XP, improvement effect of products quality is how large? Management skills of PMBoK users and seat-of-the-pants persons is how different? Few people can answer these questions with objective evidences observed in real development field. The author believes empirical software engineering (SE) can solve this problem. Empirical SE is concerned with the scientific measurement, both quantitative and qualitative, of software engineering process and product [6]. Establishment of framework to collect and analyze measured data (the so-called empirical data) allows practitioners to evaluate their improvement activities. For example, there were some success cases with empirical SE in cost modeling and estimation research

Figure 1. Interactions among stakeholders of EASE project area [3], [10]. This paper introduces an ongoing Japanese national project named EASE (Empirical Approach to Software Engineering). EASE project aims to introduce empirical SE into Japanese industry. In addition, this paper explains Empirical Project Monitor (EPM). EPM has been developed as a main product of the project, for collecting and analyzing empirical data. Section 2 describes an outline of EASE project. Chapter 3 summarizes features and usage of EPM. Chapter 4 gives outlooks on near future activities. 2. EASE project EASE project is based on the cooperation among industry, academia and government. MEXT, the Japanese Ministry of Education, Culture, Sports, Science and Technology is funding the project. Four companies and two universities are providing human resources playing the central roles in the project. These staffs share workspace everyday for accelerating discussions and teamwork. In addition, many associated companies and universities have been involved at some parts of the project. Originally, stakeholders of EASE project were not close to each other. They existed in industry and academia separately as shown in Figure 1. EASE project takes place between industry and academia to act as a bridge between them. Industry side stakeholders provide real field data and on-the-spot knowledge to the project members. They get objective evidence for evaluating effectiveness of their improvement activities, in return for a contribution. On the other hand, academia side stakeholders provide data analysis methods and scientific expertise to the projects. They get empirical data for observing and understanding phenomena. Activities of the project are classified into the following five categories: C1. Developing and distributing EPM, a tool for collecting quantitative data.

Figure 2. Process of data collection and analysis using EPM C2. Collecting empirical data from real software development project. C3. Analyzing collected data for observing and understanding phenomena. C4. Organizing workshops and study meetings for exchanging knowledge among practitioners and researchers. C5. Writing research papers for publishing observed phenomena and lessons learned. 3. EPM: Empirical Project Monitor EPM is a tool for collecting and analyzing empirical data. Process of data collection and analysis is shown as Figure 2. It is: 1. Practitioners use development tools for configuration management, mailing list management, and issue tracking. 2. EPM collects and stores usage histories of the tools as empirical data. 3. EPM analyzes the collected data with analysis modules such as time-series analysis and frequency analysis, Software Reliability Growth Model (SRGM) and Pareto chart [7]. 4. Researchers and project managers see the result of analysis with visualization feature of EPM. 5. Earned knowledge is exchanged among the researchers, project managers and practitioners. EPM has been developed by industry side staffs of EASE project as open source software *1. EPM developers have been carefully implementing EPM to make it easy to use in real software development. EPM is transparent to the practitioners because it runs as a background process. In fact, some practitioners were not aware of existence of EPM because a project manager did not tell them existence of EPM. Data were automatically collected without any troubles from the practitioners daily work. *1 http://empirical.jp/~epm/

4. Future work Currently, project members are exploring helpful analysis methods using collected empirical data. The data were collected from two large Japanese software development companies. These companies used EPM on trial in their businesses, and requested to put more many helpful analysis modules to EPM. Academia side staffs of EASE project have developed analysis methods such as logical coupling [4], code clone analysis [5] and collaborative filtering [8]. Usefulness of these methods will be experimentally evaluated using the collected data. Only methods which can pass strict review of all stakeholders will be implemented as analysis modules of EPM. Those modules must make EPM more useful. Of course, those modules will be available as open source software. Acknowledgement This work is supported by the EASE project *2, the Comprehensive Development of e-society Foundation Software program of the Ministry of Education, Culture, Sports, Science and Technology of Japan. I would like to thank to the practitioners of Hitachi Government and Public Corporation System Engineering Ltd. and Mitsubishi Space Software Co., Ltd. for contributing to data collection with EPM. References [1] Ahern, D.M., Clouse, A., and Turner, R., CMMI Distilled: A Practical Introduction to Integrated Process Improvement, Addison-Wesley, 2nd Edition, 2003. [2] Beck, K., Andres, C., Extreme Programming Explained: Embrace Change (XP), Addison-Wesley, 2nd Edition, 2004. [3] Boehm, B.W., Software Engineering Economics. Englewood Cliffs, Prentice-Hall, 1981. [4] Gall, H., Jazayeri, M., and Krajewski, J., CVS Release History Data for Detecting Logical Couplings, In Proc. of the 6th Intl. Workshop on Principals of Software Evolution (IWPSE 03), pp.13-23, 2003. [5] Higo, Y.,Kamiya, T., Kusumoto, S., and Inoue, K., Refactoring Support Based on Code Clone Analysis, In Proc. of the 5th Intl. Conf. on Product Focused Soft. Process Improvement (PROFES2004), pp.220-233, 2004. [6] Jeffery, D. R., and Scott, L., Has Twenty-five Years of Empirical Software Engineering Made a Difference?, In Proc. of the 9th Asia-Pacific Soft. Eng. Conf. (APSEC 2002), Gold Coast, Queensland, Australia, pp.539-546, December 2002. [7] Ohira, M., Yokomori, R., Sakai, M., Matsumoto, K., Inoue, K., and Torii, K. Empirical Project Monitor: A Tool for Mining Multiple Project Data, In Proc. of the Intl. Workshop on Mining Software Repositories (MSR2004), pp.42-46,2004. *2 http://www.empirical.jp/

[8] Ohsugi, N., Tsunoda, M., Monden, A., and Matsumoto, K., Effort Estimation Based on Collaborative Filtering, In Proc. of the 5th Intl. Conf. on Product Focused Soft. Process Improvement (PROFES2004), pp.274-286, 2004. [9] PMI Standards Committee, A Guide to the Project Management Body of Knowledge (PMBoK Guides), Project Management Institute, 3rd Edition, 2004. [10] Walkerden F., and Jeffery, D.R., Software Cost Estimation: A Review of Models, Process, and Practice, Advances in Computers, pp.59-125, 1997.