Design for customization: A new paradigm for product-service system development

In the traditional software development cycle, requirements gathering is considered the most critical phase. Getting the requirements right first time has become a dogma in software engineering because the correction of erroneous or incomplete requirements in later software development phases becomes overly expensive. For product-service systems (PSS), this dogma and standard requirements engineering (RE) approaches are not appropriate because classical RE is considered concluded, once a product service is delivered. For PSS it is impossible to foresee all future context conditions and customization needs customers may come up with after product deployment. In addition, the services supporting a complex hardware-software product depend on the individual product configuration a customer requires. For example, when a standard laser machine is equipped with one or more special sensors, new services may be needed that depend on sensor data from these new sources combined with other data generated by the standard machine configuration. Thus, we claim that RE needs to be extended to the deployment phase of a product and an agile approach is required to cope with emerging hardware and software requirements as a PSS is marketed. In this paper, a novel view-based model-driven engineering approach is proposed that enables collaborative product-service design and customization and copes with evolving, incomplete and unforeseen requirements. A prototype has been implemented as a Proof-of-Concept (PoC) and is currently validated on four industrial pilot cases as part of the H2020 project ICP4Life.