Software Engineering In Start-up Companies
Eriks Klotins
Doctoral Dissertation in Software Engineering

Abstract

Background: Start-up companies have emerged as suppliers of innovation and software-intensive products. Small teams, lack of legacy products, experimental nature, and absence of any organizational processes enable start-ups to develop and market new products and services quickly. However, most start-ups fail before delivering any value.

Start-up failures can be attributed to market factors, shortcomings in business models, lack of motivation, or self-destruction, among other reasons. However, inadequacies in product engineering precede any market or business-related challenges and could be a significant contributing factor to start-up failures. At the same time, state-of-the-art software engineering (SE) practices are often neglected by start-ups as inadequate.

At the beginning of this work, SE in start-ups had attracted very little attention from researchers. Thus, there was no coherent view of SE state-of-practice in start-ups and no starting point for a focused investigation.

Objectives: In this thesis, we explore how start-ups practice SE, what specific SE challenges should be addressed, and what new SE practices are needed to support the engineering of innovative software-intensive products and services.

Results: A substantial part of this work is exploratory and aimed to explore SE state-of-practice in start-ups. Our initial findings suggest that start-ups overlook the best SE practices. Teams of a few people working on experimental and straightforward software see no upside of following the best practices. However, late start-ups face substantial challenges as their teams grow and products become more complex. The key difficulties concern installing adequate SE practices supporting collaboration, coordination of work, and management of accumulated technical debt. To support the evolution of engineering practices in start-ups, we propose the start-up progression model outlining engineering goals, common challenges, and useful practices with regards to the start-up life-cycle phases.

Further findings suggest inadequate support for market-driven requirements engineering (MDRE). Specifically, on how to aggregate needs and wishes of a large and loosely defined set of stakeholders who may not be able to articulate their needs and expectations. To address this challenge, we propose a method for the identification and prioritization of data sources and stakeholders in MDRE.

Analyzing SE context in start-ups and other organizations developing innovative and market-driven products, we have found many similarities. While start-ups have challenges, they do not appear to be unique. Thus, most start-up challenges can be addressed by transferring the best practices from other engineering contexts.

Conclusions: We conclude that there is a little need for start-up specific engineering practices. Best software engineering practices are relevant to address challenges in start-ups. The key engineering challenge in start-ups is the management of the evolution of SE practices to match the growing complexity of the product and the organization. Our work also highlights the need for better MDRE practices to support new market-driven product development in both start-ups and other types of organizations.

Download thesis

Contact information

Eriks Klotins

PhD student

eriks.klotins@bth.se

Prof. Dr. Tony Gorschek

Primary advisor, Examiner

tony.gorschek@bth.se

Dr. Michael Unterkalmsteiner

Secondary advisor

michael.unterkalmsteiner@bth.se

External reviewer and grading committee

Reviewer:
Prof. Dr. Tony Wasserman, Carnegie Mellon University, USA
Committee:
Dr. Eric Knauss, University of Gothenburg, Sweden
Prof. Dr. Walid Maalej, University of Hamburg, Germany
Dr. Maya Daneva, University of Twente, Netherlands
Dr. Emil Numminen, Blekinge Institute of Technology, Sweden

Event information

Time and date:
December 16, 2019
Place:
Campus Gräsvik, Karlskrona, Sweden

Included papers

  1. Klotins, Eriks, Michael Unterkalmsteiner, and Tony Gorschek. “Software Engineering in Start-up Companies: An Analysis of 88 Experience Reports.” Empirical Software Engineering, 2018, 1–35. pdf
  2. Klotins, Eriks, Michael Unterkalmsteiner, and Tony Gorschek. “Software Engineering Anti-Patterns in Start-Ups.” IEEE Software 36.2 (2019): 118-126. pdf
  3. Klotins, Eriks, Michael Unterkalmsteiner, Panagiota Chatzipetrou, Tony Gorschek, Rafael Prikladnicki, Nirnaya Tripathi, and Leandro Bento Pompermaier, “A progression model of software engineering goals, challenges, and practices in start-ups,” IEEE Transactions on Software Engineering, 2019. pdf
  4. Klotins, Eriks, Michael Unterkalmsteiner, Panagiota Chatzipetrou, Tony Gorschek, Rafael Prikladnicki, Nirnaya Tripathi, and Leandro Bento Pompermaier, “Exploration of Technical Debt in Start-Ups,” 75–84. International Conference of Software Engineering, ACM, 2018. pdf
  5. Klotins, Eriks, Michael Unterkalmsteiner, Panagiota Chatzipetrou, Tony Gorschek, Rafael Prikladnicki, Nirnaya Tripathi, and Leandro Bento Pompermaier, “Use of agile practices in start-ups,” submitted to a journal, 2019. pdf
  6. E. Klotins, “Software start-ups through an empirical lens : are start-ups snowflakes ?” in International Workshop on Software-intensive Business: Start-ups, Ecosystems and Platforms, 2018. pdf
  7. Eriks Klotins, Veselka Boeva, Krzysztof Wnuk, Michael Unterkalmsteiner and Tony Gorschek "A Collaborative Method for Identification and Prioritization of Data Sources in MDRE", submitted to a journal, 2019. pdf