Simo Mäkinen defends his PhD thesis on Increasing Release Frequency by Accelerating Software Development Cycles

On Friday the 28th of April 2023, M.Sc. Simo Mäkinen defends his PhD thesis on Increasing Release Frequency by Accelerating Software Development Cycles in Software Engineering. The thesis is related to research done in the Department of Computer Science and in the Empirical Software Engineering group.

M.Sc. Simo Mäkinen defends his doctoral thesis Increasing Release Frequency by Accelerating Software Development Cycles in Software Engineering on Friday the 28th of April 2023 at 13 o'clock in the University of Helsinki Exactum building, Auditorium CK112 (Pietari Kalmin katu 5, Basement). His opponent is Associate Professor Eric Knauss (Chalmers University of Technology and University of Gothenburg, Sweden) and custos Professor Tomi Männistö (University of Helsinki). The defence will be held in English. 

The thesis of Simo Mäkinen is a part of research done in the Department of Computer Science and in the Empirical Software Engineering group at the University of Helsinki. His supervisors have been Professor Tomi Männistö (University of Helsinki), Professor Tommi Mikkonen (University of Jyväskylä) and University Lecturer Antti-Pekka Tuovinen (University of Helsinki).

Increasing Release Frequency by Accelerating Software Development Cycles in Software Engineering

In recent years, companies engaged in software development have taken into use practices that allow the companies to release software changes almost daily to their users. Previously, release frequency for software has been counted in months or even years so the leap to daily releases can be considered big. The underlying change to software development practices is equally large, spanning from individual development teams to organizations as a whole.

The phenomenon has been framed as continuous software engineering by the software engineering research community. Researchers are beginning to realize the impact of continuous software engineering to existing disciplines in the field. Continuous software engineering can be seen to touch almost every aspect of software development from the inception of an idea to its eventual manifestation as a release to the public. Release management or release engineering has become an art in itself that must be mastered in order to be effective in releasing changes rapidly. Empirical studies in the area should be helpful in further exploring the industry-driven phenomenon and understanding the effects of continuous software engineering better.

The purpose of this thesis is to provide insight into the habit of releasing software changes often that is promoted by continuous software engineering. There are three main themes in the thesis. A main theme in the thesis is seeking an answer to the rationale of frequent releases. The second theme focuses on charting the software processes and practices that need to be in place when releasing changes frequently. Organizational circumstances surrounding the adoption of frequent releases and related practices are highlighted in the third theme.

Methodologically, this thesis builds on a set of case studies. Focusing on software development practices of Finnish industrial companies, the thesis data has been collected from 33 different cases using a multiple-case design. Semi-structured interviews were used for data collection along with a single survey. Respondents for the interviews included developers, architects and other people involved in software development. Thematic analysis was the primary qualitative approach used to analyze the interview responses. Survey data from the single survey was analyzed with quantitative analysis.

Results of the thesis indicate that a higher release frequency makes sense in many cases but there are constraints in selected domains. Daily releases were reported to be rare in the case projects. In most cases, there was a significant difference between the capability to deploy changes and the actual release cycle. A strong positive correlation was found between delivery capability and a high degree of task automation. Respondents perceived that with frequent releases, users get changes faster, the rate of feedback cycles is increased, and product quality can improve.

Breaking down the software development process to four quadrants of requirements, development, testing, and operations and infrastructure, the results suggest continuity is required in all four to support frequent releases. In the case companies, the supporting development practices were usually in place but specific types of testing and the facilities for deploying the changes effortlessly were not. Realigning processes and practices accordingly needs strong organizational support. The responses imply that the organizational culture, division of labor, employee training, and customer relationships all need attention.

With the right processes and the right organizational framework, frequent releases are indeed possible in specific domains and environments. In the end, release practices need to be considered individually in each case by weighing the associated risks and benefits. At best, users get to enjoy enhancements quicker and to experience an increase in the perceived value of software sooner than would otherwise be possible.

Avail­ab­il­ity of the dis­ser­ta­tion

An electronic version of the doctoral dissertation is available on the e-thesis site of the University of Helsinki at http://urn.fi/URN:ISBN:978-951-51-9145-8.

Printed copies will be available on request from Simo Mäkinen: simo.v.makinen@helsinki.fi.