Choosing Component Origins for Software Intensive Systems: In-House, COTS, OSS or Outsourcing?—A Case Survey

The choice of which software component to use influences the success of a software system. Only a few empirical studies investigate how the choice of components is conducted in industrial practice. This is important to understand to tailor research solutions to the needs of the industry. Existing studies focus on the choice for off-the-shelf (OTS) components. It is, however, also important to understand the implications of the choice of alternative component sourcing options (CSOs), such as outsourcing versus the use of OTS. Previous research has shown that the choice has major implications on the development process as well as on the ability to evolve the system. The objective of this study is to explore how decision making took place in industry to choose among CSOs. Overall, 22 industrial cases have been studied through a case survey. The results show that the solutions specifically for CSO decisions are deterministic and based on optimization approaches. The non-deterministic solutions proposed for architectural group decision making appear to suit the CSO decision making in industry better. Interestingly, the final decision was perceived negatively in nine cases and positively in seven cases, while in the remaining cases it was perceived as neither positive nor negative.

[1]  Tommi Kramer,et al.  Should This Software Component Be Developed Inside or Outside Our Firm? - A Design Science Perspective on the Sourcing of Application Systems , 2011, Global Sourcing Workshop.

[2]  R. Yin,et al.  Using the Case Survey Method To Analyze Policy Studies. , 1975 .

[3]  Darja Smite,et al.  Software Architects in Large-Scale Distributed Projects: An Ericsson Case Study , 2016, IEEE Software.

[4]  Tony Gorschek,et al.  Requirements Abstraction Model , 2005, Requirements Engineering.

[5]  Tuija Helokunnas The Dimensions of Embedded COTS and OSS Software Component Integration , 2002, PROFES.

[6]  Aybüke Aurum,et al.  Software quality trade-offs: A systematic map , 2012, Inf. Softw. Technol..

[7]  Björn Regnell,et al.  Exploring factors affecting decision outcome and lead time in large‐scale requirements engineering , 2015, J. Softw. Evol. Process..

[8]  R. Perera Statistics for Evidence-Based Practice and Evaluation , 2008, ACP Journal Club.

[9]  Marco Torchiano,et al.  Overlooked aspects of COTS-based development , 2004, IEEE Software.

[10]  Jin Xu,et al.  A Topological Analysis of the Open Souce Software Development Community , 2005, Proceedings of the 38th Annual Hawaii International Conference on System Sciences.

[11]  Vittorio Cortellessa,et al.  Automated Selection of Software Components Based on Cost/Reliability Tradeoff , 2006, EWSA.

[12]  James Miller Statistical significance testing--a panacea for software technology experiments? , 2004, J. Syst. Softw..

[13]  Russell Torres,et al.  Developer-Led Adoption of Open Source Software Libraries: A Conceptual Model , 2012, AMCIS.

[14]  Siffat Ullah Khan,et al.  Factors influencing clients in the selection of offshore software outsourcing vendors: An exploratory study using a systematic literature review , 2011, J. Syst. Softw..

[15]  Reidar Conradi,et al.  An empirical study of variations in COTS-based software development processes in the Norwegian IT industry , 2004, 10th International Symposium on Software Metrics, 2004. Proceedings..

[16]  J. W. Strydom,et al.  Introduction to Marketing , 1998 .

[17]  Ashutosh Prasad,et al.  Quality and Profits Under Open Source Versus Closed Source , 2002, ICIS.

[18]  Reidar Conradi,et al.  election of third party software in Off-The-Shelf-based software evelopment — An interview study with industrial practitioners , 2010 .

[19]  R. Larsson Case Survey Methodology: Quantitative Analysis of Patterns Across Case Studies , 1993 .

[20]  .. V. Heescha,et al.  A documentation framework for architecture decisions , 2011 .

