Construction of Delivery Processes with Stateful Components

Continuous Delivery is a practice that focuses on minimizing the cycle time from changes to software release and simultaneously increasing the quality of the delivered software. By this means, delivery processes and their corresponding building, testing, deploying and releasing activities are automated using a process-based step-by-step descriptions of the individual tasks. However, modeling complex delivery processes is time-consuming and requires in-depth technical and process knowledge. Therefore, this thesis introduces a new declarative way of modeling delivery processes which focuses on architectural components and their corresponding artifacts. Hereby, artifacts of a component are abstracted to artifact states, leading to “stateful components”. Only initial and end artifact states of a component need to be stated, resulting in a reduced modeling complexity. We provide both a meta-model and its realization as a DSL for the form of modeling. In order construct a process-based delivery process that can be executed by delivery tools, we developed an automatic meta-model mapping procedure, that transforms the stateful component model into a process-based delivery model. With the intention of evaluating our concept, we modeled an industry project with stateful components and performed a small user study. The industry project was successfully transformed into a process-based delivery model and confirmed a reduced modeling complexity. Finally, junior and senior developers were asked to apply the form of modeling themselves and assess the easy of modeling, strengths and weaknesses. The results showed that in case of complex delivery processes, low-experienced developers appreciate that less technical and process knowledge is required, whereas highly-experienced developers favor a process-based modeling for more control over the delivery process. Furthermore, it became apparent, that there is a need for a hybrid modeling form, combining both an artifact-based and process-based view on the delivery process.