Project Management and Agile Methodologies: A Survey

11 downloads 226801 Views 153KB Size Report
tion of Agile Methodologies (AMs) in a set of software companies from the ... The updated Standish Group study, conducted in 2000, identified 10 software suc-.
Project Management and Agile Methodologies: A Survey Michela Dall’Agnol, Alberto Sillitti, and Giancarlo Succi Center for Applied Software Engineering Free University of Bozen I-39100 Bolzano, Italy {mdallagnol, asillitti, succi}@unibz.it

Abstract. This paper examines analogies and differences derived by the adoption of Agile Methodologies (AMs) in a set of software companies from the point of view of project management techniques. Data come from questionnaires filled in by twenty-one managers. The analysis of these questionnaires shows that managers using AMs focus on people and process more than the other managers do. The adoption of AMs seems to be a good starting point for improving software development and customer satisfactory.

1 Introduction Surveys covering over 8000 projects [1] indicate that the major sources of software project failure lies less with shortfalls in formal methods skills and more with shortfalls in skills to deal with stakeholder value propositions. Five of the top six reasons of failure are related to communications among developers and customers [2]. The updated Standish Group study, conducted in 2000, identified 10 software success factors. The second most important factor is user involvement and the third is experienced project manager. This means that many projects fail due issues related to people and project management rather than technical [3]. Several recent studies [4] indicate that project managers are learning how to become more successful at managing IT projects. The aim of this work is the investigation of the main problems in software development and the adopted solutions from the point of view of managers. The investigation is based on 21 interviews with software managers. We adopt the Petroski’s views [5]: analyze the causes of failures can do more to advance knowledge than all the successes in the word. The main goal is to find out differences and analogies in software management techniques derived by the adoption of Agile Methodologies (AMs) and their effectiveness in the improvement of the software production. This paper is organized as follows: section 2 and subsections describe the structure of the research activity performed; section 3 shows the analysis of the data; finally, section 4 draws the conclusions.

J. Eckstein and H. Baumeister (Eds.): XP 2004, LNCS 3092, pp. 223–226, 2004. © Springer-Verlag Berlin Heidelberg 2004

224

M. Dall’Agnol, A. Sillitti, and G. Succi

2 The Structure of the Investigation 2.1

Design of the Experimentation

This research can be classified as a pre-experimental design, according to classification of Campbell and Stanley [6], in particular it is a statistic group comparison. The study considers two groups of managers: the former using AMs and the latter not using them. The adoption of AMs is the experimental variable, the effects of which have been measured. Interviewees have been selected among managers involved in the NAME project (Network for Agile Methodologies Experience) [7] or other projects of the Center for Applied Software Engineering of the Free University of Bozen. The pre-experimental design has two limits. The former deals with the selection: the two groups could be affected by how the two groups have been selected; in particular, the involvement in the NAME project could have influenced managers. The latter limit is the mortality: some differences in groups are due to the lack of answers to the questionnaire. This limit does not affect the data collection because all the managers have filled in the questionnaire. Table 1. Main topics of the questionnaire

1. 2. 3. 4. 5. 6. 7. 8.

Firm’s general information Main software problems Planning and organization of the software development process Relationship with customers Planning and feasibility of a project Developer’s characteristics Agile Methodologies Firm and interviewee’s personal data

2.2 The Questionnaire Questionnaires are always subject to loss of information and lack of integrity of the collected data [8]. A typical solution to these problems is the collection of massive number of questionnaires [9]. The questionnaire is intended for managers of software companies, whose time and availability is usually very limited. For this reason, a low number of respondents was expected. The questionnaire has been built according to the psychological criteria of Converse and Presser [9] and its soundness has been checked according to the principles of Marbach [8]. The questionnaire consists of four parts: 1. the first analyzes the interviewee’s status, main problems in software development and the adopted solutions;

Project Management and Agile Methodologies: A Survey

225

2.

