Global Software Engineering
- Original Paper
- Open access
- Published:
A multi-criteria distribution model for global software development projects
Journal of the Brazilian Computer Society volume 16, pages 97–115 (2010)
Abstract
The allocation of development tasks to sites is one of the most important activities in the management of global software development projects. Its various influences on the risks and benefits of distributed projects require careful consideration of multiple allocation criteria in a systematic way. In practice, however, work is often allocated based on only one single criterion such as cost, and defined processes or algorithms for task allocation are typically not used. Existing research approaches mainly focus on selected aspects such as the minimization of cross-site communication and are difficult to adapt to specific environments. This article presents a customizable multi-criteria model for task allocation in global software development projects. Based on an analysis of the state of the practice, a set of requirements was derived and used for evaluating existing task allocation models from different domains. The Bokhari algorithm was identified as a suitable starting point and modified with respect to the fulfillment of the requirements. The modification includes the development of mechanisms for customization, the incorporation of cause-effect relationships, and the use of probabilistic modeling of uncertainty with Bayesian networks. The application of the model is demonstrated in different scenarios that represent typical hypothetical and real distribution decision problems in industrial contexts. Experience from applying the model to such problems has shown, for instance, that depending on the weight of different criteria, very different task distributions will result. This demonstrates, in consequence, the need for systematic multi-criteria task allocation support in global software development.
References
Herbsleb JD, Moitra D (2001) Guest editors’ introduction: Global software development. IEEE Softw 18(2):16–20. doi:10.1109/52.914732
Damian D, Moitra D (2006) Global software development: How far have we come? IEEE Softw 23(5):17–19. doi:10.1109/MS.2006.126
Herbsleb JD, Grinter RE (1999) Splitting the organization and integrating the code: Conway’s law revisited. In: Proceedings of the 21st international conference on software engineering, pp 85–95
Krishna S, Sahay S, Walsham G (2004) Managing cross-cultural issues in global software outsourcing. Commun ACM 47(4):62–66. doi:10.1145/975817.975818
Casey V (2009) Leveraging or Exploiting Cultural Difference? In: Proceedings of the fourth IEEE international conference on global software engineering, pp 8–17. doi:10.1109/ICGSE.2009.9
Chua AL, Pan S (2006) Knowledge transfer in offshore insourcing. In: Proceedings of the 27th international conference on information systems, pp 1039–1053
Sakthivel S (2007) Managing risks in offshore systems development. Commun ACM 50(4):69–75. doi:10.1145/1232743.1232750
Herbsleb JD, Mockus A, Finholt TA, Grinter RE (2001) An empirical study of global software development: distance and speed. In: Proceedings of the 23rd international conference on software engineering, pp 81–90. doi:10.1109/ICSE.2001.919083
Casey V, Richardson I (2006) Uncovering the reality within virtual software teams. In: International conference on software engineering, Proc of the international workshop on global software development for the practitioner, pp 66-72. doi:10.1145/1138506.1138523
Fabriek M, Brand M, Brinkkemper S, Harmsen F, Helms RW (2008) Reasons for success and failure in offshore software development projects. In: European conference on information systems, pp 446–457
Carmel E, Abbott P (2007) Why ‘nearshore’ means that distance matters. Commun ACM 50(10):40–46. doi:10.1145/1290958.1290959
Seshagiri G (2006) GSD: Not a business necessity, but a march of folly. IEEE Softw 23(5):63f. doi:10.1109/MS.2006.138
Betz S, Mäkiö J (2007) Amplification of the COCOMO II regarding offshore software projects. Workshop on offshoring of software development-methods and tools for risk management at the second international conference on global software engineering, pp 33–46
Herbsleb JD (2007) Global software engineering: The future of socio-technical coordination. In: Proceedings of the future of software engineering, FOSE 2007, pp 188–198. doi:10.1109/FOSE.2007.11
Prikladnicki R, Yamaguti MH (2004) Risk management in global software development: a position paper. In: International conference on software engineering, Proc of the third international workshop on global software development, pp 18–20
Edwards HK, Kim JH, Park S, Al-Ani B (2008) Global software development: project decomposition and task allocation. In: International conference on business and information (BAI2008) Academy of Taiwan Information Systems Research. ISSN:1729-9322
Raffo D, Setamanit S (2005) A simulation model for global software development project. In: The international workshop on software process simulation and modeling
Bass M, Paulish D (2004) Global software development process research at Siemens. In: International conference on software engineering, Proc third International workshop on global software development, pp 8–11
Keil P, Paulish DJ, Sangwan R (2006) Cost estimation for global software development. In: International workshop on economics driven software engineering, pp 7–10. doi:10.1145/1139113.1139117
Lamersdorf A, Münch J (2009) TAMRI: a tool for supporting task distribution in global software development projects. In: International workshop on tool support development and management in distributed software projects, Proceedings of the fourth international conference on global software engineering, pp 322–327. doi:10.1109/ICGSE.2009.50
Mockus A, Weiss DM (2001) Globalization by chunking: a quantitative approach. IEEE Softw 18(2):30–37. doi:10.1109/52.914737
Lamersdorf A, Münch J, Rombach D (2008) Towards a multi-criteria development distribution Model: an analysis of existing task distribution approaches. In: Proceedings of the third international conference on global software development, pp 109–118. doi:10.1109/ICGSE.2008.15
Lamersdorf A, Münch J, Rombach D (2009) A survey on the state of the practice in distributed software development: criteria for task allocation. In: Proceedings of the fourth international conference on global software engineering, pp 41–50. doi:10.1109/ICGSE.2009.12
Lamersdorf A, Münch J, Rombach D (2009) A decision model for supporting task allocation processes in global software development. In: Proceedings of the 10th international conference on product focused software development and process improvement, pp 332–346. doi:10.1007/978-3-642-02152-7_25
Seaman C (2008) Qualitative methods. In: Shull F et al. (eds) Guide to advanced empirical software engineering. Springer, Heidelberg, pp 35–62
Grinter RE, Herbsleb JD, Perry DE (1999) The geography of coordination: dealing with distance in R&D work. In: Proceedings ACM conference on supporting group work, pp 306–315. doi:10.1145/320297.320333
Westner MK, Strahringer S (2008) Evaluation criteria for selecting offshoring candidates: an analysis of practices in German businesses. J Inf Technol Manage 19(4):16–34
Mullick N, Bass M, Houda Z, Paulish DJ, Cataldo M, Herbsleb JD, Bass, L (2008) Siemens global studio project: experiences adopting an integrated GSD infrastructure. In: Proceedings first international conference on global software engineering, pp 203–212. doi:10.1109/ICGSE.2006.261234
Raghvinder S, Bass M, Mullick N, Paulish DJ, Kazmeier J (2006) Global software development handbook. Auerbach Publications, London
Madachy R (2007) Distributed global development parametric cost modeling. In: Proceedings international conference on software process, pp 159–168. doi:10.1007/978-3-540-72426-1_14
Boehm B, Abts C, Brown A, Chulani S, Clark B, Horowitz E, Madachy R, Reifer D, Steece B (2000) Software cost estimation with COCOMO II. Prentice-Hall, New Jersey
Sooraj P, Mohapatra PKJ (2008) Developing an Inter-site Coordination Index for Global Software Development. In: Proceedings of the third international conference on global software development, pp 119–128. doi:10.1109/ICGSE.2008.30
Setamanit S, Raffo D (2008) Identifying key success factors for globally distributed software development project using simulation: a case study. In: International proceedings conference on software process, pp 320–332. doi:10.1007/978-3-540-79588-9_28
Setamanit S, Wakeland WW, Raffo D (2007) Using simulation to evaluate global software development task allocation strategies. Softw Process Improv Pract 12(5):491–503. doi:10.1002/spip.v12:5
Fenton N, Marsh W, Neil M, Cates P, Forey S, Tailor M (2004) Making resource decisions for software projects. In: Proceedings of the 26th international conference on software engineering, pp 397–406
Cheng M, Wang W (1997) A linear programming model for integrated steel production and distribution planning. Int J Oper Prod Manag 17(6):592–610
MA Cohen, Moon S (1991) An integrated plant loading model with economies of scale and scope. Eur J Oper Res 50(3):266–279
Fleischmann B, Ferber S, Henrich P (2006) Strategic planning of BMW’s global production network. Interfaces 36(3):194–208
Bokhari SH (1981) A shortest tree algorithm for optimal assignments across space and time in a distributed processor system. IEEE Trans Softw Eng 7(6):583–589. doi:10.1109/TSE.1981.226469
Amir Y, Awerbuch B, Barak A, Borgstrom RS, Keren A (2000) An opportunity cost approach for job assignment in a scalable computing cluster. IEEE Trans Parallel Distrib Syst 11(7):760–768. doi:10.1109/71.877834
Chu WW (1969) Optimal file allocation in a multiple computer system. IEEE Trans Comput 18(10):885–889. doi:10.1109/T-C.1969.222542
Ben-Gal I (2007) Bayesian networks. In: Ruggeri F, Kenett R, Faltin F (eds) Encyclopedia of statistics in quality and reliability. Wiley, New York
Fenton N, Hearty P, Neil M, Radliński Ł (2009) Software project and quality modelling using Bayesian networks. In: Meziane F, Vadera S (eds) Artificial intelligence applications for improved software engineering development: new prospects. Information Science Reference, pp 223–231
Pai GJ, Dugan JB (2007) Empirical analysis of software fault content and fault proneness using Bayesian methods. IEEE Trans Softw Eng 33(10):675–686. doi:10.1109/TSE.2007.70722
Treinen JJ, Miller-Frost SL (2006) Following the sun: case studies in global software development. IBM Syst J 45(4):773–783
Cozman FG (2001) JavaBayes—Bayesian networks in Java. http://www.cs.cmu.edu/~javabayes/ Retrieved at 09-15-08
Flanagan MT (2008) Java Scientific Library. http://www.ee.ucl.ac.uk/~mflanaga/java/ Retrieved at 09-16-08
Ebert C, De Neve P (2001) Surviving global software development. IEEE Softw 18(2):62–69. doi:10.1109/52.914748
Battin RD, Crocker R, Kreidler J, Subramanian K (2001) Leveraging resources in global software development. IEEE Softw 18(2):70–77. doi:10.1109/52.914750
Lindqvist E, Lundell B, Lings B (2006) Distributed development in an intra-national, intra-organizational context: an experience report. In: International conference on software engineering, Proc international workshop on global software development for the practitioner, pp 80–86. doi:10.1145/1138506.1138525
Heeks R, Krishna S, Nicholson B, Sahay S (2001) Synching or sinking: global software outsourcing relationships. IEEE Softw 18(2):54–60. doi:10.1109/52.914744
Kobitzsch W, Rombach HD, Feldmann RL (2001) Outsourcing in India. IEEE Softw 18(2):78–86. doi:10.1109/52.914751
Alami A, Wong B, McBride T (2008) Relationship issues in global software development enterprises. J Glob Inf Technol Manag 11(1):49–68
Gareiss R (2002) Analyzing the outsourcers. Information Week, Nov. 18, 2002
Kommeren R, Parviainan P (2007) Philips experiences in global distributed software development. Empir Softw Eng 12(6):647–660. doi:10.1007/s10664-007-9047-3
DeLone W, Espinosa JA, Lee G, Carmel E (2005) Bridging global boundaries for IS project success. In: Proceedings 38th Hawaii international conference on system sciences 48:2. doi:10.1109/HICSS.2005.126
Pilatti L, Audy J, Prikladnicki R (2006) Software configuration management over a global software development environment: lessons learned from a case study. In: International conference on software engineering, Proc international workshop on global software development for the practitioner, pp 45–50. doi:10.1145/1138506.1138517
Smite D, Moe NB (2007) Understanding lacking trust in global software teams: a multi-case study. In: Proceedings international conference on product focused software development and process improvement, pp 20–34. doi:10.1007/978-3-540-73460-4_6
Ramasubbu N, Balan RK (2007) Globally distributed software development project performance: an empirical analysis. In: Proceedings of the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on the foundations of software engineering, pp 125–134. doi:10.1145/1287624.1287643
Smite D (2004) Global software development project management—distance overcoming. In: European conference on software process improvement, pp 23–33. doi:10.1007/b102170
Oza NV, Hall T (2005) Difficulties in managing offshore software outsourcing relationships: an empirical analysis of 18 high maturity Indian software companies. J Inf Technol Case Appl Res 7(3):25–41
Komi-Sirvio S, Tihinen M (2005) Lessons learned by participants of distributed software development. Knowl Process Manag 12(2):108–122
Herbsleb JD, Paulish DJ, Bass M (2005) Global software development at Siemens: experience from nine projects. In: Proceedings international conference on software engineering, pp 524–533. doi:10.1145/1062455.1062550
Espinosa A, Slaughter SA, Kraut RE, Herbsleb JD (2007) Familiarity, complexity, and team performance in geographically distributed software development. Organ Sci 18(4):613–630. doi:10.1287/orsc.1070.0297
Herbsleb JD, Mockus A (2003) An empirical study of speed and communication in globally-distributed software development. IEEE Trans Softw Eng 29(6):481–494. doi:10.1109/TSE.2003.1205177
Espinosa JA, Nan N, Carmel E (2007) Do gradations of time zone separation make a difference in performance? A first laboratory study. In: Proceedings second international conference on global software engineering, pp 12-22. doi:10.1109/ICGSE.2007.20
Carmel E (1997) The explosion of global software teams. Computerworld 31(49):C6
Gurung A, Prater E (2006) A research framework for the impact of cultural differences on IT outsourcing. J Global Inf Technol Manag 9(1):24–43
Carmel E, Agarwal R (2001) Tactical approaches for alleviating distance in global software development. IEEE Softw 18(2):22–29. doi:10.1109/52.914734
Herbsleb JD, Mockus A, Finholt TA, Grinter RE (2000) Distance, dependencies, and delay in a global collaboration. In: Proc ACM 2000 conf computer-supported cooperative work, pp 319–328. doi:10.1145/358916.359003
Goldmann S, Münch J, Holz H (2000) Distributed process planning support with MILOS. Int J Softw Eng Knowl Eng 10(4):511–525
Münch J, Lamersdorf A (2009) Systematic task allocation evaluation in distributed software development. In: Meersman R, Herrero P, Dillon T (eds) OTM 2009 Workshops, LNCS 5872, pp 228–237. doi:10.1007/978-3-642-05290-3_34
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 2.0 International License ( https://creativecommons.org/licenses/by/2.0 ), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
About this article
Cite this article
Lamersdorf, A., Münch, J. A multi-criteria distribution model for global software development projects. J Braz Comput Soc 16, 97–115 (2010). https://doi.org/10.1007/s13173-010-0010-6
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s13173-010-0010-6