Abstract

Software innovation, the ability to produce novel and useful software systems, is an important capability for software development organizations and information system developers alike. However, the software development literature has traditionally focused on automation and efficiency while the innovation literature has given relatively little consideration to the software development context. As a result, there is a gap in our understanding of how software product and process innovation can be managed. Specifically, little attention has been directed toward synthesizing prior learning or providing an integrative perspective on the key concepts and focus of software innovation research. We therefore identify 93 journal articles and conference papers within the domain of software innovation and analyse repeating patterns in this literature using content analysis and causal mapping. We identify drivers and outputs for software innovation and develop an integrated theory-oriented concept map. We then discuss the implications of this map for future research.

1. Introduction

Innovation has become a mantra for organizations in almost every industry and for individuals working in almost every organizational function. Large organizations are appointing innovation managers and leading universities are establishing centres for innovation research. Within the software development industry, the pace of technological change fosters a particular sense of urgency surrounding the need to innovate. This drives innovation toward the heart of the business strategies of software development organizations [1]. Rose [2] argues that the forces of globalisation, standardisation, and industrialisation are pressing software development firms in developed countries to become increasingly reliant on their innovation skills. Globalisation can shift software development activities to countries with lower labour costs while standardisation and industrialisation ensure that the functional scope of existing software can be readily extended through relatively modest changes performed by less skilled labour. The software industry is thus following the path of other engineering industries that have been moving routine tasks to developing countries, leaving developed countries to compete through innovation. At the same time, Pikkarainen et al. [1] argue that software innovation differs from other forms of innovation. Software is intangible and highly malleable, has a low market entry threshold, and often depends on the input of users and experts. They also point out that software development organizations are extremely diverse in nature, having very different innovation needs and styles. Whereas large organizations such as Apple and Google are dependent on innovation to capture market share, small start-ups depend on innovation to carve out profitable market niches [3, 4]. As a result, understanding the unique nature of software innovation and the factors that drive it is of considerable importance to both research and practice.

The research community has been slow to articulate and respond to the need for better understanding of software innovation. Traditional software development research has tended to focus on issues of automation and efficiency [2] while the management and information system (IS) innovation literature has a complementary but distinct focus on organizational innovations that use information technology (IT) as a driving force or catalyst. Finally, innovation research in other disciplines has largely overlooked the software development industry. Nevertheless, contributions from various perspectives have begun to examine some elements of the story. To give some examples, Avital and Te’eni [5] have developed the concept of generative capacity through their examination of the role of creativity in IS design, Carlo et al. [6] adopt a knowledge-oriented perspective that draws on absorptive capacity literature, Hoegl and Gemuenden [7] expose the role of teamwork, and Aaen [8] contributes a framework for system design. However, these authors do not reference each other such that an integrated view of how absorptive capacity may be translated through effective teamwork (harnessed through a design framework) into improved generative capacity is missing. Rather, these contributions tend to remain isolated such that common themes are not always evident and contributing strands of research have emerged without reference to each other. In this paper we therefore begin the work of synthesizing the literature that examines software innovation.

Innovation describes the creative act and the process of invention that is carried into wider use. It involves the exploitation of new ideas to engender changes in the practices of individuals or groups of individuals such as customers and users [2, 9]. A basic distinction can be made between product innovations as observed in the development of a useful new software application and process innovations such as the introduction of a new software development methodology [10, 11]. A distinction has also been made between radical innovations and incremental innovations where radical innovations produce fundamental changes in the structure of a scientific field or social system while incremental innovations build on existing foundations to clarify current understanding. An analogous distinction has been made between revolutionary and evolutionary innovations. Finally, innovations have been characterized as being either sustaining or disruptive in nature [12]. Sustaining innovations typically help organizations to compete within existing markets and value configurations whereas disruptive innovations lead to the creation of entirely new markets and value networks. Disruptive innovations thus tend to displace rather than complement existing technology. In aggregate, the diversity of views present in the literature serves to highlight the varied nature of innovation and the rather distinct implications that different forms of innovation can have for organizations and their wider environment.

Given the importance of software innovation to organizations and society, we undertake a literature study to synthesize the many detailed observations and assumptions about software innovation, the drivers of such innovation, and the numerous associations between these elements that have been presented in prior work. Research suggests a wide range of influences on software innovation, so it is worth examining two previous attempts at synthesis. Rose [2] draws from the academic literature to organize prior work into the categories of software trajectories and windows, community and network, the innovative software product, development process, personal creativity, teamwork, tools and techniques, and evaluation. In contrast, Pikkarainen et al. [1] offer a more practice-oriented synthesis, proposing eight arts of software innovation that include focusing, idea harvesting, idea valuation, openness, optimizing the impact of critical experts, crafting smart products, innovation stimulation, and innovation incubation. We follow the practice of these contributors and focus on the software team, the software team leaders and managers, the artefacts or products that they develop, and the processes they use to develop these artefacts in an effort to address the following research questions:(1)What software innovation outputs can be identified in the literature?(2)What are the salient drivers of innovation that can be identified?(3)How are salient innovation drivers and innovation outputs related?Our analysis spans individuals, teams, and the organizational context to better understand what drives software innovation. The ultimate objective of our work is to provide guidance to practitioners seeking to improve software innovation in their organizations and to provide clear direction to researchers seeking further understanding in this important domain. To these ends we offer a causal framework grounded in prior research and a set of specific research hypotheses that integrate and consolidate the previously disparate body of research surrounding software innovation.

