Towards Effective Technical Debt Decision Making in Software Startups: A Multiple Case Study of Web and Mobile App Startups

Author/Creator

Author/Creator ORCID

Date

2021-01-01

Department

Information Systems

Program

Information Systems

Citation of Original Publication

Rights

This item may be protected under Title 17 of the U.S. Copyright Law. It is made available by UMBC for non-commercial research and education. For permission to publish or reproduce, please see http://aok.lib.umbc.edu/specoll/repro.php or contact Special Collections at speccoll(at)umbc.edu
Distribution Rights granted to UMBC by the author.
Access limited to the UMBC community. Item may possibly be obtained via Interlibrary Loan thorugh a local library, pending author/copyright holder's permission.

Abstract

Technical Debt (TD) is a suboptimal technical solution to expedite and reduce thecost of the software development in the short term, but entails extra work in future. It has been used intensively in startup organizations to cope with the limited resources and the uncertainty about the product-market fit. Despite the many advantages that TD can provide for startups (e.g., faster release within minimum cost), it could have some negative impacts that directly affect the startup team's ability to maintain and evolve the software. These impacts could also escalate to affect the velocity of delivering software releases and the ability to meet market demand. Currently, there is no clear guidance about how startups can effectively deal with TD. In this dissertations, we aim to help software team in startups to maximize the benefits of TD while minimizing its negative impacts. We conducted a multiple case study to investigate TD decisions in fiveweb/mobile app startups, to understand how TD decisions are made, their impacts, and how they should have been made in hindsight. Our study covered different timeframes within the startup evolution (i.e., starting from when a startup is founded until it becomes a mature organization). For each case, we interviewed the CEO/CTO and several software developers (a total of 17 participants) and analyzed public documents. First, we focused on four cases to generate our results and develop our decision model. Then, we conducted the fifth case to evaluate and refine our decision model. Finally, we performed three follow-up interviews with three participants from different cases to evaluate our final decision model. Our results provide an easy-to-interpret decision model that can guide software teams in startups to make effective TD decisions throughout the startup evolution.