Software development in startup companies: A systematic mapping study
Summary (9 min read)
1. Introduction
- A wide body of knowledge has been created in recent years through several empirical studies, investigating how companies leverage software engineering (SE) [1, 2].
- Startups typically aim to create high-tech and innovative products, and grow by aggressively expanding their business in highly scalable markets.
- From a software engineering perspective startups are unique, since they develop software in a context where processes can hardly follow a prescriptive methodology [11].
- The systematic map consists of 43 primary studies that were identified from an initial set of 1057 papers.
- The remainder of this paper is structured as follows: Section 2 describes background and related work; Section 3 illustrates the research methodology and discusses validity threats; Section 4 introduces the classification schema, developed from the gathered data; Section 5 presents the results of the mapping study.
2.1. Software Startups
- An early account for the term startup in the SE literature can be found in Carmel [19] who studied in 1994 the time-tocompletion in a young package firm.
- Sutton [3] provides a characterization of software startups, defined by the challenges they are faced with: little or no operating history - startups have little accumulated experience in development processes and organization management.
- Multiple influences - pressure from investors, customers, partners and competitors impact the decision-making in a company.
- Overall they might be inconsistent.
- Dynamic technologies and markets - newness of software companies often require to develop or operate with disruptive technologies2 to enter into a high-potential target market.
2.2. Startup Lifecycle
- The lifetime of a startup company, from idea conception to the maturity level, has been identified and reported from different perspectives (e.g. market [37] and innovation [38]).
- A prominent contribution, from a SE viewpoint, is the model presented by Crowne [8], who synthesized the startup lifecycle in four stages.
- This time frame is characterized most from the need to assemble a small executive team with the necessary skills to start to build the product.
- The stabilization phase begins from the first sale, and it lasts until the product is stable enough to be commissioned to a new customer without causing any overhead on product development.
- Finally, the startup evolves to a mature organization, where the product development becomes robust and predictable with proven processes for new product inventions.
2.3. Software Development in Startups
- The implementation of methodologies to structure and control the development activities in startups is a major challenge for engineers [11].
- In general, the management of software development is achieved through the introduction of software processes, which can be defined as “the coherent set of policies, organizational structures, technologies, procedures, and artifacts that are needed to conceive, develop, deploy and maintain a software product” [21].
- Furthermore, startups have very limited resources and typically wish to use them to support product development instead of establishing processes [11, 24].
- Researchers emphasize the importance of time-tomarket as a key strategic objective [31, 32].
- Other peculiar aspects influencing software development in the market-driven context are related to requirements, which are reported to be often “invented by the software company” [33], “rarely documented” [34], and can be validated only after the product is released to market [35, 36].
3. Research methodology
- The authors chose to perform a systematic mapping study (SMS), which is capable of dealing with wide and poorly-defined areas [15, 4].
- A systematic literature review (SLR) [4] would have been a less viable option due to the breadth of their overall research question:.
- The SMS procedure was led by the first and second authors, who performed the steps in Figure 1 in a co-located environment, i.e. working together on a single computer screen.
- Notetaking during screening of papers and keywording alleviated the resolution of conflicts among the reviewers during data extraction and rigor and relevance assessment.
3.1. Definition of Research Questions
- The research question driving this mapping study is:.
- To answer this question, the authors state the following sub-questions: RQ1.
- With RQ2 the authors intend to determine the scientific evidence of the results reported in the state-of-art, allowing researchers to identify worthwhile avenues for further work and providing practitioners a tool to navigate within the state-of-art.
3.2. Conduct Search
- The authors identified the primary studies by exercising a search string on scientific databases.
- The authors omitted however the outcome and context facet from the search string structure as their research questions do not warrant a restriction of the results to a particular outcome (e.g. effective/not effective work practices) or context (e.g. startups in a specific product domain).
- The core concepts, representing population, intervention and comparison, are derived from their research questions.
- The selected scientific databases on which the authors performed the search are shown in Table 2, along with the number of publications retrieved from each database (up to December 2013).
- Then, the authors proceeded to the customization of the search string, adapting the syntax to the particular database4.
3.3. Screening of Relevant Papers
- The criterion that guided the inclusion of a paper was that the study presented a contribution to the body of knowledge on software development in startups.
- A contribution can be in the form of an experience report, applied engineering practices, development models or lessons learned.
- For the screening of papers the authors followed the workflow in Figure 2.
- Then, the authors removed duplicated items in two steps: first they used the reference management tool to automatically detect duplicates based on meta-data (author, publication year and title).
- In a more in-depth review, the authors analyzed the abstract of each paper, determining whether it matched their inclusion criterion, resulting in 76 papers.
3.4. Keywording
- The goal of keywording is to efficiently create a classification schema, ensuring that all relevant papers are taken into account [15].
- The authors followed the process illustrated in Figure 3.
- The first step consisted in reading the abstracts of the primary studies, assigning them a set of keywords to identify the main contribution area of the paper.
- By progressively fitting the papers into categories, the schema underwent a refinement process, being continuously updated to account for new data.
- When performing data extraction and mapping (Subsection 3.5), the authors annotated the classification with evidence from the respective paper, further refining the schema and sorting.
3.5. Data Extraction and Mapping
- After the authors defined the classification schema, resulting from the keywording process, they proceeded to systematically extract data from the primary studies.
- The authors took advantage of the data extraction process to identify an additional relevant aspect which emerged while reading abstracts and the full text: the recurrent patterns of common attributes among startup companies resulted in themes that are reported in Subsection 5.2.
- Moreover, the authors screened the bibliography of each paper, identifying other possible relevant studies to their research, adopting the snowballing technique5 [59].
- 5Note that the authors didn’t identify any additional papers.
- In case more relevant papers would have been retrieved, a re-iteration of the keywording step would have been necessary (see Subsection 3.4).
3.6. Rigor and relevance assessment
- A major challenge of SE is to transfer research results and knowledge to practitioners, showing the findings’ validity and concrete advantages [51].
- The model provides a set of rubrics to measure rigor and relevance, dividing these two factors into different aspects, and quantifying the extent to which each aspect is considered in the study (see Ivarson and Gorschek [60] for an application of the model).
- The authors considered aspects relating to: Subjects - use of subjects who are representative of the intended users of the technology.
- The ranking function provides a rough estimation of the value that a paper provides to practitioners and the research community, giving a stronger weight to recent rigorous journal publications entirely devoted to the topic and presenting empirical results relevant to practitioners.
- The conversion tables used to quantify the internal score of each factor are shown in the supplementary material [55], while the limitations of this approach are discussed in Subsection 3.8.3.
3.7. Synthesis
- In the synthesis the authors identified the main concepts from each primary study, using the original author’s terms in a one line statement.
- Those main concepts were then organized in tabular form to enable comparisons across studies and translation of findings into higher-order working practices and classification categories.
- The authors used the classification categories from Section 4.
- This process is analogous to the method of constant comparison used in qualitative data analysis [52].
- In Section 7 the authors present the identified work practices, discussing their application in the startup context, their benefits and liabilities, and putting them in perspective with the results of other studies.
3.8. Threats to validity
- The authors identified potential threats to the validity of the systematic mapping and its results, together with selected mitigation strategies.
- The structure of this Section follows Unterkalmsteiner et al. [61].
3.8.2. Identification of primary studies
- The approach the authors used to construct the search string (see Subsection 3.2) aimed to be inclusive with respect to the number of retrieved papers, related to software development in startups.
- The authors were not able to retrieve 20 papers since they were neither available in online catalogs, in the three libraries they consulted, nor on request from the authors.
- This is a minor risk as the authors had access to their titles, keywords and abstracts, which gave us a good degree of confidence that they were not relevant.
- The authors noticed high inconsistency in the use of the term “startup” by different researchers, even in the same area.
- Under these conditions, the attempt to identify a body of knowledge and research scope has been highly challenging.
3.8.3. Study selection and data extraction
- Threats to study selection and data extraction [57] have been mitigated with an up-front definition of the inclusion/exclusion criteria [4].
- The selection of relevant primary studies can be further biased by personal opinions of researchers executing the process.
- To mitigate this threat, the authors defined and documented a rigid protocol for the study selection and, by conducting the selection together and dedicating a reasonable amount of time to review conflicts, mutually adjusting each others’ biases, as suggested by Kitchenham and Charters [4].
- The ranking itself gives an indication of the study quality, the individual contribution needs however to be qualified by the reader [51].
- For validating their ranking, the authors tried to modify scores/weights values several times, and they observed that the final ranking was not significantly altered by numerical adjustments, as long as they kept the ordering of concepts stable.
4. Classification schema
- In this section the authors present the classification schema that is adapted from other existing taxonomies or emerged from the keywording process.
- The research types were adapted from Wieringa [64].
- The contribution facet (Table 4b), similarly to the taxonomy used by Shaw [65], describes the kind of contribution a study provides.
- The authors separated thereby studies concerning software development practices (e.g. writing user stories [13]) from studies focused on higher-level process management (e.g. use Scrum methodology [66]).
- The pertinence facet (Table 4d) distinguishes the levels (full, partial, marginal) on which the study’s research focus is directed towards engineering activities in startups.
5. Results
- This section presents the results of the systematic mapping study.
- From an initial sample of 1057 papers, the authors identified 43 primary studies answering their research questions.
5.1. Startup research categorization
- Figure 4 shows the publication years’ frequency distribution, from 1994 to 2013.
- These formed the basis6 for the focus and pertinence facet of the classification schema (Section 4).
- Table 5 applies the classification schema on the primary studies, providing an overview of the field of startup research.
- Thus, the authors created three plots (Figures 5 - 7) to visualize all six possible facets combinations 6The raw data is provided in the supplementary material [55].
- In the same figure it is possible to observe that 8 studies with managerial and organizational focus contributed to the body of knowledge with a model.
5.2. Context characteristics of startups
- To illustrate how authors use the term “software startup”, the authors systematically extracted themes which characterize the companies in the selected primary studies.
- When discussing software startups, 18 authors reported a general lack of human, physical and economical resources (T1).
- Other studies refer to companies which are able to quickly react to changes in the market and technologies (T2), under remarkably uncertain conditions (T4).
- Furthermore, 14 authors write about startups as fast growing companies (T5) designed to rapidly scale-up.
- Finally, other studies agree on the highly risky nature of these businesses (T13), being newly created (T11) and therefore with no or little working history (T15).
5.3. Rigor and relevance
- Even though the scientific value of a study is not determined by the publication type, the peer-review process required for publishing a journal article is generally much more rigorous and formal than the procedure to get an article published in a scientific magazine or accepted to a conference [99].
- It can be interpreted as a first indicator of scientific quality.
- The authors formally assessed the quality of the primary studies with the rigor and relevance process described in Subsection 3.6, resulting in Figure 8 (the raw data for this figure is available in the supplementary material [55]).
- Twenty-one studies (49%) exhibit moderate industry relevance (relevance ≥ 2), showing however low scientific rigor (rigor ≤ 1.5).
6. Analysis of the state-of-art
- More than 65% of the 43 identified primary studies have been published in the last ten years (between 2004 and 2013, see 7The publication criteria are determined by the specific editor of the journal/magazine or the committee of a conference.
- The overall studies’ contribution types are for the greater part weak: advice and implication, lessons learned, tools and guidelines (27 studies, 63%, Figure 5).
- One can also observe in the same figure that 11 of these are related to managerial and organizational factors, and only 8 out of 21 have a full pertinence with engineering activities in software startups (Figure 7).the authors.
- To summarize the systematic map, the authors can state that Coleman and O’Connor [72, 11, 22], and Kajko-Mattson and Nikitina [13] represent the strongest contributions to the field of startup research, considering strength of contribution type, pertinence to engineering activities and strength of empirical evidence.
6.1. RQ1 - The context characterizing software development in startups
- The results (Table 6) indicate that there is no agreement on a standard definition, specifying the characteristics of a “startup”.
- Apparently, the definition is not strictly related to the size of the company.
- Uniqueness is not defined through the age of the company alone: some authors studied startups which have been operating for many years [79], while others are more strict and limit the definition to only recently founded companies [13].
- The most frequent reported themes concern the general lack of resources, high reactiveness and flexibility, innovation, uncertain conditions, time pressure and fast growth.
- Since the contextual boundaries of startups resulted to be highly blurred, it is the researchers’ responsibility who refer to “startups” to explicitly define the features of the company under study (e.g. company age, team size, product type, product development time).
6.2. RQ2 - Transferability of results to industry
- Figure 8 illustrates a major weakness of the state-of-art in startup research.
- Seven primary studies (16% of the total), received an average score for industrial relevance (2) but a low score (0) for scientific rigor.
- According to the authors of the rigor-relevance model [51], this represents a major threat to the transferability of the results to industry.
- The design of the ranking function considers their research question of identifying software engineering work practices in startups.
- The conversion tables to achieve a normalized score are available in the supplementary material [55].
7. RQ3 - Work Practices in startups
- The authors have extracted a total of 213 work practices8 from the 43 primary studies reviewed in this SMS and subsequently divided them in categories (Table 8), as explained in Subsection 3.7.
- The categorization of working practices is defined according to the focus facet of the classification schema, presented in Figure 4c.
- In the remainder of this section, the authors discuss the identified work practices, pointing out where gaps exist and further research is warranted.
- 8Note that this number does not reflect unique work practices but the total number; a detailed table of work practices is available in the supplementary material [55].
7.1. Process management practices
- Process management represents all the engineering activities used to manage product development in startups.
- Agile methodologies have been considered the most viable processes for software startups, given that Agile methodologies embrace changes rather than avoiding them, allowing development to follow the business strategy [93].
- This concurs with the practice of allocating varying effort for formalizing specifications, design, documentation and testing in tailored development methodologies [91, 82, 19], emphasizing the importance of minimal process management.
- Fast releases to build a prototype in an evolutionary fashion and quickly learn from the users’ feedback to address the uncertainty of the market.
- Therefore, any process tailored to the startup context needs at least to allow, but optimally even facilitate movements between complex and chaotic domains that are intrinsic in the innovation generation of startups.
7.2.1. Requirements Engineering practices
- Establishing an engineering process for collecting, defining and managing requirements in the startup context is challenging.
- RE practices are often reduced to some key basic activities [82, 8].
- Initially, as startups often produce software for a growing target market [29, 19], customers and final users are usually not well-known and requirements are therefore market-driven [90] rather than customer-specific.
- Moreover, in unexplored and innovative markets, the already poorly-defined requirements tend to change very rapidly.
- An example of a more strict customer-development process [105] that drives the identification of requirements can be found in an experience report by Taipale [93].
7.2.2. Design and Architecture practices
- Deias and Mugheddu [63] observed a general lack of written architecture and design specifications in startups.
- Development in startups is usually guided by simple principles, trying to avoid architectural constraints that are difficult to overcome as the product and user-base grows.
- Tinglings [80] results suggest that a not well analyzed architecture causes problems in the long run.
- A good-enough architecture analysis should at least identify the decisions that might cause problems before obtaining product revenue, and which can be fixed at a later point in time, accounting for increased resources after revenue cash starts to flow [92].
- Therefore, employing architectural practices and frameworks that enable easy extension of the design (e.g. pluggable architecture where features can be added and removed as plugins [108]) can better align the product to the uncertainty of the market needs.
7.2.3. Implementation, Maintenance and Deployment practices
- Silva and Kon [67] report on positive results from pairing up senior and junior developers together in pair-programming sessions.
- In a different study, Tingling [80] attested an initial high resistance to the introduction of coding standards and pair-programming.
- On the other hand, introducing refactoring may cause problems since developers had no or little experience [63] and they didn’t see immediate value in introducing high level abstractions [67].
- The process is often driven by lightweight ad-hoc systems: bug-tracking, simple code metrics and pair-programming sessions.
- Startups in the early stage keep the code base small and simple to develop only what is currently needed, maintaining focus on core functionalities to validate with first customers.
7.2.4. Quality Assurance practices
- Testing software is costly in terms of calendar time and often compromised in startups [19, 82].
- Quality assurance, in the broader sense, is largely absent because of the weak methodological management, discussed in Subsection 7.1.
- Mater and Subramanian [68] suggest to use a small group of early adopters or their proxies as quality assurance fit team.
- Outsourcing quality assurance to external software testing experts, handling the independent validation work if resources are not available [68], can also be an alternative.
- Even though testing software is costly, acceptance tests are the only practice to validate the effectiveness of the product in uncertain market conditions [29].
7.3. Managerial and organizational practices
- Flexibility, more than structure, plays an important role in startup companies [85, 96].
- To accommodate flexibility of managerial and organizational practices, the empowerment of team members represents the main viable strategy to enhance performance and chances of success [19, 78].
- Nevertheless, key performance indicators (e.g. customer attrition, cycle time) and continuous deployment processes can effectively assess the consumers’ demand using the least amount of resources possible [103].
- In building up a startup company, the team needs expertise to counterbalance the lack of resources [27, 22, 92].
- Moreover, Crowne suggests to plan organizational objectives in the short-medium term [8], measuring development cycle time to find areas for improvements [93, 13].
7.4. Tools and technologies
- Startups are often established to develop technologically innovative products, which in turn might require cutting-edge development tools and techniques.
- In general, startups take advantage of those technologies that can quickly change the product and its management [67, 8], avoiding conflicts with business strategic plans.
- Such technologies support the needed activities, accommodating changes when required [3].
- The use of easy-to-implement tools to work with fast-paced changing information.
- Lack of experience can also be a disadvantage which could be compensated by a light-weight process to select technologies; this selection could be guided by domain-specific or product specific requirements.
Did you find this useful? Give us your feedback
Citations
776 citations
214 citations
Cites background from "Software development in startup com..."
...[65]) was designed to distinguish between studies entirely devoted to CD and studies with a broader perspective....
[...]
160 citations
147 citations
144 citations
References
22,762 citations
"Software development in startup com..." refers methods in this paper
...Then the use of design patterns [106], e....
[...]
20,446 citations
"Software development in startup com..." refers methods in this paper
...This process is analogous to the method of constant comparison used in qualitative data analysis [52]....
[...]
...Note that rigor and relevance assessment is an extension attributed to Ivarsson and Gorschek [51] and synthesis is based on the constant comparison method proposed by Strauss and Corbin [52]....
[...]
8,181 citations
"Software development in startup com..." refers background in this paper
...Even though the scientific value of a study is not determined by the publication type, the peer-review process required for publishing a journal article is generally much more rigorous and formal than the procedure to get an article published in a scientific magazine or accepted to a conference [99]....
[...]
7,758 citations
4,352 citations
"Software development in startup com..." refers background or methods in this paper
...Zhang and Babar [6] report on 148 SLR’s and SMS’s published between 2004 and 2010....
[...]
...suggested by Kitchenham and Charters [4]....
[...]
...The review in this paper follows the guidelines developed by Kitchenham and Charters [4] and implements the systematic mapping process proposed by Petersen et al....
[...]
...To mitigate this threat, we defined and documented a rigid protocol for the study selection and, by conducting the selection together and dedicating a reasonable amount of time to review conflicts, mutually adjusting each others’ biases, as suggested by Kitchenham and Charters [4]....
[...]
...Systematic reviews suffer from the common bias that positive outcomes are more likely to be published than negative ones [4]....
[...]
Related Papers (5)
Frequently Asked Questions (18)
Q2. What have the authors stated for future works in "Software development in startup companies: a systematic mapping study" ?
While the characterization of startups through recurrent themes presented in this paper can serve as a basis, future work is needed to compile a common startup terminology and a set of definitions.
Q3. What is the key to improving quality assurance in startups?
providing timeefficient means to develop, execute and maintain acceptance tests is the key to improve quality assurance in startups [68].
Q4. What is the main strategy for enhancing performance and chances of success?
To accommodate flexibility of managerial and organizational practices, the empowerment of team members represents the main viable strategy to enhance performance and chances of success [19, 78].
Q5. What are examples of startups that evolved into successful businesses?
New software ventures such as Facebook, Linkedin, Spotify, Pinterest, Instagram, and Dropbox, to name a few, are examples of startups that evolved into successful businesses.
Q6. What is the important factor contributing to academic results being applied in the industry?
One of the most important factors contributing to academic results being applied in the industry is the provision of strong scientific evidence [101, 102].
Q7. What is the important architectural aspect in startups?
As reported by Yoffie [76], scalability represents the most important architectural aspect in startups and should be addressed as soon as possible.
Q8. How did the authors mitigate the threat of the final ranking?
To mitigate this threat, the authors used an automatic spreadsheet to compute the final scores, allowing us to adjust scores and weights, observing the effect of the final ranking in real time.
Q9. What are the main principles of development in startups?
Development in startups is usually guided by simple principles, trying to avoid architectural constraints that are difficult to overcome as the product and user-base grows.
Q10. What is the main requirement for startups to have the freedom to choose activities quickly?
Developers should have the freedom to choose activities quickly, stop immediately when results are wrong, fix the approach and learn from previous failures.
Q11. How many studies are dedicated to software development in startups?
Only 16 studies (37%) are entirely dedicated to software development in startups, whereby 10 studies constitute a weak contribution type.
Q12. What are the peculiar aspects influencing software development in the market-driven context?
Other peculiar aspects influencing software development in the market-driven context are related to requirements, which are reported to be often “invented by the software company” [33], “rarely documented” [34], and can be validated only after the product is released to market [35, 36].
Q13. What factors were used to determine the ranking of the papers?
In order to rank the papers, the authors defined a function incorporating the classification schema, rigor and relevance scores, and two additional factors that characterize the publication type and year.
Q14. What is the main reason for the lack of open communication in startups?
In addition, open communication remains crucial for startups to handle engineering activities, understanding the progress, code conflicts and competences.
Q15. What is the risk of excluding relevant primary studies?
The risk of excluding relevant primary studies is further mitigated by the use of multiple databases, which cover the majority of scientific publications in the field.
Q16. How many primary studies received a low score for scientific rigor?
Seven primary studies (16% of the total), received an average score for industrial relevance (2) but a low score (0) for scientific rigor.
Q17. How did the authors mitigate the threat of bias in the selection of studies?
To mitigate this threat, the authors defined and documented a rigid protocol for the study selection and, by conducting the selection together and dedicating a reasonable amount of time to review conflicts, mutually adjusting each others’ biases, as suggested by Kitchenham and Charters [4].
Q18. What did the authors do to compensate for the limitation of the traditional SMS framework?
With this extension the authors compensate for the SMS’ limitation of not assessing the quality of the mapped studies by developing and using a simple ranking function.