Our study is theoretically, rather than empirically, oriented, aiming to identify and consolidate some of the existing strands of work surrounding software innovation. We present our findings as a concept map that incorporates the major concepts of the field together with relevant associations. The following section outlines our literature selection and analysis strategy. We then introduce the major innovation outcomes derived from this effort, salient contributors to these outcomes (drivers), and the underlying theoretical foundations. We conclude by summarizing the results of our analysis in a model of software innovation and by discussing the limitations and implications of our work for future research.

2. Literature Selection and Analysis Strategy

Systematic literature reviews are an important part of the development of a field, offering synthesis and reflection on previous theoretical work and providing solid grounding for the advancement of knowledge [13, 14]. Such reviews generally include a structured approach to identifying source material and the use of a concept matrix or other analytical frameworks to yield “a coherent conceptual structuring of the topic” [15, page ]. Further to this, systematic literature reviews rely on the use of clear, documented processes to ensure that any insights offered are trustworthy. The output is typically some form of evaluation, synthesis, or forward-looking guidance for researchers in a field [14]. This study shares some characteristics with a class of literature reviews known as systematic mapping studies [16] since these investigate a larger body of literature with the objective of structuring a research area. Given the relatively unstructured nature of current understanding surrounding software innovation, this paper offers a systematic literature review that structures past research to provide a conceptual map of software innovation and specific research propositions [17]. The review adheres to overall guidelines for systematic literature reviews in the software engineering field as established by Kitchenham and Charters [13] and summarized in Table 1.

We deployed a three-stage analysis strategy to search for relevant literature, code and refine major concepts, and map key links among these concepts. In the first stage we located relevant articles by searching the literature using guidelines offered by Webster and Watson [14]. The second stage involved content analysis of the abstracts of articles identified during stage one [1820]. The purpose of this analysis was to identify key contributions and address research questions (1) and (2) by iteratively refining key concepts for the study (software innovation outputs and drivers). The final stage addressed research question (3) through causal mapping of the identified set of key drivers that contribute to software innovation outputs. Causal mapping is a widely used technique for identifying conceptual links or relationships that are either explicitly demonstrated or implicitly assumed by a text [21, 22]. Our objective in pursuing causal mapping was to offer preliminary insights into the causal structure that surrounds software innovation. By constructing causal maps we aim to provide a clearer understanding of the underlying drivers that contribute to software innovation outputs and offer valuable insights into the relationships between them. Our literature study is thus a line of argument qualitative synthesis [13] in that we are primarily concerned with what we can infer about a larger topic through analysis of individual contributions that study parts of the issue and subsequent synthesis of the results of this analysis. Figure 1 provides an overview of the search, selection, coding, and mapping process.

The initial search of ISI Web of Knowledge was performed using a series of search strings that had been constructed through experimentation [13] to yield the most extensive search results possible without unduly sacrificing the relevance of these results. This led to the use of the following search words and phrases: “software AND innovation,” “software AND creativity,” “information AND systems AND innovation,” and “information AND systems AND creativity” (5179 hits). The search was then refined by focusing on relevant science, engineering, and business databases (4510 hits) as well as a group of 21 journals iteratively identified as being of importance to the topic (941 hits). These journals were identified using the AIS scholars’ basket of eight top information system journals, the AIS ranking list of information system journals, and a peer-reviewed list of scientific journals from the Danish research council (see Table 3). An initial vetting of article titles and abstracts was performed to eliminate obvious mismatches and the search was then expanded by forward and backward chaining using Google Scholar. Two researchers independently examined the relevance of the hits according to the inclusion criteria to insure inclusion quality [16]. All article abstracts for identified articles were retrieved and similarly vetted for quality and relevance to the theme. The search ended when Google Scholar searches yielded no new hits. This method resulted in an EndNote® library consisting of 236 references complete with their abstracts (available on request).

