Towards an Integrated Personal Software Process and Team Software Process Supporting Tool

Towards an Integrated Personal Software Process and Team Software Process Supporting Tool

Ho-Jin Choi (Korea Advanced Institute of Science and Technology, South Korea), Sang-Hun Lee (Korea Advanced Institute of Science and Technology, South Korea), Syed Ahsan Fahmi (Korea Advanced Institute of Science and Technology, South Korea), Ahmad Ibrahim (Korea Advanced Institute of Science and Technology, South Korea), Hyun-Il Shin (Korea Advanced Institute of Science and Technology, South Korea) and Young-Kyu Park (Korea Advanced Institute of Science and Technology, South Korea)
DOI: 10.4018/978-1-4666-4301-7.ch038
OnDemand PDF Download:
$37.50

Abstract

Personal Software Process (PSP) and Team Software Process (TSP) have been developed and used to help individual developers and teams make high-quality products through improving their personal and team software development processes. For the PSP and TSP practices, data collection and analysis of software metrics need to be done at fine-grained levels. These tasks are not trivial, requiring tool support. This chapter aims to discuss issues to building such a tool, and introduce our on-going endeavor towards an integrated PSP and TSP supporting tool. In particular, features of sensor-based automated data collection for PSP, utilization of Six Sigma techniques into PSP and TSP activities, and incorporation of electronic process guide will be paid attention.
Chapter Preview
Top

Introduction

Continuous process improvement has been regarded as a solid solution to make high-quality products at the personal and team levels as well as at the project and organization levels. The Personal Software Process (PSP) was developed to help individual developers make high-quality products through improving their personal software development processes. PSP provides a set of methods and practices to assist individual software developers to improve product and process quality such as defined and measurable process, size and effort estimation based on historical data, code and design review, precise designs, process quality measures, detailed plan, and earned value tracking. The Team Software Process (TSP) guides team members and managers in applying process principles to consistently produce high-quality products on planned schedule at the team level. In particular, the TSP, along with the PSP, supports process improvement in small organizations which have difficulty in applying the so-called “heavy” process as defined by the Capability Maturity Model Integration (CMMI) because of limited resources to adopt CMMI. Among these methods and practices, the measurement and analysis is a central and core practice in identifying process deficiencies and providing a focus on process improvements. Sets of historical project data are used to make a reliable estimate on effort and quality.

While the PSP was proved to be an effective way to improve the accuracy of effort estimation and to reduce defects (Abrahamsson & Kautz, 2002; Hayes & Over, 1997; Prechelt & Unger, 2001) the manual, paper-based data recording and process guide has been recognized as the major barriers in using the PSP process (Disney & Johnson, 1998; Johnson et al., 2003). Due to the high-overhead and context-switching problems of manual data recording, developers have difficulties in acquiring reliable data, which can lead to misguided analysis results. These problems can be overcome through an automated tool for collecting the PSP data and analyzing the collected data. Since an automated tool cannot collect all necessary data, however, manual data recoding should still be supported as well because data errors can be decreased to a few items. To help developers collect more reliable and necessary data, it is therefore required to develop a tool that can support both automated and manual data collection activities. One of the research objectives in this chapter is to investigate ways to automate the data collection activities to support the PSP. To address the problems of context switching and recording overhead which exists in the manual, time-log recording technique as suggested by the original PSP, we have developed a PSP supporting tool, called Jasmine, which uses various software sensors built in the integrated development environment (IDE) to collect data semi-automatically. Then, we have further investigated a way to utilize speech sensor and other information to collect and reason about activity times, which is a crucial step to PSP time recording.

Complete Chapter List

Search this Book:
Reset