Monday, November 19, 2012

Configuring global software teams: a multi-company analysis of project productivity, quality, and profits

Narayan Ramasubbu, Marcelo Cataldo, Rajesh Krishna Balan, and James D. Herbsleb. Configuring global software teams: a multi-company analysis of project productivity, quality, and profits. In Proceedings of the 33rd International Conference on Software Engineering, ICSE ’11, pages 261–270, New York, NY, USA, 2011. ACM.


View the paper here.
View the presentation here.

Abstract


In this paper the authors explores the impact of project-level configurational choices of globally distributed software development teams in terms of project quality, productivity and profit. They used data from 362 projects taken from four different firms. The projects used different programming languages, application domains and process choices. The development sites were spread across 15 countries and 5 continents. Through the analysis, it was discovered that there are fundamental trade-offs in choosing configurational choices which optimize product quality, productivity and profit. For example, certain configurational choices improve productivity, but the same choices decrease quality. It was also revealed from the analysis that creating imbalances in terms of expertise and personnel distribution of project teams contributes in increases project profit and productivity significantly. The authors of the paper analyze these complicated trade-offs, and provides managerial insights in configurational choices to attain desired outcome with respect to productivity, quality and profit. 


Discussions


The paper explores the Impact of project-level configurational choices of globally distributed software teams on project productivity, quality, and profits. Configurational characteristics of distributed software teams refers to the structural properties of the geographic dispersion and accounts for the different ways in which the developers are dispersed, in addition to the well-studied time zone and distance measures (i.e., the spatio-temporal characteristics). Geographic dispersion is a multi-dimensional construct with each dimension having distinct implications for the psychological, social, and organizational processes that underlie individuals’ ability and willingness to adequately communicate, coordinate, and collaborate [key-4, key-5, key-6]. Nature of dependencies and the ways in which developers are dispersed across the development locations is significantly more detrimental to quality than the impact of time zone separation. 

To answer the research questions, the authors developed a mathematical model based on gathered data. They defined productivity, quality and profit as ratio of different project-related parameters. They also defined units for dispersion measurement and control measurement. From the analysis, it was derived that as firms distribute their software development across longer distance (and time zones) they benefit from improved project level productivity. Increase in personnel imbalance, no. of sites and separation dispersion improves productivity, whereas increase in experience imbalance decreases productivity. Quality displays complete opposite traits, i.e. increase in personnel imbalance, no. of sites and separation dispersion decreases quality, whereas increase in experience imbalance improves quality. Project profit shows a mixed trait – increase in personnel imbalance, experience imbalance and separation dispersion improves profit, but increase in no. of sites decrease profit. Locally tailored, agile, and iteration-oriented software process models are associated with improved productivity outcomes whereas highly structured and plan-based models are associated with improved quality outcomes. 

From these results, we can conclude that improving productivity will most probably increase profit, but it will definitely decrease quality. The managers need the take decision with respect to configurational choices so that he most desirable outcome is achieved. Teams that are originally configured to boost quality (e.g., lower spatio-temporal dispersion and personnel imbalances), could adopt a shorter planning range and more frequent release cycles in order to improve their productivity. Teams that are originally configured for high productivity (e.g., larger spatio-temporal dispersion and experience spreads across locations) could boost quality and eventually profitability by incorporating structured processes and more disciplined planning.



This paper is a continuation of the third paper presented by Prasad (Narayan Ramasubbu and Rajesh Krishna Balan. Globally distributed software development project performance: An empirical analysis. In ESEC-FSE’07, Cavtat, Croatia, September 2007. ACM). The authors are gradually developing a robust mathematical model for quantitative evaluation of project productivity, quality and profit for globally distributed software development. I believe that this method has a large scope and the organizations can use the mathematical model to evaluate their project, and based on the results, take decision to maximize desired outcome by taking into considerations the relevant trade-offs.

However, this paper considers dependencies at the team level and not in architectural or code level, which has significant impacts on the productivity and quality. For example, appropriately modular code can improve productivity and quality. In addition, the data gathered by the authors showed high correlation between temporal and geographical distances, so they considered only geographical distance in the analysis. The combined effect of relative changes in these two parameters on GSD is not discussed in the paper. Furthermore, the authors have not considered the impact of social and cultural distances. Finally, they have not discussed dynamic change of project parameters during development process. 

Irrespective of these issues, the methods described in the paper is very much useful in real-world project scenario and provides a robust framework for evaluation of effects of parameters of GSD on quality, productivity and profit of the project.  

No comments:

Post a Comment