In the second stage of inquiry, content analysis was undertaken on the abstracts of the 236 articles identified during stage one. As a technique, content analysis yields “a relatively systematic and comprehensive summary or overview of the dataset as a whole” [23, page ]. It operates by observing repeating themes and categorizing them using a coding system. Our use of content analysis is similar to the thematic synthesis described by Cruzes and Dyba [24] in that we also identify recurring themes or issues from multiple studies and then interpret and explain these themes or issues. Categories can be elicited in a grounded manner or can originate from an external source such as a theoretical model [23]. We used an integrated approach [24] in which we deductively derived codes from a starting list and inductively added new codes in a grounded manner. In our case, initial codes and subcodes were created from the major chapter and section headings used by an earlier study [2] (see Table 4). This set of codes provided a good basis for our coding given that this earlier study sought to provide its readers with a thematic categorization of software innovation research. Nonetheless, iterative revision and refinement of our initial code set through open coding were an explicit objective of the coding effort. Some codes that were poorly represented amongst the texts were removed and others redefined. The initial set of codes identified in Table 4 was revised and refined to yield the final code set identified in Figure 2. The authors and a Ph.D. student collaboratively coded the article abstracts using the online tool Dedoose to facilitate concept development. During the coding process a distinction was made between software innovation outputs and other concepts that might be associated with these innovation outputs (drivers). This permitted us to examine code cooccurrences as an early indication of associations (Table 5) and these associations were then used to guide the construction of initial causal models. Iterative modelling was employed throughout the research effort with Figure 3 providing a causal model developed at this early stage of the inquiry. This model shows elaborated codes and subcodes and identifies provisional linkages among these codes based on their cooccurrence in the text of the articles examined. While this approach suffers from some obvious limitations, using the cooccurrence data reported in our coding dataset in this way gave us valuable preliminary insights into the causal structure that surrounds software innovation.

In order to facilitate the final third stage of the analysis and refine our initial causal map, all articles were further coded for their relevance to the development of a concept map of software innovation using a scale from one to ten. We scored the articles according to how well they identified patterns of causal relationships between drivers and outputs. We used this score to identify a subset of 93 key contributions that directly addressed our focal interest by selecting those articles with a relevance score of six or above (see Table 6). The full texts of these articles were downloaded and analysed using causal mapping. Causal maps are pictorial representations of “systems of cause-effect relations for the purpose of capturing the structure of human cognition from texts” which can be “examined for patterns, theory building, or hypothesis testing” [21]. Causal associations between drivers and outputs were mapped individually for each article using the coding scheme refined in stage two. We took the opportunity to further refine the concept definitions represented by the coding scheme where examination of the texts provided more information. Two researchers divided the texts, consulting and cross-checking a sample of each other’s maps to ensure consistency. For research studies that defined clear dependent and independent variables, causal relationships could be directly extracted. In other cases these were inferred based on the reasoning provided in the articles. Our mapping effort ultimately yielded 93 distinct causal maps that depict approximately four hundred causal linkages (Figure 4 presents an example map for one article). Individual casual maps were synthesized into an association matrix (Table 7) that highlights the key causal relationships suggested by the literature and notes the strength of the literature support for each of these relationships. The consolidated association matrix was then used to construct a high-level composite causal map (Figure 5). The numbers on the causal paths in this map indicate the number of research articles that identified the relationships being depicted and, as such, provide an indication of the relative importance of the various drivers that we have identified. The composite causal map is thus based on a much deeper level of analysis than the model presented in Figure 3. Since it can be confusing to absorb the large number of causal relationships that are present, they are structured and simplified, though not distorted, for the final iteration of the model presented in Figure 2. This model can be understood as the highest level of abstraction of a synthesis of higher order themes [24]. Specific details of the associations between innovation drivers and outputs as well as the literature sources from which they were derived are presented in Tables 810.

The following sections elaborate on the results of our review, analysis, and synthesis efforts beginning with a discussion of the key forms of innovation that have been examined in the software development context.

3. Software Innovation Outputs

We identified two broad categories of innovation outputs discussed in the literature.

3.1. Software Product/Service Innovation

The most common form of software innovation results in novel and useful code and, by inference, the creation of new software functionality. Innovation of this form has led to the creation of an extensive array of software systems including enterprise tools, end-user applications, operating systems, communication protocols, mobile applications, and embedded software [2]. In principle, this form of innovation encompasses all non-physical computing artefacts though this distinction is not entirely unambiguous in the case of embedded software. Further to this, the hardware and software for devices such as mobile phones are often developed in parallel, thereby making the two components quite interdependent. Similarly, it is often difficult to observe the traditional distinction between product and service in the case of software innovation since the term service is widely used to denote different forms of software. For example, Carlo et al. [6] use service as a generic term for all software products apart from base innovations while many other authors use the term service to refer to particular types of software such as web services [26] or mobile services [27].

Beyond use of the term service to describe software product offerings, the term can also be used to describe a wide range of software-related activities such as installation, end-user support, platform management, and consulting. In addition, the term service is frequently used to describe bundled offerings such as Internet hosting or application service provision that represent combinations of software and other services. A modern variant of such offerings is software as a service (SaaS). SaaS providers such as Amazon Web Services offer software tools on a cloud infrastructure, priced based on usage levels, and complemented with related nonsoftware services such as back-up and disaster recovery. The notion of service can also be applied to software that forms part of a wider offering such as a banking service where it is the combined offering that might represent the innovation [28, 29]. Finally, the term service is sometimes used to distinguish between application-oriented software innovations and underlying platform innovations. This can be observed with Apple’s iOS developer interface which can be seen as a service innovation that opens the way for their apps market [30, 31]. As a result, we view innovations in software product and service offerings as one key form of software innovation while nonetheless acknowledging that the specific nature of these offerings is subject to considerable variation.

