Skip to main content
Log in

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

  • Published:
Empirical Software Engineering Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1

Similar content being viewed by others

References

  • Abts C, Boehm BW, Clark EB (2000) COCOTS: A COTS software integration cost model—model overview and preliminary data findings. Proc. of the 11th ESCOM Conf, Munich, Germany, pp 325–333

  • Albert C, Brownsword L (2002) Evolutionary process for integrating COTS-based system (EPIC): an overview. SEI, Pittsburgh, Available at: http://www.sei.cmu.edu/publications/documents/02.reports/02tr009.html

  • Alves C, Fineklstein A (2003) Investigating conflicts in COTS decision-making. JSEKE 13(5):473–493

    Article  Google Scholar 

  • Basili VR, Boehm BW (2001) COTS-based system top 10 lists. IEEE Computer 34(5):91–93

    Google Scholar 

  • Boehm B (2000) Requirements that handle IKIWISI, COTS, and rapid change. IEEE Computer 33(7):99–102

    Google Scholar 

  • Boehm BW, Abts C (1999) COTS integration: plug and pray? IEEE Computer 32(1):135–138

    Google Scholar 

  • Boehm BW, Port D, Yang Y, Bhuta J (2003) Not all CBS are created equally COTS-intensive project types. Proc. of the 2nd Int Conf on COTS-Based Software Systems (ICCBSS'03), Ottawa, Canada, Springer, LNCS Vol. 2580, pp 36–50

  • Brownsword L, Oberndorf T, Sledge C (2000) Developing new processes for COTS-based systems. IEEE Software 17(4):48–55

    Article  Google Scholar 

  • Carney D, Long F (2001) What do you mean by COTS? Finally, a useful answer. IEEE Software 7(2):83–86

    Google Scholar 

  • Chung L, Cooper K (2002) A knowledge-based COTS-aware requirements engineering approach. Proc. of the 14th Int Conf on Software Engineering and Knowledge Engineering, Ischia, Italy, pp 175–182

  • ComponentSource (2004) Available at: http://www.componentsource.com/

  • COTS Lessons Learned Repository (2004) Available at: http://fc-md.umd.edu/ll/index.asp

  • Crnkovic I, Hnich B, Jonsson T, Kiziltan Z (2002) Specification, implementation, and deployment of components. Communication of the ACM 45(19):35–40

    Google Scholar 

  • FAA Guide (2003) Federal Aviation Administration, Software Engineering Resource Center. FAA COTS risk mitigation guide: practical methods for effective COTS acquisition and life cycle support. Available at: http://www.faa.gov/aua/resources/cots/Guide/CRMG.htm

  • FAMILIES Project (2003) Available at: http://www.esi.es/en/Projects/Families

  • Fowler FJ Jr. (2001) Survey research methods (Applied social research methods). 3rd edition, Thousand Oaks, CA, USA: Sage

  • Fox G, Lantner K, Marcom S (1997) A software development process for COTS-based information system infrastructure. Proc. of the 5th Int Symposium on Assessment of Software Tools (SAST '97), Pittsburgh, Pennsylvania, USA, pp 133–142

  • INCO Project (2000) Available at: http://www.ifi.uio.no/~isu/INCO/

  • Kontio J (1996) A case study in applying a systematic method for COTS selection. Proc. of the 18th Int Conf on Software Engineering, Berlin, Germany, pp 201–209

  • Kotonya G, Rashid A (2001) A strategy for managing risk in component-based software development. Proc. of the 27th EUROMICRO Conference, Warsaw, Poland, pp 12–21

  • Lawlis PK, Mark KE, Thomas DA, Courtheyn T (2001) A formal process for evaluating COTS software products. IEEE Computer 34(5):58–63

    Google Scholar 

  • Leung KRPH, Leung HKN (2002) On the efficiency of domain-based COTS product selection method. Journal of Information and Software Technology 44(12):703–715

    Article  Google Scholar 

  • MacCrimmon KR (1973) An overview of multiple objective decision making. Proc. of the Multiple Criteria Decision Making, University of South Carolina, pp 18–44

  • Maiden NAM, Ncube C (1998) Acquiring COTS software selection requirement. IEEE Software 15(2):46–56

    Article  Google Scholar 

  • Maiden NAM., Kim H, Ncube C (2002) Rethinking process guidance for selecting software components. Proc. of the 1st Int Conf on COTS-Based Software Systems (ICCBSS'02), Orlando, Florida, USA, Springer, LNCS VOL. 2255, pp 151–164

  • Morisio M, Tsoukias A (1997) IusWare: a methodology for the evaluation and selection of software products. IEE Proceedings—Software Engineering 144(3):162–174

    Article  Google Scholar 

  • Morisio M, Seaman CB, Parra AT, Basili VR, Kraft SE, Condon SE (2000) Investigating and improving a COTS-based software development process. Proc. of the 22nd Int Conf on Software Engineering, Limerick, Ireland, pp 31–40

  • Morris E, Albert C, Brownsword L (2003) COTS-based development: taking the pulse of a project. Proc. of the 2nd Int Conf on COTS-Based Software Systems (ICCBSS 2003), Ottawa, Canada, Springer LNCS, VOL. 2580, pp 168–177

  • NAICS (2004) Available at: http://www.revenue.state.ne.us/tax/current/buscodes.pdf

  • Ncube C, Dean JC (2002) The limitation of current decision-making techniques in the procurement of COTS software components. Proc. of the 1st Int conf on COTS-Based Software Systems (ICCBSS’02), Orlando, Florida, USA, Springer, LNCS vol. 2255, pp 176–187

  • Ochs M, Pfahl D, Diening GC, Kolb BN (2001) A method for efficient measurement-based COTS assessment and selection—method description and evaluation results. Proc. of the 7th Int. Software Metrics Symposium, London, England, pp 285–297

  • Robson C (2002) Real world research: a resource for social scientists and practitioner-researchers (Regional Surveys of the World), 2nd edition. Oxford, Blackwell

  • Rose LC (2003) Risk management of COTS based systems development. In: Component-Based Software Quality, Springer LNCS, vol. 2693, pp 352–373

  • Saaty TL (1990) How to make a decision: the analytic hierarchy process (AHP). Eur J Oper Res 48(1):9–26

    Article  MATH  Google Scholar 

  • SPIKE project (2002) Available at: http://www.idi.ntnu.no/grupper/su/spike.html

  • SEI (Software Engineering Institute) (2004) COTS-based initiative description. Available at http://www.sei.cmu.edu/cbs/cbs_description.html

  • SSB: Norwegian Census Bureau (2004) Available at: http://www.ssb.no

  • Strauss A, Corbin JM (1998) Basics of qualitative research: grounded theory procedures and techniques. 2nd edition. Thousand Oaks, CA, USA: Sage

  • Torchiano M, Morisio M (2004) Overlooked aspects on COTS-based development. IEEE Software 21(2):88–93

    Article  Google Scholar 

  • Tran V, Liu DB, Hummel B (1997) Component-based systems development: challenges and lessons learned. Proc. of the 8th IEEE Int. Workshop on Software Technology and Engineering Practice, London, UK, pp 452–462

  • Voas J (1998a) COTS software—the economical choice? IEEE Software 15(2):16–19

    Article  Google Scholar 

  • Voas J (1998b) The challenges of using COTS software in component-based development. IEEE Computer 31(6):44–45

    Google Scholar 

Download references

Acknowledgments

This study is supported by the INCO, SPIKE, and FAMILIES projects. Comments from our colleague Tore Dybå gave valuable input to this study. We thank the colleagues in these projects, and all the participants in this study.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jingyue Li.

Appendices

Appendix A. Detailed Information on Process Customization

Comp. ID

Proj. ID

Succ. or failed

Main process

Other activities added

New role added

C1

P1

Failed

Waterfall

Buy vs. build. Selection. Build glueware & addware.

External expert: Hired one person from the vendor as consultant.

C1

P2

Failed

Incremental & prototyping

Customer decided COTS. Learning. Build glueware.

 

C2

P3

Succ.

Incremental & prototyping

Buy vs. build. Selection. Learning. Build glueware & addware.

Internal expert.

C2

P4

Succ.

Waterfall

Buy vs. build. Selection. Learning. Build glueware & addware.

Internal expert.

C3

P5

Succ.

Incremental & prototyping

Buy vs. build. Selection. Learning. Build glueware.

 

C3

P6

Succ.

Incremental & prototyping

Buy vs. build. No selection as it was the only alternative. Learning. Build glueware.

 

C4

P7

Succ.

Incremental & prototyping

Buy vs. build. Selection. Learning. Build glueware & addware.

 

C5

P8

Succ.

Incremental & prototyping

Buy vs. build. Selection. Build addware.

Internal expert.

C6

P9

Succ.

Incremental & prototyping

Without build vs. buy decision because using COTS is a company strategy. Selection. Learning. Build glueware & addware.

Internal expert.

C7

P10

Failed

Waterfall

Buy vs. build. Selection. Build glueware Learning.

External expert: The integration was outsourced to a consulting company.

C8

P11

Succ.

Incremental & prototyping

Buy vs. build. Selection. Learning. Build glueware.

Internal expert to follow COTS evolution.

C9

P12

Succ.

Waterfall & prototyping

Buy vs. build. Selection. Learning. Build glueware.

 

C10

P13

Succ.

Waterfall

Buy vs. build Selection. Learning. Build glueware.

Internal expert.

C11

P14

Failed

Waterfall

Buy vs. build. Selection. Learning. Build glueware.

 

C12

P15

Succ.

Incremental & prototyping

Buy vs. build. Selection. Learning. Build glueware.

Internal expert.

C13

P16

Succ.

Incremental & prototyping

Buy vs. build. Selection. Learning. Build glueware.

Internal expert.

Appendix B. Detailed Information on COTS Component Selection

Proj. ID

COTS ID

Selection process

In which phase was COTS selected

P1

1

Demo (recommended from external expert).

Implementation

P1

2

Demo (recommended from external expert).

Implementation

P2

3

Decided by customer

Design

P3

4

Experience

Design

P3

5

Internet search with pilot

Requirements

P3

6

Experience

Design

P4

7

Internet search with pilot

Requirements

P4

8

Experience

Requirements

P4

9

Experience

Requirements

P5

10

Experience

Implementation

P5

11

Internet search with pilot

Implementation

P6

12

Experience

Requirements

P7

13

Internet search with pilot

Design

P8

14

Experience

Implementation

P8

15

Experience

Implementation

P9

16

Experience

Design

P9

17

Experience

Design

P9

18

Experience

Design

P10

19

Demo.

Design

P10

20

Demo.

Design

P10

21

Demo.

Design

P11

22

Internet search with pilot

Design

P11

23

Internet search with pilot

Design

P12

24

Experience

Design

P13

25

Experience

Requirements

P14

26

Demo.

Implementation

P15

27

Experience

Design

P15

28

Recommended from external expert

Requirements

P16

29

Experience

Design

P16

30

Experience

Design

Rights and permissions

Reprints and permissions

About this article

Cite this article

Li, J., Bjørnson, F.O., Conradi, R. et al. An empirical study of variations in COTS-based software development processes in the Norwegian IT industry. Empir Software Eng 11, 433–461 (2006). https://doi.org/10.1007/s10664-006-9005-5

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10664-006-9005-5

Keywords

Navigation