[21]  Marco Torchiano,et al.  Validation of New Theses on Off-the-Shelf Component Based Development , 2005, 11th IEEE International Software Metrics Symposium (METRICS'05).

[22]  Claes Wohlin,et al.  Supporting Strategic Decision-Making for Selection of Software Assets , 2016, ICSOB.

[23]  Rafael Capilla,et al.  Effort Estimation in Capturing Architectural Knowledge , 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering.

[24]  Pär J. Ågerfalk,et al.  Global Software Development Challenges: A Case Study on Temporal, Geographical and Socio-Cultural Distance , 2006, 2006 IEEE International Conference on Global Software Engineering (ICGSE'06).

[25]  Marco Torchiano,et al.  A State-of-the-Practice Survey of Risk Management in Development with Off-the-Shelf Software Components , 2008, IEEE Transactions on Software Engineering.

[26]  Kai Petersen,et al.  A conceptual framework of challenges and solutions for managing global software maintenance , 2015, J. Softw. Evol. Process..

[27]  Henry Muccini,et al.  Suitability of Software Architecture Decision Making Methods for Group Decisions , 2014, ECSA.

[28]  Pasqualina Potena,et al.  Composition and tradeoff of non-functional attributes in software systems: research directions , 2007, ESEC-FSE '07.

[29]  Reidar Conradi,et al.  An empirical study on software development with open source components in the chinese software industry , 2008 .

[30]  Henry Muccini,et al.  Enhancing Architecture Design Decisions Evolution with Group Decision Making Principles , 2014, SERENE.

[31]  Kai Petersen,et al.  A Context Model for Architectural Decision Support , 2016, 2016 1st International Workshop on Decision Making in Software ARCHitecture (MARCH).

[32]  Alan M. Davis,et al.  The Art of Requirements Triage , 2003, Computer.

[33]  Piergiorgio Di Giacomo,et al.  COTS and Open Source Software Components: Are They Really Different on the Battlefield? , 2005, ICCBSS.

[34]  David W. Hosmer,et al.  Applied Logistic Regression , 1991 .

[35]  Marco Castellani,et al.  Cognitive Tools for Group Decision Making: The Repertory Grid Approach Revisited , 2011 .

[36]  Iris Groher,et al.  Collecting Requirements and Ideas for Architectural Group Decision-Making Based on Four Approaches , 2015, ECSA.

[37]  Marina Marinela Gerea,et al.  Selection of Open Source Components - A Qualitative Survey in Norwegian IT Industry , 2007 .

[38]  Tony Gorschek,et al.  Decision support for choosing architectural assets in the development of software-intensive systems: The GRADE taxonomy , 2015, ECSA Workshops.

[39]  Daniel Plakosh,et al.  Trust and vulnerability in open source software , 2002, IEE Proc. Softw..

[40]  Ioanna Lytra,et al.  Empirical evaluation of a process to increase consensus in group architectural decision making , 2016, Inf. Softw. Technol..

[41]  Tom McBride,et al.  A Comparison of the Reliability Growth of Open Source and In-House Software , 2008, 2008 15th Asia-Pacific Software Engineering Conference.

[42]  Ivica Crnkovic,et al.  COTS Selection Best Practices in Literature and in Industry , 2008, ICSR.

[43]  Frank Leymann,et al.  Reusable Architectural Decision Models for Enterprise Application Development , 2007, QoSA.

[44]  Lisa Brownsword,et al.  Developing New Processes for COTS-Based Systems , 2000, IEEE Softw..

[45]  Rafael Capilla,et al.  In two minds: how reflections influence software design thinking , 2016, J. Softw. Evol. Process..

[46]  Vittorio Cortellessa,et al.  Managing the evolution of a software architecture at minimal cost under performance and reliability constraints , 2015, Sci. Comput. Program..

[47]  A. Andrews,et al.  4 Requirements Prioritization , .

[48]  Rick Kazman,et al.  Decision-making techniques for software architecture design: A comparative survey , 2011, CSUR.

[49]  Jeffrey S. Norris,et al.  Mission-critical development with open source software: lessons learned , 2004, IEEE Software.

[50]  Likoebe M. Maruping,et al.  A Preliminary Analysis of the Influences of Licensing and Organizational Sponsorship on Success in Open Source Projects , 2005, Proceedings of the 38th Annual Hawaii International Conference on System Sciences.

[51]  Marco Torchiano,et al.  An empirical study on decision making in off-the-shelf component-based development , 2006, ICSE '06.

[52]  Claes Wohlin,et al.  Software component decision-making: In-house, OSS, COTS or outsourcing - A systematic literature review , 2016, J. Syst. Softw..

[53]  Tuija Helokunnas,et al.  Collaboration between a COTS Integrator and Vendors , 2002, ECSQ.

[54]  Alberto Siena,et al.  Risk Awareness in Open Source Component Selection , 2014, BIS.

[55]  Tom Wanyama AN EMPIRICAL STUDY TO COMPARE THREE METHODS FOR SELECTING COTS SOFTWARE COMPONENTS , 2008 .

[56]  Philippe Kruchten,et al.  An Ontology of Architectural Design Decisions in Software-Intensive Systems , 2004 .

[57]  Barbara Kitchenham,et al.  Procedures for Performing Systematic Reviews , 2004 .

[58]  Jakub Rudzki,et al.  Evaluating Quality of Open Source Components for Reuse-Intensive Commercial Solutions , 2009, 2009 35th Euromicro Conference on Software Engineering and Advanced Applications.

[59]  Tommi Kramer,et al.  Outsourcing Location Selection with SODA: A Requirements Based Decision Support Methodology and Tool , 2013, CAiSE.

[60]  Cesare Pautasso,et al.  Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse , 2013, ECSA.

[61]  Ivica Crnkovic,et al.  Twenty-eight years of component-based software engineering , 2016, J. Syst. Softw..

[62]  Magnus Bergquist,et al.  The power of gifts: organizing social relationships in open source communities , 2001, Inf. Syst. J..

[63]  Marco Torchiano,et al.  Development with Off-the-Shelf Components: 10 Facts , 2009, IEEE Software.

[64]  Kai Petersen,et al.  Worldviews, Research Methods, and their Relationship to Validity in Empirical Software Engineering Research , 2013, 2013 Joint Conference of the 23rd International Workshop on Software Measurement and the 8th International Conference on Software Process and Product Measurement.

[65]  Vittorio Cortellessa,et al.  An optimization framework for "build-or-buy" decisions in software architecture , 2008, Comput. Oper. Res..