3.2. Software Process Innovation

Software processes encompass the tasks, norms, and formal and informal procedures that support software development efforts. These processes are expressed in the methods, tools, and techniques that organize the work of a developer and describe how software is developed [2]. Carlo et al. [6] view software process innovation as involving innovations in ways to envision, design, and implement software. All significant improvements in design techniques, team organization, and managerial processes can thus be classified as process innovations. However, an interesting case refers to process innovations that are focused on facilitating the development of innovative products. An example is Essence [8], a development framework that has the development of innovative software products as its explicit goal. Given the potential of such frameworks and the complexity of software development efforts, software process innovation can be of considerable importance to the development of innovative software products and services. In fact, our investigation indicates that software process innovation is one of the top three drivers of software product/service indication. We therefore identify software process innovation as the second key form of innovation in the software development context and as an important driver of product/service innovation.

4. Drivers for Software Innovation

Our analysis also led to the identification of eleven innovation drivers that we group into four categories: managerial drivers, knowledge drivers, team process drivers, and infrastructure factors.

4.1. Managerial Drivers

Although our basic unit of analysis is a software producing team, these teams operate in organizational environments that are strongly influenced by managers. Through monitoring, control, and direction setting efforts, managers influence a wide range of important parameters that can have significant implications for software innovation. These parameters include resource allocations, work environments, strategic goals, and specification of the initiatives that are included in a project portfolio.

4.1.1. Innovation Leadership

Innovation leadership has been identified as having a powerful influence on software innovation. We found such leadership to be especially significant in relation to process innovation with innovation leadership being the second most prominent driver of software process innovation. Nonetheless, innovation leadership was also an important driver of software product and service innovation. Leaders are responsible for fostering a work environment that stimulates creativity, minimizes impediments to creativity, provides needed resources in a timely manner, minimizes bureaucracy and rigidity, and establishes appropriate evaluation and reward systems to foster experimentation [3235]. Florida and Goodnight [36] characterize such efforts as minimizing hassles and stimulating minds. Leaders can thus serve as important champions of innovation [37]. Leaders are also responsible for path creation through transformational leadership [3842]. Transformational leaders guide their organizations through changes that are beyond the consideration of individual developers and development teams such as fundamental changes in base technologies and product markets. More routine managerial efforts are also of notable importance to software innovation. These efforts can include goal conflict resolution [43] and efforts to synchronize the introduction of new support technologies and administrative routines in process innovations [44]. Finally, leaders are responsible for managing an organization’s portfolio of products [39] to secure and maintain a product portfolio that combines short term profitability with the experimentation and learning needed for innovation and long term success.

4.1.2. Innovation Evaluation

The ability to evaluate creativity and innovation in software engineering work is an important precursor to improvement. Evaluation takes the form of assessing the work environment, assessing the value of competing ideas during ideation, assessing new software product concepts [45, 46], determining the value of process improvements and creativity support systems [47], and determining the value of the software services currently in use [48]. Although evaluation may be formal or informal, informal evaluation of team innovation can be particularly important for process organizers seeking to understand how to best manage a project. Informal evaluations of this type can take the form of simple observations of team performance [2]. In contrast, formal evaluations are fundamentally dependent on management efforts to develop and apply specific metrics and targets [46, 49].

4.2. Knowledge Drivers

A second group of drivers are knowledge-oriented factors that relate to the acquisition and leveraging of knowledge from internal and external stakeholders and the relationships that develop as part of these efforts. Software development organizations can be understood as knowledge-exploitation systems wherein the many forms of technical knowledge necessary to write software are combined with other essential knowledge that is extracted from partners, customers, and users. Innovation thus depends on an ability to leverage existing knowledge and a capacity to acquire new knowledge.

4.2.1. Knowledge Leverage

Prior work suggests that knowledge plays a central role in many aspects of software innovation including creative requirements elicitation [25] and understanding innovation opportunities [50]. We identified knowledge leverage as being the most salient driver of software product and service innovation as well as being a notable driver of software process innovation. Effectively leveraging available knowledge depends upon the development of unique competencies. This had led some researchers to examine how absorptive capacity can support attempts to successfully draw upon knowledge available in the external environment. Absorptive capacity is defined by this work as the ability of an organization to identify, assimilate, and exploit external knowledge. The prevalence of this notion in the literature means that it is one of the more thoroughly developed theoretical concepts in the software innovation literature. For example, Carlo et al. [6] isolate knowledge depth, diversity and linkages, and routines of sensing and experimenting in their efforts to highlight the importance of absorptive capacity to leveraging knowledge in software innovation.

