"Measuring and Evaluating the Value of Software Features in DevOps"
Measuring and Evaluating the Value of Software Features in DevOps
Sprache des Titels:
Value is an abstract and intangible concept that has many facets. This makes it particularly difficult in the context of software systems to express, quantify, and evaluate it. Dependingon the perspective, either as the developing organization or as the customer, different appraisals of the value of software exist. A value-oriented perspective in the software engineering context needs to take into account the efforts and returns for value creation, value proposition, customer satisfaction, and financial and market performance.The DevOps paradigm, advocating the monitoring of development and operational data throughout the software lifecycle, offers ample sources for value criteria that cover the different stakeholders' value expectations towards individual software features orthe entire software product.
To address this challenge, this thesis presents a method for defining the value criteria underlying these value expectations and the evaluation of these criteria for individual software features.Thereby, value criteria are operationalized through metrics which can be automatically measured in the DevOps environment. For defining these value criteria and their evaluation for individual software features in an operational manner, a domain-specific languagewas developed.
In order to facilitate the selection of appropriate metrics for a particular value criterion, the thesis also proposes a categorization of value criteria. The practical relevance of these metricswas assessed through a survey with practitioners who also identified possible measurement sources. To automate the measurement and evaluation of these metrics based on the domain-specific language, a software framework was developed. A case study with largevolumes of measures acquired from a large-scale open source project demonstrates that the software framework handles the frequencies and volumes of measures accruing in DevOps and provides evaluation results sufficiently responsive for this environment.
Future research shall primarily concentrate on applying the overall method in the DevOps environment of an industrial software project, providing methodological support for specifying the evaluationof the value criteria purposefully for a specific application domain, and on improving the retrieval of measures from external systems in DevOps.