Article Preview
TopIntroduction
Software startups have gained importance not only in the context of the small to mid-size companies but also in the context of large corporations as these have started collaborating with startup entities. Since software startups always strive for innovative features in their software products or explore low costs customer-centric new products or services, requirements engineering (RE) is quiet difficult in practice for startups and is highly volatile in nature (Tripathi et al., 2018). We call ‘software startups’ those organizations focused on the creation of high-tech and innovative products, with little or no operating history, aiming to aggressively grow their business in highly scalable markets (Giardino et al., 2016). According to previous research (Klotins et al., 2019; Bosch et al., 2013), software startups are those companies that are designed to deliver software products or services under conditions of extreme uncertainty and a minimum of operational staff. Software development practices of software startups are different from those in “traditional” software companies (Paternoster et al., 2014; Klotins et al., 2015; Giardino et al., 2016; Klotins et al., 2019). These authors observed that the software startup companies cannot be expected to adopt any established (traditional) software development methods beyond lean development principles (Poppendieck & Poppendieck, 2003; Blank, 2013) or agile methods (Paternoster et al., 2014; Iniyat et al., 2015; VenuGopal et al., 2017) for RE process and product development. Using the term ‘traditional’, we refer to methods such as waterfall, prototype-based, spiral and rapid application development being used in companies during software development commencing from the RE through testing (Pressman, 2010). Moreover, although agile methods are designed for embracing change and dealing with uncertainties, and a few software startups are applying them partially for their software development, many of startups find it hard to implement the agile practices systematically, owing it to shortage of resources and time (Klotins et al., 2019).
Authors of previous publications (Blank, 2013; Paternoster et al., 2014, Giardino et al., 2014; Klotins et al., 2015; Bajwa et al., 2017;Tripathi et al., 2018; Klotins et al., 2019) have endorsed the need for a unique and simplified RE model or framework for software startups, however, there have been relatively little research efforts until now to explicate and propose such a RE model for software startups. Published systematic literature reviews on startups have taken a business perspective and treated success factors for startups (Song et al., 2008; Santisteban et al., 2017; Klotins et al., 2018; Tripathi et al., 2018), knowledge management practices in startups (Centobelli et al., 2017), open innovation processes (Spender et al., 2017) or the similarities in the RE activities in software startups with that of agile methods (Melegati et al., 2019). Very little is known about how startups handle requirements for their systems, services and products (Gralha et al., 2018). This gap motivated our present study on RE for startups.
Our study’s objective is to identify and understand the requirements activities that startups use and the ways in which users participate in these activities to facilitate startups’ development teams to develop a market-driven and customer-centric software product. To meet this objective, we used the Design Science Research (DSR) (Hevner et al., 2004; Vaishnavi and Kuechler, 2015) methodology and propose a RE framework for software startup. The framework was evaluated in the real-world setting at four software startups and the evaluation results indicated a positive climate for its utilization by the practitioners in these companies