Understanding the evolution and trajectory of customer demand (market understanding) and the trajectory of technology development has also been identified as being of some importance to new product development [30, 34, 39, 51, 52]. Knowledge of competitors and their innovations is also considered to be important in fostering the development of new generations of software systems [53] as is the ability to leverage user-domain understanding generated from customers [28, 5456]. Taken together, efforts to leverage internal and external knowledge represent the well-known complement of market pull and technology push that has been posited to drive innovation in a wide range of contexts [52].

4.2.2. Community and Network

Community and network was found to be the second most important driver of software product and service innovation. Since knowledge creation and use are understood to be a social process [57], innovation researchers have tended to emphasize the importance of communities and networks to successful innovation [58]. National and regional development projects, science parks, silicon valleys, and industry and university collaborations are often created to encourage innovations and ensure that these innovations spawn further innovations. However, the software industry has witnessed the emergence of a specific form of community-based innovation in the form of the open source movement [59, 60]. The importance of this movement is such that most major software firms now use open source as an integral element of their innovation strategy [50] with platform developers routinely using open strategies for populating their platforms with applications [31].

According to [61], open source development is an example of a private-collective model of innovation that represents a form of innovation not previously seen in either private industry or the collective knowledge creation efforts of universities. Lee and Cole [54] point out that open source brings specialist expertise together in a community that can serve as the primary vehicle for knowledge generation. Some types of open source development might even be characterized as forms of user-driven software development, involving open access to intellectual property such as source code in a model known as open innovation [50, 54, 60, 6267]. Supporting these models are developments in social computing technologies that have significantly expanded the nature and scope of the communities and networks that can be drawn upon. The importance of new community forms is evident in research examining the role of social networks in innovation [68], the value of organizational web communities [69], crowd sourced software innovation [66], and collective invention [70].

4.2.3. User Involvement

Though some innovations are driven by system developers and designers, research has increasingly stressed the role of users in software innovation [65]. In particular, customers can play an important role in the commercialization of software inventions [71], assisting with customization, requirements elicitation, and early investment. However, the notion of a user is such that users can encompass a wide range of other stakeholders including end users, developers that adapt an existing system, and organizations that purchase software products and services. For example, many open source developers are users of the software they help to develop such that innovations in this software are often inspired by the application of their knowledge to unmet needs. As a consequence, integrating user knowledge and expertise into the development process is thought to be of central importance to the innovation that takes place via agile methods [55], particularly given that users often produce more creative ideas than developers [27]. Moreover, users with special skills that enable them to conceptualise [5] and prototype software systems are important to user-driven innovation [28, 29, 39, 72, 73]. These lead users can be especially valuable when sticky knowledge makes it difficult for software engineers to understand the use context.

4.3. Team Process Drivers

The next class of drivers relate directly to the software development team and its processes. Software is usually produced in teams that synthesize the creative ideas of team members and external knowledge into code that yields the product/service offerings of software development organizations. As such, team and process characteristics are intimately linked to the nature of the products/services that are ultimately delivered.

4.3.1. Creative Cognition

Creative cognition research aims to understand the creative state of mind and the creative acts of individuals [74, 75], categorize different innovation styles [76], develop creative thinking [77], and foster creative talent in engineers [78]. As a result, it tends to be founded upon theories drawn from the field of psychology. The basic premise is that the creativity of participants in a system development initiative can contribute significantly to the level of innovation generated by this initiative. Avital and Te’eni [5] describe this generative capacity as “the ability to rejuvenate, to produce new configurations and possibilities, to reframe the way we see and understand the world and to challenge the normative status quo in a particular task-driven context.” Generative capacity has been reported to contribute to idea generation, evaluation, improvement, and realisation [52, 79, 80]. This process of ideation is understood to be an important collaborative process [81] that is closely linked to preexisting knowledge or expertise [82]. A general review of creativity in information systems research that explores some of the issues discussed here is offered by Müller and Ulrich [83].

4.3.2. Software Design Capability

Design capability encapsulates developer capacity to integrate customer understanding, market understanding, and technological advances into novel and useful product features [84]. The relationship between design and creativity is perhaps most fully explored in the field of human-computer interaction (HCI) [85] though the IS literature also contains numerous references to the role of design in innovation. Notably, Martin [56] and Sas and Zhang [86] suggest that design is of central importance to the innovation effort. Similarly, Leonardi [87] discusses the impact of designer background on technology outcomes, suggesting the importance of “an innovator’s vision of what functionality the built technology (the technological artefact) should have”. Avital and Te’eni [5] go beyond the functionality represented in a simple feature set to develop the idea of generative fit as a design characteristic of certain innovative systems. In aggregate, these observations serve to highlight the broad based importance of a development team’s design capability to innovation outcomes.

4.3.3. Teamwork

