Alfonso Fuggetta Politecnico di Milano Dipartimento di Elettronica e Informazione P.za Leonardo da Vinci, 32 20133 Milano (Italy) Tel. +39-0223993623 Alfonso.Fuggetta@polimi.it
ABSTRACT Software process research deals with the methods and technologies used to assess, support, and improve software development activities. The field has grown up during the 80s toaddress the increasing complexity and criticality of software development activities. This paper aims to briefly present the history and achievements of software process research, some critical evaluation of the results produced so far, and possible directions for future work. 1 INTRODUCTION During the past 20 years, software has conquered an essential and critical role in our society. We increasinglydepend on the features and services offered through computerized systems. Any modern product or service embeds and/or exploits some piece of software. As an example, companies sell (or plan to sell in the near future) systems to automate building operations and to embed Internet-features into home appliances. Unfortunately, software applications are complex products that are difficult to developand test. Very often, software exhibits unexpected and undesired behaviors that may even cause severe problems and damages. Every issue of the ACM Software Engineering Notes, a newsletter published by the ACM SIGSOFT interest group, contains a section that presents a comprehensive (and also frightening) report of the problems and accidents caused by software systems faults. For these reasons,researchers and practitioners have been paying increasing attention to understanding and improving the quality of the software being developed. This is accomplished through a number of approaches and techniques. One of the main directions pursued by researchers and practitioners is centered on the study and improvement of the process through which software is developed. The underlying assumption isthat there is a direct correlation between the quality of the process and the quality of the developed software. The research area that deals with these issues is referred to using the term software process. As an autonomous discipline, the software process area was started in the 80s, through a series of workshops and events (in particular, the International Software Process Workshop). Alongthe years, new events and journals on the subject have been started, such as the European Workshop on Software Process Technology and the Software Process – Improvement and Practice journal. Important institutions have been created in the USA and in Europe to study software processes: the Software Engineering Institute (SEI, Pittsburgh, USA) and the European Software Institute (ESI, Bilbao, Spain).Even standardization organizations have started important efforts centered on software processes. For example, ISO has created two important standards such as the ISO 12207 (software lifecycle activities) and 15504 (software process capability determination). This paper aims to critically present and discuss the main results that the software process research area has achieved in the pastdecades. This is accomplished by evaluating both technological and methodological aspects. Indeed, there are other publications that offer a comprehensive overview of the results achieved so far in software process research (see for example , , and ). For this reason, the focus of this paper is on offering a critical evaluation of the attitude and modes of the research work conducted so far.Accordingly, the paper is structured in three sections. !" Section 2 presents a quick overview of the history and achievements of the software process research areas. !" Section 3 presents a critical evaluation of the work accomplished so far. !" Section 4 summarizes some possible directions for future work. !" Finally, Section 5 draws some conclusions.
A BRIEF OVERVIEW PROCESS RESEARCH...