the second deals with the planning and the organization of the software development process; 3. the third evaluates the relationship with the customer; 4. finally, the fourth assesses the knowledge, the actual use of AMs and the vantages and disadvantages of their use. It includes several multi choice questions alternated with some open questions. Topics included in the questionnaire are listed in Table 1.

3 Analysis of the Result All the companies interviewed have been exposed to changes in their software production process. The motivations are clear: 43% because of changes in customer requirements, 48% because of technological changes, and 9% because of failure with the previous software development process. According to 71% of the managers, delivering software with all functionalities in time is the main problem in software development. There is no significant correlation between the main problems in software development and the adoption of AMs in the software process. A survey, made by the Standish Group on 8000 projects in the 1999, shows the same result: only 26% of the development projects were completed on time, on budget, and with all the originally specified functionalities. Most of managers focus on process and people in order to improve the performance of the company, according to the results of Standish Group [1] and Thomsett [3]. For the managers that are using AMs, an improvement in the software development planning produces also an improvement in the customer satisfaction. This result is in accordance to the principles of the Agile Methodologies [10]. AMs highlight the importance of planning and organization in projects. The adoption of AMs is correlated with the importance of teamwork. The importance of high individual abilities is negatively correlated with the adoption of AMs and with the importance of teamwork. These results are in accordance to Schumpeter’s principles [11]: innovations are new combinations of existing knowledge and incremental learning. The sharing of knowledge facilitates the transfer of knowledge within a group and it makes easier the development of new ideas. These results are also in accordance to the principles of AMs [10], Thomsett [3], and to the outcomes of the Standish Group [1]. AMs consider teamwork, in particular pair programming, essential in software development in order to improve the communication and the transfer of knowledge within the organization. Interviewed managers have adopted several solutions to improve developers’ skills, such as continuous training, regular communication, and involvement.

226

M. Dall’Agnol, A. Sillitti, and G. Succi

4 Conclusions and Further Research This paper is a first analysis of the differences and the analogies derived by the adoption of AMs in twenty-one software companies from the point of view of project management. Methods used to improve software are different but most of the managers adopt solutions focused on people and process. AMs focus on people in a number of different ways, this orientation is also confirmed in the collected data. The correlation between the adoption of AMs and the preference for teamwork among developers is another good strategy based on people. Teamwork is useful to improve knowledge transfer, communication and coordination within an organization. Knowledge sharing within a group makes easier its transfer and the development of new ideas. The analysis presented in this paper is a quite preliminary one and further investigation is required. Acknowledgements. We would like to thank the interviewed software managers for their useful help in our research.

References [1]

J. Johnson, “Turning Chaos into Success”, Software Magazine, Dec. 1999, pp. 30-39, available at http://www.softwaremag.com/archive/L.cfm?Doc=archive/1999dec/ [2] B.B. Boehm, “Six Reasons for Software Project Failure”, IEEE Software, Sep. 2002, pp. 97. [3] R. Thomsett, Third Wave Project Management upper Saddle River, Yourdon Press, NY, 1993. [4] D. Philips The Software Project Manager’s Handbook Principlea that Work at Work, IEEE Computer Society Press, 1998. [5] H. Petroski, To Engineer is Human: The Role of Failuer in Successful Design, Vintage Books of Random House, Inc., New York, 1992. [6] D. T.Cambell and J. C. Stanley, Experimental and quasi-experimental designs for research, Houghton Mifflin Company, Boston, 1966. [7] NAME project – website: http://name.case.unibz.it/ [8] G. Marbach, Le Ricerche di Mercato, Utet, Torino, 1996. [9] J. M. Converse and S. Presser, Survey Questions: Handcrafting the Standardized Questionnaire, Sage, Beverley Hills, 1986. [10] K. Beck, Extreme Programming Explained, Addison Wesley, Amsterdam, 2000. [11] J. Schumpeter, The Theory of Economic Development, MA: Harvard University Press, Cambridge, (published in 1911; republished in 1968).