Effective teamwork is considered an essential feature of innovative projects [7, 88], contributing to team efficiency and the personal satisfaction of team members. The blend of experiences and competencies found in the composition of a team are also of fundamental importance to innovation [25]. As a result, numerous perspectives have been adopted to explore the implications of teamwork for software innovation. Cooper [25] focuses on how appropriate group norms, task clarity, and member diversity can stimulate cross-fertilisation of ideas while van den Ende and Wijnberg [40] consider the implications of internal and external autonomy. Other elements of teamwork that have been explored include dysfunction avoidance [89], suitable role allocation [8], appropriate communicative interactions [89, 90], the accommodation of divergent thinking, and team learning [91]. Finally, Tiwana and McLean [92] highlight the importance of expertise integration [3, 41, 87] which they see as the capacity to exploit knowledge transfer between team members who possess different skills. An important facilitator of such integration as well as effective team work in general is the development of shared understanding and relational capital among team members [69, 9396].

4.3.4. Innovation Tools and Techniques

Software innovation is often assumed to benefit from access to a repertoire of suitable creativity techniques and support tools as well as situational knowledge of when to apply them [97]. Our work suggests that these tools and techniques are especially important drivers of software process innovation. In this vein, Couger et al. [98] report on the use of analytical techniques (progressive abstraction, interrogatories, and force field analysis) as well as intuitive techniques (associations/images, wishful thinking, and analogy/metaphor) to support creativity in the systems development effort [83]. Related literature explores creativity support systems [97, 99101] which can be defined as software systems designed to underpin creative work. Given the relevance of such systems to any creative endeavour, they are of potential importance to innovation in the software development context. Other tools that have been experimented with include decision support systems [9], collaborative work systems [102], and programming toolkits [103]. Finally, specialized forms of toolkits have also been developed to assist end users in the innovation process [40, 50, 73].

4.3.5. Development Framework

Development frameworks provide the foundation for an organization’s approach to software development by offering support for processes, underlying assumptions, and work practice norms. One stream of research associates agile methods with creativity in development [8, 55, 104, 105]. Another related stream of research focuses on experimentation in the design process [6, 106]. In software development contexts this usually involves the use of prototyping, particularly where low-cost, low-technology strategies are favoured [56, 107]. Another important aspect of the development framework is the installed technological base employed by the development team. Programming languages, application programming interfaces, standards, and development environments can all have significant implications for software innovation.

An often-overlooked element of the development framework is the extent to which consideration for innovation is integral to the development process. Although there are many innovation-oriented processes in other fields, innovation has not been a core focus of software development process designers. One exception is Aaen’s [8] Essence framework which offers four views (product, process, paradigm, and project) and three roles (challenger, responder, and child) as guiding principles for innovative software development. Other process strategies include creative requirements analysis such as the RESCUE method [108110]. The RESCUE method integrates requirements elicitation techniques within a creativity framework to facilitate workshops with users at an early stage in the software development effort. Such methods highlight an important question concerning the extent to which software development processes can be designed for innovation.

4.4. Infrastructure Moderators

In addition to the managerial, knowledge, and team process drivers of software innovation evident in the literature, we also identified elements of infrastructure as having important moderating influences on software innovation. Infrastructure determines the fundamental, unavoidable technological and social conditions in which innovative efforts are situated. These can include broadband availability and speed, microprocessor power, customer experience, and user computer literacy. Since infrastructure develops slowly in relation to the production of software, it often has significant implications for the innovations that can be successful within a given window of time. In particular, two key aspects or elements of infrastructure have been reported to both enable and constrain innovation.

4.4.1. Installed Base

The first salient element of infrastructure is the technological ecosystem in which software development is undertaken. At a societal level the existing technological infrastructure represents the technological ecosystem [51] into which an innovation must fit [111]. The influence of this ecosystem is such that it becomes essential that innovators understand technology trajectories [112, 113] and convergence [114]. Since the installed base evolves independent of a developer group, the timing of innovations can become crucial [2]. If an innovation is too early, supporting infrastructure such as communication bandwidth and processing power may not be widely available. If it is too late then the innovation has likely become evident to many competitors.

4.4.2. Path Dependency

The second salient element of infrastructure relates to the technological capabilities that are available to developers [6]. Infrastructures such as computing architectures, operating systems, telecommunication platforms, middleware, and programming languages all enable and constrain software innovation in specific ways. Innovations typically grow out of existing software systems which are, themselves, part of the knowledge infrastructure [34]. As a result, technological capabilities engender a form of path dependency [51] that can have significant implications for the innovations that are achievable and may require major leadership interventions to change. Complicating efforts to identify and understand key path dependencies is the fact that infrastructures and architectures can evolve in parallel. In this vein, Boland et al. [51] describe waves of innovations while [30] highlights interrelations between business, platform, and application architectures.

5. An Integrative Concept Map for Software Innovation

Building on the preceding discussion of software innovation outcomes and drivers, we consolidate key innovation drivers into an integrative model of software innovation (Figure 2).

