Investigating and improving a COTS-based software development process

The work described in the paper is an investigation of COTS based software development within a particular NASA environment, with an emphasis on the processes used. Fifteen projects using a COTS based approach were studied and their actual process was documented. This process is evaluated to identify essential differences in comparison to traditional software development. The main differences, and the activities for which projects require more guidance, are requirements definition and COTS selection, high level design, integration and testing. Starting from these empirical observations, a new process and guidelines for COTS based development are developed and briefly presented. The new process is currently under experimentation.