An empirical study of variations in COTS-based software development processes in the Norwegian IT industry

More and more software projects use Commercial-Off-The-Shelf (COTS) components. Although previous studies have proposed specific COTS-based development processes, there are few empirical studies that investigate how to use and customize COTS-based development processes for different project contexts. This paper describes an exploratory study of state-of-the-practice of COTS-based development processes. Sixteen software projects in the Norwegian IT companies have been studied by structured interviews. The results are that COTS-specific activities can be successfully incorporated in most traditional development processes (such as waterfall or prototyping), given proper guidelines to reduce risks and provide specific assistance. We have identified four COTS-specific activities—the build vs. buy decision, COTS component selection, learning and understanding COTS components, and COTS component integration – and one new role, that of a knowledge keeper. We have also found a special COTS component selection activity for unfamiliar components, combining Internet searches with hands-on trials. The process guidelines are expressed as scenarios, problems encountered, and examples of good practice. They can be used to customize the actual development processes, such as in which lifecycle phase to put the new activities into. Such customization crucially depends on the project context, such as previous familiarity with possible COTS components and flexibility of requirements.

[1]  Alexis Tsoukiàs,et al.  IusWare: a methodology for the evaluation and selection of software products , 1997, IEE Proc. Softw. Eng..

[2]  Thomas L. Saaty How to Make a Decision: The Analytic Hierarchy Process , 1994 .

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

[4]  Neil A. M. Maiden,et al.  Acquiring COTS Software Selection Requirements , 1998, IEEE Softw..

[5]  Jyrki Kontio,et al.  A case study in applying a systematic method for COTS selection , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[6]  A. Strauss,et al.  Basics of qualitative research: Grounded theory procedures and techniques. , 1992 .

[7]  Barry W. Boehm,et al.  Not All CBS Are Created Equally: COTS-Intensive Project Types , 2003, ICCBSS.

[8]  David J. Carney,et al.  What Do You Mean by COTS? Finally, a Useful Answer , 2000, IEEE Softw..

[9]  Patricia K. Lawlis,et al.  A Formal Process for Evaluating COTS Software Products , 2001, Computer.

[10]  Lisa Brownsword,et al.  Evolutionary Process for Integrating COTS-Based Systems (EPIC): An Overview , 2002 .

[11]  J. Calder Survey research methods , 1998, Medical education.

[12]  Barry Boehm,et al.  COCOTS: a COTS software integration cost model - model overview and preliminary data findings , 2000 .

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

[14]  Maurizio Morisio,et al.  Investigating and improving a COTS-based software development process , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[15]  Pamela Jordan Basics of qualitative research: Grounded theory procedures and techniques , 1994 .

[16]  Barry W. Boehm,et al.  COTS Integration: Plug and Pray? , 1999, Computer.

[17]  Louis C. Rose,et al.  Risk Management of COTS Based Systems Development , 2003, Component-Based Software Quality.

[18]  Jeffrey M. Voas,et al.  The Challenges Of Using COTS Software In Component-Based Development , 1998, Computer.

[19]  Ivica Crnkovic,et al.  Specification, implementation, and deployment of components , 2002, CACM.

[20]  M. Ochs,et al.  A method for efficient measurement-based COTS assessment and selection method description and evaluation results , 2001, Proceedings Seventh International Software Metrics Symposium.

[21]  Dar-Biau Liu,et al.  Component-based systems development: challenges and lessons learned , 1997, Proceedings Eighth IEEE International Workshop on Software Technology and Engineering Practice incorporating Computer Aided Software Engineering.

[22]  B SeamanCarolyn Qualitative Methods in Empirical Studies of Software Engineering , 1999 .

[23]  Carina Frota Alves,et al.  Investigating Conflicts in Cots Decision-Making , 2003, Int. J. Softw. Eng. Knowl. Eng..

[24]  Jeffrey M. Voas,et al.  COTS Software: The Economical Choice? , 1998, IEEE Softw..

[25]  Awais Rashid,et al.  A strategy for managing risk in component-based software development , 2001, Proceedings 27th EUROMICRO Conference. 2001: A Net Odyssey.

[26]  G. Fox,et al.  A software development process for COTS-based information system infrastructure , 1997, Proceedings Fifth International Symposium on Assessment of Software Tools and Technologies.

[27]  Cornelius Ncube,et al.  Rethinking Process Guidance for Selecting Software Components , 2002, ICCBSS.

[28]  Barry W. Boehm,et al.  COTS-Based Systems Top 10 List , 2001, Computer.

[29]  L. Eby Book Review: Survey Research Methods, 3rd ed., by Floyd J. Fowler Jr. (2002). Thousand Oaks, Ca: Sage. , 2003 .

[30]  Hareton K. N. Leung,et al.  On the efficiency of domain-based COTS product selection method , 2002, Inf. Softw. Technol..

[31]  Lawrence Chung,et al.  A knowledge-based COTS-aware requirements engineering approach , 2002, SEKE '02.

[32]  Colin Robson,et al.  Real World Research: A Resource for Social Scientists and Practitioner-Researchers , 1993 .

[33]  Ed Morris,et al.  COTS-Based Development: Taking the Pulse of a Project , 2003, ICCBSS.

[34]  Marco Torchiano,et al.  Overlooked facts on COTS-based development , 2004 .

[35]  Barry W. Boehm,et al.  Requirements that Handle IKIWISI, COTS, and Rapid Change , 2000, Computer.

[36]  Carolyn B. Seaman,et al.  Qualitative Methods in Empirical Studies of Software Engineering , 1999, IEEE Trans. Software Eng..

[37]  Cornelius Ncube,et al.  The Limitations of Current Decision-Making Techniques in the Procurement of COTS Software Components , 2002, ICCBSS.