Figure 2 provides a high-level map of software innovation that highlights the principal associations among salient innovation drivers as well as between these drivers and the two key forms of software innovation. The model makes it clear that software innovation can be influenced by a wide range of factors that arise at multiple levels of analysis. Innovation can, for example, be driven by customer or user demands, by the actions of organizational managers, and by actions and characteristics of members of the software development team. However, given that it is the software development team that directly creates software products, the impact of many drivers can be characterized as being largely mediated through elements of the development team. Please note that there is weaker support in the causal mapping analysis for the individual infrastructural moderating effects than for the other relationships. They are included for completeness and consistency.

At a broad level of abstraction, the model presented in Figure 2 postulates that team process drivers lie at the heart of software innovation. These processes are influenced by managerial activities of leadership and evaluation that are undertaken by people inside the team (project leaders or opinion formers) as well as by outsiders. Team processes are also influenced by knowledge leverage itself driven by relationships with customers and outside communities. Team process drivers, knowledge leverage, and process innovation ultimately influence product/service innovation. Process innovation and product/service innovation are both enabled and constrained by infrastructure factors present in the wider social context.

In order to facilitate future research, Table 2 provides working definitions for the key outputs of software innovation (labelled (O1) and (O2) in the table), the salient drivers of such innovation (labelled (Dx.y)), and the key moderating factors (labelled (Mx.y)) evident in the literature. In addition to defining these concepts, Table 2 also provides definitions for the various elements that are linked to them and a synopsis of their salient casual links or associations. A detailed presentation of the supporting literature for these definitions and associations can be found in Tables 810.

Researchers and practitioners can use the integrated, consolidated insights provided in Table 2 and Figure 2 to direct research efforts and to steer practical initiatives in directions that offer the most promising opportunities to improve the innovation capacity of software development organizations. We elaborate on our findings and the opportunities that they present in the discussion in the next section.

6. Discussion

In this paper we set out to provide definitional focus and conceptual organization to an emerging but hitherto fragmented research area. Given the importance of innovation in the organizational, managerial, and economic literatures and the many advances in the computing science literature, it is not surprising that there has been considerable work undertaken in relation to innovation and software organizations. What is somewhat more surprising is that this research area has been slow to emerge as a prominent endeavour for information systems researchers. As a discipline, we have been slow to escape the historical legacy of software development research focused on the automating of work processes and efficiency. However, these are arguably no longer the principal drivers of the software industry. At any rate, a successful software company must incorporate innovation into its armoury of capabilities. In addressing the question of “what drives software innovation?” we synthesized a fragmented body of work displaying many internal inconsistencies. As a basis for this effort, we identified a core literature for software innovation and analysed it using content analysis and causal mapping to highlight salient trends and patterns. We defined basic concepts for the research area, established important associations among these concepts, and formulated a conceptual map of software innovation based on these linkages.

We can envisage several uses of our conceptual map by researchers. Firstly the map can be used by researchers to locate their work in relation to this emerging field and it can be used to search for related work among the many references categorized. It can also be extended or amended to give a more up-to-date picture of research concerns as the field evolves. Further to this, the conceptual map that we provide can serve as a basis for the development of various types of descriptive and normative theory through the derivation of further concepts and the articulation and empirical testing of the relationships between them. In fact, significant opportunities exist in relation to research aimed at empirically testing our research hypotheses and research that seeks to explore our casual map in more depth.

Although our concept map is not formulated as a variance or path model that explicitly depicts research hypotheses, it does synthesize many researchers’ working hypotheses (couched in many forms) about what drives software innovation. As such, it can be used as a basis for developing specific hypotheses related to software innovation (see Figure 6 for an initial sketch). These hypotheses can then be empirically tested either alone or in combinations. In contrast, qualitative researchers might wish to undertake empirical work aimed at refining our causal map or using this map to elucidate causal patterns that apply to particular circumstances. This latter line of inquiry would serve to further unpack our current understanding given the potential for the elements of our causal map to exhibit varying degrees of salience depending on circumstances. It might, for example, be the case that some drivers are more important for software development organizations than for other types of organizations and this can be empirically tested. Finally, there are some notable opportunities to empirically explore the role of infrastructure as a moderator of innovation and to undertake efforts aimed at identifying other salient moderators of the context that surrounds software innovation.

As our observations suggest, the development of an integrative model often provokes more questions than it readily answers. Interested researchers must be prepared to return to the original contributions that we have summarized where many discrepancies in concept terminology and numerous conflicting assumptions are evident. Of notable concern is the lack of consistency displayed in articulating the nature and scope of innovation being discussed. The product/service distinction is not clearly maintained in the literature and other constructs such as installed base, infrastructure, and platform have been characterized as both sources and consequences of innovation depending on the context and level of granularity of the study. Knowledge leverage factors such as absorptive capacity are often defined at the level of the firm though it would seem that for the purposes of software development they might be better conceptualized at the team level. In this vein, it is not clear whether the preponderance of knowledge-oriented studies is as a result of the behavioural bias of the information systems discipline or if it simply reflects a basic characteristic of software innovation. In any case, the more recent emergence of design science as a major contributor to the discipline should focus researcher attention on more process-oriented factors such as software design capability and design frameworks. Understanding in this area could certainly be improved. For example, there would be value in exploring creativity techniques that are more software focused rather than being exclusively directed at the ideation stage, in efforts to better understand the relationship between agility and innovation and in the exploration of the value of user-driven design as a method or strategy for software development. The management of software innovation is also surprisingly neglected in the information systems literature and could be better developed. Moreover, the role of communities and partnerships in the ecosystems of software innovator organizations lacks comprehensive investigation.

