Product software development is the activity of development, modification, reuse, re-engineering, maintenance, or any other activities that result in packaged configurations of software components or software-based services that are released for and traded in a specific market \cite{XuBrinkkemper}. An increasingly important part of product software development is Customer Configuration Updating (CCU). \textit{CCU is the combination of the vendor side release process, the product or update delivery process, the customer side deployment process, and the activation process}. Product software vendors encounter particular problems when trying to improve these processes, because vendors have to deal with multiple revisions, variable features, different deployment environments and architectures, different customers, different distribution media, and dependencies on external products. Also, there are not many tools available that support the delivery and deployment of software product releases that are generic enough to accomplish these tasks for any product. In 9 industrial case studies it was discovered that as much as 15% of the deployments and product updates of new products do not proceed as planned and require unplanned extra support from the software vendor. These organizations are held back in their growth, due to the fact that they cannot handle larger customer bases, since it would result into more configurations that require maintenance and updates. When software vendors attempt to improve CCU three things become apparent: (1) there are no adequate process descriptions for CCU, (2) there is a lack of tools to support CCU, (3) software vendors lose a lot of time automating CCU tasks, even though these tasks are similar for all software vendors. This thesis proposes a multidirectional approach, where best practices from management are combined with up to date reviews of CCU support tools, new tools and tool proposals, and finally a CCU process model. The contribution is threefold: 1. Gives a detailed view of the state of the practice of CCU, i.e., release, delivery, deployment, and activation and usage . This tells the scientific community where the unsolved issues are, what practices are currently prevalent, and what practices are more successful than others in the industry through case studies and a survey. 2. Proposes a number of improvements for software release planning, software development, and business development within a software supply network, based on the results found in (1), to improve the art of CCU. 3. Provides a tool to improve deployment and configuration of components in large product lines. Furthermore, a tool is provided that improves customer-vendor relations by proposing an infrastructure for communication about software. These tools and fourteen others are evaluated using the product updater evaluation method. The contributions allow software vendors to stop dabbling around small customer numbers, and to make the jump to larger customer bases, with only a small increase in manpower and effort. Simultaneously, when applied correctly, the presented principles for CCU enable product software vendors to shorten release times, by reduction of release and upgrade costs. This in turn facilitates quicker feedback cycles from customers and more agility for the product software vendor, enabling them to potentially reach higher quality levels for their products

, , ,
S. Brinkkemper , P. Klint (Paul)
Universiteit Utrecht
SIKS Dissertation Series ; 2007-20
Intelligent Software Knowledge Management and Delivery
Software Analysis and Transformation

Jansen, S. (2007, October 8). Customer Configuration Updating in a Software Supply Network.. Customer Configuration Updating in a Software Supply Network.