Software Outsourcing Decision Aid (SODA): A Requirements Based Decision Support Method and Tool

  • Tommi KramerEmail author
  • Armin Heinzl
  • Michael Eschweiler
Part of the Progress in IS book series (PROIS)


This paper seeks to address the decision making problem in IS development outsourcing scenarios in which a project manager is in charge of deciding about which software components shall be outsourced and which ones shall be developed internally. Therefore, we propose a method and tool which leverage the classification of a project’s software components by means of a graph-based model of the components’ requirements and their corresponding clustering. In the course of our design oriented approach, a prototypical implementation of the method has been conducted and evaluated. It illustrates the practical utility of the proposed method. We thereby contribute to the decision making problem in distributed software projects and provide guidance for in-house or external software production. The contribution consists of revealing an improved processing method for assessing software requirements and increasing the outsourcing success of a software project. Our contribution for practice is an implemented prototype for project leaders of distributed teams. In this research, we have emphasized deriving design requirements from underlying theories as well as the evaluation of the outcomes.


Outsourcing Information systems development Decision making Decision support Requirements engineering Graph-based model Small and medium sized enterprises 


  1. Al-Otaiby, T. N., & AlSharif, M. (2007). Software requirements modularization using partitioning clustering technique: Proceedings of the 45th annual Southeast Regional Conference, (pp. 65–69).Google Scholar
  2. Al-Otaiby, T. N., AlSharif, M., & Bond, W. P. (2005). Toward software requirements modularization using hierarchical clustering techniques: Proceedings of the 43rd Annual Southeast Regional Conference, Kennesaw, GA, USA, (Vol. 2, pp. 223–228): ACM-SE.Google Scholar
  3. Al-Otaiby, T. N., Bond, W. P., & AlSharif, M. (2004). Software modularization using requirements attributes: Proceedings of the 42nd Annual Southeast Regional Conference, Huntsville, AL, USA, 2004 (pp. 104–109): ACM-SE.Google Scholar
  4. Al-Qirim, N. A. Y. (2003). The strategic outsourcing decision of IT and eCommerce: The case of small businesses in New Zealand. Journal of Information Technology Cases and Applications, 5(3), 32–56.Google Scholar
  5. Baldwin, C. Y., & Clark, K. B. (2000). Design rules: the power of modularity. Cambridge, USA: MIT Press.Google Scholar
  6. Borowiecki, M. (2011). Partitions of graphs. In M. Dehmer (Ed.), Structural analysis of complex networks (pp. 27–47). Boston, MA, USA: Birkhäuser Boston.CrossRefGoogle Scholar
  7. Briand, L., Morasca, S., & Basili, V. (1996). Property-based software engineering measurement. IEEE Transactions on Software Engineering, 22(1), 68–86.CrossRefGoogle Scholar
  8. Carmel, E., & Nicholson, B. (2005). Small firms and offshore software outsourcing: High transaction costs and their mitigation. Journal of Global Information Management, 13(3), 33–54.CrossRefGoogle Scholar
  9. Dahlstedt, S. G., & Persson, A. (2005). Requirements interdependencies: State of the art and future challenges. In A. Aurum, & C. Wohlin (Eds.), Engineering and Managing Software Requirements (pp. 95–116). Berlin: Springer.Google Scholar
  10. Damian, D., Kwan, I., & Marczak, S. (2010). Requirements-driven collaboration: Leveraging the invisible relationships between requirements and people. In I. Mistrík, A. van der Hoek, J. Grundy, & J. Whitehead (Eds.), Collaborative software engineering (pp. 57–76). Berlin, Germany: Springer.CrossRefGoogle Scholar
  11. de Souza, C., Hildenbrand, T., & Redmiles, D. (2007). Toward visualization and analysis of traceability relationships in distributed and offshore software development projects. In B. Meyer & M. Joseph (Eds.), Software engineering approaches for offshore and outsourced development (pp. 182–199). Berlin: Springer.CrossRefGoogle Scholar
  12. Dedrick, J., Carmel, E., & Kraemer, K. L. (2011). A dynamic model of offshore software development. Journal of Information Technology, 26, 1–15.CrossRefGoogle Scholar
  13. Dibbern, J., Goles, T., Hirschheim, R., & Jayatilaka, B. (2004). Information systems outsourcing: A survey and analysis of the literature. Communications of the ACM, 35(4), 6–102.Google Scholar
  14. Dibbern, J., & Heinzl, A. (2001). Outsourcing of information systems functions in small and medium sized enterprises: A test of a multi-theoretical model. WIRTSCHAFTSINFORMATIK, 43, 339–350.CrossRefGoogle Scholar
  15. Dibbern, J., Heinzl, A., & Leibbrandt, S. (2003). Interpretation des sourcings der informationsverarbeitung: Hintergründe und Grenzen ökonomischer Einflussgrößen. WIRTSCHAFTSINFORMATIK, 45(5), 533–540.CrossRefGoogle Scholar
  16. Dibbern, J., Winkler, J., & Heinzl, A. (2008). Explaining variations in client extra costs between software projects offshored to India. MIS Quarterly, 32(2), 1–30.Google Scholar
  17. Fitsilis, P., Gerogiannis, V., Anthopoulos, L., & Savvas, I. (2010). Supporting the requirements prioritization process using social network analysis techniques: Proceedings of the 45th Annual Southeast Regional Conference (pp. 110–115).Google Scholar
  18. Fjällström, P.-O. (1998). Algorithms for graph partitioning: A survey. Linköping Electronic Articles in Computer and Information Science, 3(10), 1–37.Google Scholar
  19. Grant, R. M. (1991). The resource-based theory of competitive advantage: Implications for strategy formulation. California Management Review, 33(3), 114–135.CrossRefGoogle Scholar
  20. Gross, J. L., & Yellen, J. (2004). Fundamentals of graph theory. In J. L. Gross & J. Yellen (Eds.), Handbook of graph theory (pp. 2–19). Boca Raton, FL, USA: CRC Press.Google Scholar
  21. Heim, P., Lohmann, S., Lauenroth, K., & Ziegler, J. (2008). Graph-based visualization of requirements relationships: Proceedings of the 3rd International Workshop on Requirements Engineering Visualization (pp. 51–55). Google Scholar
  22. Hildenbrand, T. (2008). Improving traceability in distributed collaborative software development. Frankfurt: Lang.Google Scholar
  23. Hubert, L., & Arabie, P. (1985). Comparing partitions. Journal of Classification, 2(1), 193–218.CrossRefGoogle Scholar
  24. Kirsch, L. J., Sambamurthy, V., Ko, D.-G., & Purvis, R. L. (2002). Controlling information systems development projects: The view from the client. Management Science, 48(4), 484–498.CrossRefGoogle Scholar
  25. Klimpke, L., Kramer, T., Betz, S., & Nordheimer, K. (2011). Globally distributed software development in small and medium-sized enterprises in Germany: Reasons, locations, and obstacles: Proceedings of the 19th European Conference on Information Systems (ECIS2011), Helsinki, Finland.Google Scholar
  26. Kramer, T., & Eschweiler, M. (2013). Outsourcing location selection with SODA: A requirements based decision support methodology and tool. In C. Salinesi, M. C. Norrie, & O. Pastor (Eds.), Advanced information systems engineering: 25th international conference, CAiSE Valencia, Spain, 2013 (pp. 530–545). Heidelberg: Springer.CrossRefGoogle Scholar
  27. Kramer, T., Heinzl, A., & Spohrer, K. (2011). Should this software component be developed inside or outside our firm?—a design science perspective on the sourcing of application systems. In J. Kotlarsky, L. P. Willcocks, & O. Ilan (Eds.), New studies in global it and business service outsourcing: 5th global scourcing workshop 2011, Courchevel, France, March 14–17, 2011, revised selected papers (pp. 115–132). Heidelberg, Dordrecht, London, New York: Springer.CrossRefGoogle Scholar
  28. Langlois, R. N. (1995). Capabilities and coherence in firms and markets. In C. A. Montgomery (Ed.), Resource-based and evolutionary theories of the firm: Towards a synthesis (pp. 71–100). USA: Boston.CrossRefGoogle Scholar
  29. Larman, C. (2002). Applying UML and patterns (2ed.). Upper Saddle River, NJ, USA: Prentice Hall.Google Scholar
  30. Li, Z., Rahman, Q., Ferrari, R., & Madhavji, N. (2009). Does requirements clustering lead to modular design? In M. Glinz, & P. Heymans (Eds.), Requirements engineering: Foundation for software quality (pp. 233–239). Berlin: Springer.Google Scholar
  31. Luxburg, U. (2007). A tutorial on spectral clustering. Statistics and Computing, 17(4), 395–416.CrossRefGoogle Scholar
  32. Manning, C. D., Raghavan, P., & Schütze, H. (2008). Introduction to information retrieval (1ed.). Cambridge, UK: Cambridge University Press.Google Scholar
  33. Moreira, A., & Araújo, J. (2011). The need for early aspects. In J. Fernandes, L. R., J. Visser, & J. Saraiva (Eds.), Generative and transformational techniques in software engineering III (pp. 386–407).Google Scholar
  34. Moreira, A., Araújo, J., & Brito, I. (2002). Crosscutting quality attributes for requirements engineering: Proceedings of the 14th International Conference on Software Engineering and Knowledge Engineering, SEKE ’02, Ischia, Italy, (pp. 167–174).Google Scholar
  35. Newman, M. E. J. (2006). Modularity and community structure in networks: Proceedings of the National Academy of Sciences of the United States of America (pp. 8577–8582).Google Scholar
  36. Peffers, K., Tuunanen, T., Rothenberger, M. A., & Chatterjee, S. (2007). A design science research methodology for information systems research. Journal of Management Information Systems, 24(3), 45–78.CrossRefGoogle Scholar
  37. Picot, A., & Baumann, O. (2007). Modularität in der verteilten Entwicklung komplexer Systeme: Chancen, Grenzen. Implikationen. Journal für Betriebswirtschaft, 57(3–4), 221–246.CrossRefGoogle Scholar
  38. Rand, W. M. (1971). Objective criteria for the evaluation of clustering methods. Journal of the American Statistical Association, 66(336), 846–850.CrossRefGoogle Scholar
  39. Rasch, B., Friese, M., Hofmann, W., & Naumann, E. (2010). Quantitative Methoden 1 (3ed.). Berlin: Springer.Google Scholar
  40. Schilling, M. A., & Steensma, H. K. (2001). The use of modular organizational forms: An industry-level analysis. The Academy of Management Journal, 44(6), 1149–1168.CrossRefGoogle Scholar
  41. Simon, H. A. (1955). A behavioral model of rational choice. The Quarterly Journal of Economics, 69(1), 99–118.CrossRefGoogle Scholar
  42. Simon, H. A. (1962). The architecture of complexity: Proceedings of the American Philosophical Society (Vol. 106, pp. 467–482).Google Scholar
  43. Stratman, J. K. (2008). Facilitating offshoring with enterprise technologies: reducing operational friction in the governance and production of services. Journal of Operations Management, 26(2), 275–287.CrossRefGoogle Scholar
  44. Tarr, P., Ossher, H., Harrison, W., & Sutton, S. M., J. (1999). N degrees of separation: multi-dimensional separation of concerns: International Conference on Software Engineering, Los Angeles, CA, USA, (pp. 107–119).Google Scholar
  45. Teng, J. T. C., Cheon, M. J., & Grover, V. (1995). Decisions to outsource information systems functions: testing a strategy-theoretic discrepancy model. Decision Sciences, 26(1), 75–103.CrossRefGoogle Scholar
  46. Tiwana, A. (2008). Does technological modularity substitute for control? A study of alliance performance in software outsourcing. Strategic Management Journal, 29(7), 769–780.CrossRefGoogle Scholar
  47. van den Honert, R. (1999). Intermediate statistical methods for business and economics (2ed.). Rondebosch, South Africa: Juta and Company.Google Scholar
  48. Williamson, O. E. (1990). Transaction cost economics. In R. Schmalensee & R. D. Willig (Eds.), Handbook of industrial organization (pp. 135–182). Netherlands: Amsterdam.Google Scholar
  49. Yalaho, A. (2006). A conceptual model of ICT-supported unified process of international outsourcing of software production: 10th IEEE International Enterprise Distributed Object Computing Conference Workshops EDOCW (pp. 47–58).Google Scholar
  50. Yaung, A. T. (1992). Design and implementation of a requirements clustering analyzer for software system decomposition: Proceedings of the 1992 ACM/SIGAPP Symposium on Applied Computing: Technological Challenges of the 1990s, 1992 (pp. 1048–1054).Google Scholar
  51. Yong, L., Gencheng, G., & Jingjing, Q. (2008). An algorithm of system decomposition based on laplace spectral graph partitioning technology: International Conference on Computer Science and Software Engineering, Wuhan, China (Vol. 2, pp. 85–89).Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  • Tommi Kramer
    • 1
    Email author
  • Armin Heinzl
    • 1
  • Michael Eschweiler
    • 2
  1. 1.University of Mannheim, Business SchoolMannheimGermany
  2. 2.Senacor Technologies AGSchwaigGermany

Personalised recommendations