Semi-Autonomous Planning of Software Delivery Processes

According to Laukkannen multiple adaption problems of Continuous Integration, Continuous Delivery and, Continuous Deployment exist. Besides that maintenance of those software delivery processes is a labour intensive work and their quality decreases over time. Hence, an approach to reduce the required adoption and maintenance effort is desirable. Software delivery processes are expressed within a domain-specific language and are stored within a software repository. Thus each software project has its software delivery model. Often projects use the same or a similar software delivery process, hence many models are duplicates or slight variations of each other. The domain of software engineering introduced the concept of abstraction and generalisation to reduce duplicated code and efficiently manage slight code variations. Within this work, we show how a software delivery model can be expressed independent of technology and how this abstract representation can be used to derive multiple project-specific and hence technology-specific execution plans. We introduced an abstract representation of technology-independent software delivery models and a concrete syntax to express those. Furthermore, we introduced a semiautonomous process to derive project-specific execution plans. The connection between technology-independent and technology-dependent model elements is achieved by using a reasoning engine that solves the Instance Checking inference problem. Consequently, technology-dependent and independent elements are expressed within an OWL Ontology. In order to automatically derive project-specific information, i.e. the used technology, we extended Scholl‘s Scope concept into a required scope constraint. We evaluated our developed prototypical implementation with a case study. Within the case, we were able to reduce the amount of manually constructed software delivery models by 88%. This indicates that our introduced approach is reducing the required construction and maintenance effort.