PSP PAIR: Automated Personal Software Process Performance Analysis and Improvement Recommendation César Barbosa Duarte Strongstep - Innovation in software quality Porto, Portugal cesar.duarte@strongstep.pt João Pascoal Faria INESC TEC and Department of Informatics Engineering, Faculty of Engineering, University of Porto Porto, Portugal jpf@fe.up.pt Mushtaq Raza Faculty of Engineering, University of Porto, Portugal and Abdul Wali Khan University Mardan Khyber Pukhtunkhwa, Pakistan uomian49@yahoo.com Abstract High-maturity software development processes, making intensive use of metrics and quantitative methods, such as the Personal Software Process (PSP) and the Team Software Process (TSP), can generate a significant amount of data that can be periodically analyzed to identify performance problems, determine their root causes and devise improvement actions. Currently, there are several tools that automate data collection and produce performance charts for manual analysis in the context of the PSP/TSP, but practically no tool support exists for automating the data analysis and the recommendation of improvement actions. Manual analysis of this performance data is problematic because of the large amount of data to analyze and the time and expertise required. Hence, we propose in this paper a performance model and a tool (named PSP PAIR) to automate the analysis of performance data produced in the context of the PSP, namely, identify performance problems and their root causes, and recommend improvement actions. The work presented is limited to the analysis of the time estimation performance of PSP developers, but is extensible to other performance indicators and development processes. Keywords- Personal Software Process; Software Process Improvement; Automated Data Analysis; Improvement Recommendation; Performance Model. I. INTRODUCTION Nowadays, software development professionals and organizations face an increasing pressure to produce high- quality software in a timely manner. The Personal Software Process (PSP) and Team Software Process (TSP) are examples of methodologies tailored to help individuals and teams improve their performance and produce virtually defect free software on time and budget [1]. One of the pillars of the PSP/TSP is its measurement framework: based on four simple measures (effort, schedule, size and defects) it supports several quantitative methods for project management, quality management and process improvement [2]. Software development processes that make intensive use of metrics and quantitative methods, such as the PSP/TSP, can generate a significant amount of data that can be periodically analyzed to identify performance problems, determine their root causes and devise improvement actions [3]. Currently, there are several tools that automate data collection and produce performance charts, tables and reports for manual analysis in the context of PSP/TSP [4][5][6][7] [8][9], but practically no tool support exists for automating the data analysis and the recommendation of improvement actions. There are also some studies that show cause-effect relationships among performance indicators [11][12], but no automated root cause analysis is proposed. The manual analysis of performance data for determining root causes of performance problems and devising improvement actions has important shortcomings: the amount of data to analyze may be overwhelming [13], the effort needed to do the analyzes is significant, and expert knowledge is required to do the analyses and devise the improvement actions. Hence, the goal of our research is to develop models and tools to automate the analysis of performance data produced in the context of high maturity development processes, namely, identify performance problems and their root causes and recommend improvement actions. For practical reasons, we limited the work presented in this paper to the automated analysis of time estimation performance in the context of the PSP, whilst at the same time providing a significant degree of extensibility for other PIs and development processes. The rest of the paper is organized as follows. Section II describes the performance model conceived for analyzing the time estimation performance of PSP developers. Section III presents the tool developed for automatically analyzing time estimation performance based on the previously defined model. Section IV presents an evaluation based on a case study. Section V concludes the paper with a summary of main achievements and points of future work.. II. PERFORMANCE MODEL FOR ANALYZING THE TIME ESTIMATION PERFORMANCE In this section we describe the performance model we conceived for enabling the automated analysis of the time