Monday, November 19, 2012

The distributed open source software development model: observations on communication, coordination and control

Bj¨orn Lundell, Brian Lings, P¨ar J. ˚Agerfalk, and Brian Fitzgerald. The distributed open source software development model: observations on communication, coordination and control. In ECIS, pages 683–694, 2006.



View the paper here.
View the presentation here.

Abstract


Global Software Development model is becoming increasingly popular due to various reasons like reduced cost, diverse labour-pool, “follow-the-sun” work approach etc. Instead of these advantages, GSD suffers from disadvantages arising from its’ complexity of communication, co-ordination and control. These three factors are difficult to manage in centralized software development itself. In case of GSD, the difficulty increases multi-fold due to three main parameters – temporal distance, spatial distance and socio-cultural distance. Now when we consider open source software development (OSS), it is distributed in nature and some projects are highly successful. For this reason, maybe we can learn lessons from OSS regarding the practices employed, and use the successful practices in GSD and improve GSD approach. In this paper, the author compares GSD with OSS using a framework-based model and finds out that the advantages of temporal and geographical distance dominates OSS instead of disadvantages. Also, active developer selection reduces the socio-cultural distance issue. These advantages are difficult to achieve in GSD, as in GSD project goals dominate instead of personal goals, which is opposite to that of OSS.

Discussions


To begin with, from this paper we learnt the definition of GSD – its’ advantages and disadvantages. There are three parameters in software development project – communication, co-ordination and control. These parameters are affected by three dimensions – temporal distance, geographical distance and socio-cultural distance. When a software development project contains all three distances, the project is Global Software Development project. There are many advantages of GSD, primarily low cost, diverse labour-pool and round the clock project development. In spite of these advantages, GSD suffers from disadvantages with respect to communication, co-ordination and control due to temporal, geographical and socio-cultural distances. 

In GSD there is reduced opportunity for synchronous communication, which introduces delayed feedback. Cost of communication and logistics is increased. There is high potential for misunderstandings during communication. Coordination cost increases with distance and increase in size of labour-pool and diverse skill-set can make the process of coordination complicated. Due to temporal distance, management control maybe delayed, and due to geographical distance, it may be difficult to convey managerial vision. Also, different perception of authority may damage morale. 

On the other hand, in case of OSS, asynchronous communication helps to create collaborative environment. As developers are the users, geographical distance does not affect communication much as the community is highly motivated and creates a self-sustaining environment. Highly modular, plug-in style software architecture reduces the need for coordination as each module and plug-in are self-sufficient. Project goal is shared with all OSS participants and using similar coordination environment (like sourceforge) improves the coordination process. Control is maintained mainly through commit process. There is mechanism to identify non-active key member. As the project goal is developer’s own goal, there is no interest-forking like in case of GSD where the developers are paid to sacrifice their freedom to do the work that interests them the most and do the less interesting and sometimes tedious work. 

Finally, it is observed that asynchronous informal communication is more effective than synchronous formal communication. Unified collaborative environment helped reduce mistrust and improve coordination. As the developers are users in the OSS, they are highly motivated to make the project successful. 



This paper creates a structured definition of GSD based on temporal, geographical and socio-cultural distance and discusses advantages and disadvantages of GSD based on the three parameters – communication, coordination and control. The authors used existing framework to evaluate parameters of GSD to create similar evaluation of open source software development. The paper is innovative in the sense that, it noted the OSS process and compared it with GSD process and tried to discuss to differences between the two. Open source software development is distributed in nature and there are highly successful projects like Mozilla, Apache etc. In spite of its’ distributed nature, many OSS projects are successful – there must be some reason for it. This paper tries to find out the best practices in OSS that are the reason for this success, and explore the possibilities of incorporating those practices in GSD to for GSD process improvement and overcome or somehow reduce negative effects of GSD. 

Although the idea is good, I do not think in present GSD scenario it is completely possible to implement these practices. For example, even though asynchronous communication helps OSS, the organization practicing GSD may not agree to incorporate complete asynchronous communication process in their project. Also unlike OSS where developers are the users and that is why they are highly motivated, it is not possible in GSD that always developers are the users. Hence motivation factor will remain low. Even though salary helps motivation, it cannot motivate as much as trying to achieve self-goal. In OSS developers can leave the development process if they are not interested and someone else takes the place. It is not possible in case of GSD – developers cannot leave just because they are not interested. 

These positive attributes cannot be implemented at present time, but maybe in future, the GSD process will change and organizations will see value in these successful practices of OSS and incorporate them in to their organizations. 

No comments:

Post a Comment