Improving developer experience with virtualized development environments

Loading...
Thumbnail Image

URL

Journal Title

Journal ISSN

Volume Title

School of Business | Master's thesis

Date

Major/Subject

Mcode

Language

en

Pages

90 + 8

Series

Abstract

This master’s thesis focuses on improving the process of setting up local development environments. Local development environments are necessary for developing and testing software applications on developer’s local machine. This process often contains a lot of manual tasks and can also be time consuming and error prone. Thus, it causes friction for organizations conducting software development. Virtualization technologies enable developers to define environments with all the necessary tooling included for running a software application. This environment can be pre-defined and automatically started, always resulting in a consistent environment. The hypothesis of the thesis is that virtualization technologies could alleviate the pain points in the process of setting up development environments. In order to see the process and its pain points from developer’s perspective, the concept of developer experience is being used. Developer experience is a concept which encapsulates the thoughts, and the feelings developers are going through while developing software and can be used as a tool for improving software project environments. This study uses Action Design Research method for building and evaluating the theory- ingrained software artifact proposed in the literature review. After building the artifact the practitioners are interviewed about their experiences regarding the process of setting up their local development environments. The interview data is analyzed with qualitative methods and utilized for making insights about the process, it’s problems and possible solutions for these problems. Findings suggest that virtualization technologies can provide benefits for the process. The magnitude of benefits depends on the organizational context. The benefits are greatest in an organization where developers are frequently setting up and tearing down their environments. In some cases, the benefits are not as easy to achieve as in others because of the immaturity of the virtualization technologies for this specific use-case. While it’s not recommended for any company to adopt virtualized approach for software development, the results of this study suggest that industry leaders should keep an eye on the development of these technologies tools that support virtualized development.

Description

Thesis advisor

Ghanbari, Hadi

Other note

Citation