This report presents a systematic comparison of the principles of agile software development and the fundaments of component-based software development with COTS (Commercial Off-the-Shelf) components. The fundamental assumptions and inherent characteristics of the two fields are compared, and any theoretical incompatibilities are reported. The study is limited to include only development activities, which are [31]: requirements, design, development, verification and validation, and integration. We do not consider activities such as project management, configuration management, maintenance and evolution, and documentation. Furthermore, the study concerns development with COTS components, not other types of component-based development, such as [15]: product-line development (where components are built in-house) or architecture-driven development (i.e. top-down design decomposition resulting in components to be developed in-house).
This theoretical study should be seen as a first phase, laying the foundation for further empirical studies in an industrial setting. These two steps are well-defined parts of the research agenda of the established PROGRESS Centre for Predictable Embedded Software Systems and also the ITEA2 FLEXI project of which we are part.