Skip to main content

A multi-criteria distribution model for global software development projects

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

  1. 1.

    Herbsleb JD, Moitra D (2001) Guest editors’ introduction: Global software development. IEEE Softw 18(2):16–20. doi:10.1109/52.914732

    Article  Google Scholar 

  2. 2.

    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

    Article  Google Scholar 

  3. 3.

    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

  4. 4.

    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

    Article  Google Scholar 

  5. 5.

    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

  6. 6.

    Chua AL, Pan S (2006) Knowledge transfer in offshore insourcing. In: Proceedings of the 27th international conference on information systems, pp 1039–1053

  7. 7.

    Sakthivel S (2007) Managing risks in offshore systems development. Commun ACM 50(4):69–75. doi:10.1145/1232743.1232750

    Article  Google Scholar 

  8. 8.

    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

  9. 9.

    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

  10. 10.

    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

  11. 11.

    Carmel E, Abbott P (2007) Why ‘nearshore’ means that distance matters. Commun ACM 50(10):40–46. doi:10.1145/1290958.1290959

    Article  Google Scholar 

  12. 12.

    Seshagiri G (2006) GSD: Not a business necessity, but a march of folly. IEEE Softw 23(5):63f. doi:10.1109/MS.2006.138

    Google Scholar 

  13. 13.

    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

  14. 14.

    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

  15. 15.

    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

  16. 16.

    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

  17. 17.

    Raffo D, Setamanit S (2005) A simulation model for global software development project. In: The international workshop on software process simulation and modeling

  18. 18.

    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

  19. 19.

    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

  20. 20.

    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

  21. 21.

    Mockus A, Weiss DM (2001) Globalization by chunking: a quantitative approach. IEEE Softw 18(2):30–37. doi:10.1109/52.914737

    Article  Google Scholar 

  22. 22.

    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

  23. 23.

    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

  24. 24.

    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

  25. 25.

    Seaman C (2008) Qualitative methods. In: Shull F et al. (eds) Guide to advanced empirical software engineering. Springer, Heidelberg, pp 35–62

    Google Scholar 

  26. 26.

    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

  27. 27.

    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

    Google Scholar 

  28. 28.

    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

  29. 29.

    Raghvinder S, Bass M, Mullick N, Paulish DJ, Kazmeier J (2006) Global software development handbook. Auerbach Publications, London

    Google Scholar 

  30. 30.

    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

  31. 31.

    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

    Google Scholar 

  32. 32.

    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

  33. 33.

    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

  34. 34.

    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

    Article  Google Scholar 

  35. 35.

    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

  36. 36.

    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

    Article  Google Scholar 

  37. 37.

    MA Cohen, Moon S (1991) An integrated plant loading model with economies of scale and scope. Eur J Oper Res 50(3):266–279

    MathSciNet  Article  MATH  Google Scholar 

  38. 38.

    Fleischmann B, Ferber S, Henrich P (2006) Strategic planning of BMW’s global production network. Interfaces 36(3):194–208

    Article  Google Scholar 

  39. 39.

    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

    Article  Google Scholar 

  40. 40.

    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

    Article  Google Scholar 

  41. 41.

    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

    Article  MATH  Google Scholar 

  42. 42.

    Ben-Gal I (2007) Bayesian networks. In: Ruggeri F, Kenett R, Faltin F (eds) Encyclopedia of statistics in quality and reliability. Wiley, New York

    Google Scholar 

  43. 43.

    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

  44. 44.

    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

    Article  Google Scholar 

  45. 45.

    Treinen JJ, Miller-Frost SL (2006) Following the sun: case studies in global software development. IBM Syst J 45(4):773–783

    Article  Google Scholar 

  46. 46.

    Cozman FG (2001) JavaBayes—Bayesian networks in Java. http://www.cs.cmu.edu/~javabayes/ Retrieved at 09-15-08

  47. 47.

    Flanagan MT (2008) Java Scientific Library. http://www.ee.ucl.ac.uk/~mflanaga/java/ Retrieved at 09-16-08

  48. 48.

    Ebert C, De Neve P (2001) Surviving global software development. IEEE Softw 18(2):62–69. doi:10.1109/52.914748

    Article  Google Scholar 

  49. 49.

    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

    Article  Google Scholar 

  50. 50.

    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

  51. 51.

    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

    Article  Google Scholar 

  52. 52.

    Kobitzsch W, Rombach HD, Feldmann RL (2001) Outsourcing in India. IEEE Softw 18(2):78–86. doi:10.1109/52.914751

    Article  Google Scholar 

  53. 53.

    Alami A, Wong B, McBride T (2008) Relationship issues in global software development enterprises. J Glob Inf Technol Manag 11(1):49–68

    Google Scholar 

  54. 54.

    Gareiss R (2002) Analyzing the outsourcers. Information Week, Nov. 18, 2002

  55. 55.

    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

    Article  Google Scholar 

  56. 56.

    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

  57. 57.

    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

  58. 58.

    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

  59. 59.

    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

  60. 60.

    Smite D (2004) Global software development project management—distance overcoming. In: European conference on software process improvement, pp 23–33. doi:10.1007/b102170

  61. 61.

    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

    Google Scholar 

  62. 62.

    Komi-Sirvio S, Tihinen M (2005) Lessons learned by participants of distributed software development. Knowl Process Manag 12(2):108–122

    Article  Google Scholar 

  63. 63.

    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

  64. 64.

    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

    Article  Google Scholar 

  65. 65.

    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

    Article  Google Scholar 

  66. 66.

    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

  67. 67.

    Carmel E (1997) The explosion of global software teams. Computerworld 31(49):C6

    Google Scholar 

  68. 68.

    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

    Google Scholar 

  69. 69.

    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

    Article  Google Scholar 

  70. 70.

    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

  71. 71.

    Goldmann S, Münch J, Holz H (2000) Distributed process planning support with MILOS. Int J Softw Eng Knowl Eng 10(4):511–525

    Article  Google Scholar 

  72. 72.

    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

Download references

Author information

Affiliations

Authors

Corresponding author

Correspondence to Ansgar Lamersdorf.

Rights and permissions

Reprints and Permissions

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

Download citation

Keywords

  • Global software development
  • Project management
  • Task allocation
  • Work distribution
  • Work assignment
  • Bayesian networks