6.1. Implications for Practice

As an integrative work, our efforts have numerous implications for practice. In broad terms we have consolidated current understanding surrounding software innovation into a conceptual map that can be used by practicing managers to evaluate their development environments. These evaluations could be used to understand the extent to which organizations are providing environments that foster innovation, to identify areas of focus and neglect within organizations or specific development groups, and to recommend particular innovation approaches from the literature that we reference. Further to this latter point, we highlight the most important drivers of innovation so that organizations seeking to improve their innovative capacity know where to focus their resources. For example, the particular salience of knowledge leverage suggests that this is an important starting point in efforts to improve innovation capacity. In addition to steering managers in particular directions, our results enumerate specific actions that should be pursued in order to foster key drivers of software innovation. Our work highlights, for example, that developing a sound understanding of the user domain, the product market, and the trajectory of technological development are all important to organizations that wish to foster innovation through knowledge leverage.

Analytical inquiry could be undertaken to compare an organization against innovative organizations using the parameters suggested by our causal map or to benchmark innovative organizations against larger groups of organizations. A useful working hypothesis may be that innovative organizations use specific configurations of innovation drivers rather than attempting to create environments that encompass the entire landscape of the map.

From a process perspective, we have reaffirmed the importance of sound software development processes to software product innovation. Our work suggests that these processes should not be considered incidental as they can, in fact, become a significant source of competitive advantage owing to their path dependency, their relatively tacit nature, and the fact that they are far less transparent to outside observers than software product feature sets. Organizations seeking to take advantage of this opportunity to achieve competitive advantage can draw on our work to identify specific actions that should be focal points of their efforts to develop software development processes that foster the development of innovative software products. In particular, we highlight the importance of nurturing an environment that contributes to teamwork and the need to provide appropriate tools as well as a development framework that encourages innovation. Further to this, we identify specific action items to foster these drivers of software process innovation. Organizations that, for instance, find their teamwork in need of improvement can draw on our work to recognize that managing team composition, integrating suitable expertise, and fostering a shared understanding are the most important contributors to the type of teamwork that drives innovation.

6.2. Limitations

As with any work, the work that we have reported upon is not without some limitations. Among these is the potential for bias introduced as a consequence of our reliance on ISI Web of Knowledge and Google Scholar to identify research articles. While the inclusion of additional data sources in our search efforts might have identified additional work, comparisons of Web of Knowledge, Scopus, and Google have failed to report consistent bias or gaps in these sources [115]. Furthermore, the results of our study are not based on individual contributions but on patterns that can be observed across many contributions. We therefore believe that it is unlikely that excluding consideration for Scopus or other such sources had a significant impact on the insights that we offer.

A second limitation relates to potential threats to the validity of our work that arise as a consequence of the process that we used to code our data. Coding efforts are always somewhat vulnerable to various forms of researcher bias. The salience of particular remarks might, for example, be overlooked during the coding process or data might be misunderstood and, as a result, coded incorrectly. However, the results that we present are based on independent coding and cross-checking by both authors and by an independent researcher. Thus, while we acknowledge that coding is not an exact science and is, therefore, vulnerable to coding errors, we are confident that our results do not exhibit undue bias, particularly in relation to our most salient observations. These observations are based on recurring evidence that was coded and cross-checked by multiple researchers. This makes it quite unlikely that significant bias is present in our results.

7. Conclusion

Software producing organizations and ecosystems are now commonplace and a majority of technology start-ups incorporate some form of software into their product offerings. As such, innovation in the software development arena is of fundamental and growing importance to the success of many organizations as well as to our economic and social wellbeing. Organizations are continuously pressed to find new and better solutions to old problems and to respond in a timely manner to new opportunities and challenges as they arise. These efforts routinely draw on the potential of software to deliver innovative solutions that provide powerful, economical capabilities that would not otherwise be possible. The information systems discipline is well placed to study such organizations and how they innovate with the goal of providing the guidance necessary to ensure the continued vitality of software innovation. In particular, organizations would benefit immensely from research efforts aimed at exploring the drivers that we discuss and how these might be leveraged in various ways to yield innovative, effective software solutions while practicing managers can benefit immediately through application of the insights we provide.

Competing Interests

The authors declare that they have no competing interests.

Acknowledgments

This research work is supported by the Danish Research Council, Grant no. 12-133180, and the Judge School of Business, Cambridge University.