8,038
Views
2
CrossRef citations to date
0
Altmetric
Guest Editorial

The evolution of software development orchestration: current state and an agenda for future research

ORCID Icon &

1. Introduction

In a provocatively titled opinion editorial in the Wall Street Journal – “Why Software is Eating the World” – former Netscape co-founder turned venture capitalist Marc Andreessen enumerated a range of industries that were being upended by software and software-powered technology models (Andreessen, Citation2011). Indeed the period immediately preceding the opinion editorial’s publication saw the emergence of foundational technologies including cloud computing, the Internet of Things (IoT), and application programming interfaces (APIs). The decade since has seen the rise of digital platforms, software-as-a-service (Saas), and blockchains as well as a resurgence of artificial intelligence, each facilitated by one or another of these foundational technologies. Powered by software, these developments have led to transformations in industries as varied as education (with the rise of MOOCs), entertainment (with the rise of digital streaming), financial services (with the rise of mobile payments, cryptocurrencies, and crowdfunding), pharmaceuticals (with the rise of algorithmically driven drug discovery), real estate (with the rise of short-term rental and co-working spaces), mobility (with the rise of ride-sharing), and agriculture (with the rise of agtech) among many others. There is little doubt that these software-powered technologies and business models have impacted the personal and work lives of many.

Information systems (IS) scholars took notice of these transformations and the community devoted itself to making sense of their impacts on business and society. Indeed, over the past decade, research topics such as digital platforms, fintech, social media, and mobile marketing have taken centre stage in the discipline’s prominent scholarly journals. For instance, numerous empirical studies have focused on digital platforms and their impact on firm organising (e.g., Ghazawneh & Henfridsson, Citation2013; Parker et al., Citation2017), innovation activity (e.g., Fayard et al., Citation2016; Majchrzak & Malhotra, Citation2016), societal health, and well-being (e.g., Chan & Ghose, Citation2014; Greenwood & Wattal, Citation2017), and peer-to-peer lending (e.g., Burtch et al., Citation2013). IS scholars’ engagement with these phenomena has been welcome, lending tremendous insight and advancing the discipline’s cumulative body of knowledge about the new ways in which software-powered technologies are affecting business and society.

While the IS discipline has celebrated the transformative impacts of software-powered technologies, an equally important part of the story has, by comparison, been largely overlooked, namely, the study of software development to make it all possible – a story that is as old as the IS discipline itself. While the software engineering literature has maintained software development as its focus, the emphasis has primarily been on the technology and associated metrics. The IS discipline is uniquely positioned to examine the broader implications of software development given its emphasis on the intertwining of people, process, and technology within a business and societal environment. The impetus for this special issue, which is titled “Orchestration in Contemporary Software Development Ecosystems,” is to draw attention to how the orchestration of software development – a fundamental undertaking in the creation of software – has evolved over the past decade into the modern age. We define orchestration as the means by which related actors and their resources are mobilised, coordinated, and channelled in the creation and deployment of software. In many ways, the orchestration of software development has been behind, and shaped by, the software-powered technologies that have attracted the attention of society and the scholarly community. It is somewhat surprising then that the study of software orchestration has not received as much of a spotlight as the very technologies to which this fundamental activity has given rise. Understanding what has changed in the practice of orchestrating software development and how these changes should inform our theories and theorising about software development going forward is important for researchers and practitioners alike.

In reflecting on the current state of software development orchestration, it is apparent that there have been notable shifts in who is involved in software development, what the deployment architecture is comprised of, how core organisational functions are configured, and the role of artificial agents in the development process, hence our emphasis on contemporary ecosystems. By way of illustration, we offer a few examples to demonstrate how much has changed in the world of software development.

The ubiquity of software in multiple facets of operations within organisations has necessitated a shift towards orchestration that involves integrating the software development and operations domain into a unified function to augment the value derived from deployed software systems. This has promoted the emergence of DevOps as a form of organising intra-organisational functional units that is germane to ensuring robust sensitivity and responsiveness to market conditions and demands (Fitzgerald & Stol, Citation2017). While this integration has generated new opportunities, it has also introduced new complexities, not least of which is the competing interests that incentivise the parties involved.

Having evolved from being the product of software development orchestration to being the centre point, large-scale open platforms (e.g., GitHub) themselves have reshaped how software development is orchestrated, bringing together volunteer developers and organisations with commercial interests (Daniel et al., Citation2018; Zhang et al., Citation2019). Companies such as Facebook and AirBnb have open public repositories that enable their own employees to harness the input of a large-scale collective of developers on the GitHub platform. Algorithmically enforced protocols such as commits, forks, pull requests, and push requests streamline what would otherwise be a complex and cognitively taxing undertaking at scale (Dabbish et al., Citation2012). Digital platforms have expanded the boundary and scale of who is involved in envisioning new features and functions of software such that ordinary consumers can inform software developers of their needs and preferences (Di Gangi et al., Citation2010; Hwang et al., Citation2019).

In addition to shifts in the participating actors, there has been a notable shift in the components of the broader ecosystem involved in software development orchestration. Orchestration of software development on large-scale open platforms, such as GitHub, increasingly involves the use of bots – algorithms programmed to autonomously perform repeated functions when needed – to manage the numerous and fast-changing inputs of software developers (Hukal et al., Citation2019). The emergence of IoT has meant that software increasingly needs to be developed to operate on connected devices that themselves generate continuously evolving data streams that shape software functioning. Such applications of software are being seen in domains such as healthcare, where wearable digital devices monitor patient vitals in real time and send alerts when appropriate (Jiang & Cameron, Citation2020). Here, orchestration of software development must encompass cloud infrastructure providers, device manufacturers, and medical professionals. The rise of third-party APIs has shifted the orchestration of software development to encompass creating software as modular constellations of microservices (Xue et al., Citation2019). This enables software developers to build their own functional software on top of specialised services developed by third parties. Finally, the maturing of cloud infrastructure has promoted a shift towards SaaS business models in which users subscribe to software services through a licence rather than owning the application. This infrastructure has prompted a change in orchestration of software development to emphasise software that is ever evolving and is always in the making (Kallinikos et al., Citation2013).

The examples we have enumerated here are by no means exhaustive. However, they illustrate the varied ways in which software development has changed and is continuing to change, making this an opportune time to reflect on the study of one of the IS discipline’s fundamental phenomena. In this special issue editorial, we aim to give structure to this important scholarly conversation, highlight how the collection of articles in this special issue contributes to and advances this conversation, and outline promising avenues of inquiry in the study of software development orchestration. We believe this marks the beginning of what will be an engaging and longstanding conversation for the IS discipline.

2. Emergent themes on orchestration in contemporary software ecosystems

Three overarching themes highlight the essence of developments in contemporary ecosystems that necessitate a new understanding of orchestration. These include a move towards (1) tighter integration of intra-organisational activities from separate software-centred domains – most notably development and operations; (2) tighter integration of software and hardware, most notably IoT, APIs, bots, algorithms, and layered architecture; and (3) tighter integration of community actors in the software development process on digital platforms. A common element underlying these themes is the move towards tighter integration between the actors involved. This is an interesting observation considering historical emphasis on modularisation and loose coupling in design of systems (e.g., Baldwin & Clark, Citation2000; Dhama, Citation1995; MacCormack et al., Citation2006). Indeed, while the trend of modularisation and loose coupling has continued in the design of underlying technologies, this has paradoxically seen an opposite trend that is seemingly at odds with the mirroring hypothesis – i.e., that software products tend to mirror the organising architectures used to develop them (MacCormack et al., Citation2012; Sosa et al., Citation2004). It is possible that enhanced modularity and loose coupling have facilitated greater interoperability of component parts (software and hardware) such that innumerable combinations and configurations are possible but require mutual understanding between participants pursuing such undertakings. Whether this constitutes a correction of the swing towards modularity or a rebalancing in light of broader environmental forces, there appears to be some move towards participants working together more closely in the orchestration of software development.

2.1. New forms of organising within organisations

The pervasiveness of software in business operations and the push towards tighter integration of software development and operations has given rise to the DevOps phenomenon. Based on the broad understanding in the literature, a DevOps team is conceived of as a purposefully designed entity within an organisation; possessing distinct capabilities for software development and software operations and relying on self-organisation principles (Hemon et al., Citation2019; Matook et al., Citation2016).

Prior to DevOps, the IS development team and operations team were established as distinct and separate units within the organisation. The IS function was largely seen as a back office function that supported front office functions of the organisation (Saunders & Jones, Citation1992). Indeed, an early Delphi study of executives revealed that they “considered the primary role of IS to be providing service and support to the operating units” (Saunders & Jones, Citation1992, p. 75). This approach to organising arguably contributed to a product-focused thinking and linear development process view of the software artefact. With such a view, software is seen as a token of ownership where the owner of the token is responsible for whatever happens and needs to be done to ensure business needs are met by the IS function (create new software and operate existing software to support the business function). The distance between these functional units and their respective teams has resulted in miscommunication, low collaboration with a lack of engagement and taking responsibility. Ultimately, the separation has given rise to inefficiencies and operational challenges that are costly and far-reaching, ultimately impairing customers’ business work and resulting in frustration by those who contributed substantially to the creation of the artefact (Fitzgerald & Stol, Citation2017).

Through tighter integration, a DevOps team is given a shared goal; that of providing business value to organisations through deployed software and the provision of effective IS. In a detailed account, the shared goal is the overarching integration of the development team’s goal to deliver valuable and working software that meets customer needs (Fowler & Highsmith, Citation2001) and the operations team’s goal to provide stable and resilient information systems for users (Dyck et al., Citation2015). Consequently, the work efforts of DevOps are directed towards achieving this shared goal; albeit under conditions of high task interdependencies (Hemon et al., Citation2019). The shared goal is instantiated in various DevOps practices, most notably automation of continuous software engineering processes (Fitzgerald & Stol, Citation2017), but also by extending agile practices with Ops personnel (e.g., release stand-ups) to create a trusting and knowledge-sharing culture (Humble & Molesky, Citation2011). Through that shared goal, the two otherwise separate domains of development and operations are forcefully united which is not without challenges (Iden et al., Citation2011).

To date, the academic literature is only beginning to comprehend the DevOps phenomenon and its implications. Indeed, research efforts have been directed towards better understanding the pervasiveness of software in business operations and the subsequent tighter intra-organisational orchestration needs, especially related to the development and operations domain. Research on DevOps has followed a familiar pattern that is common in scholarly work – namely that DevOps emerged in practice and subsequently drew the attention of academics. In this pattern, academic inquiry begins with seeking conceptual clarity, followed by attempts to provide insight into practical application. Subsequent efforts focus on seeking deep theorising about the phenomenon and developing a cumulative body of research.

A similar pattern can be observed for DevOps where research started with asking “What is DevOps?” (Jabbari et al. (Citation2016) and then shifted attention to providing practice-based accounts of DevOps adoption and challenges (Lwakatare et al., Citation2019; toh et al., Citation2019), the need for alignment of the Dev and Ops function to DevOps (Iden et al., Citation2013), evaluations of DevOps success (Hüttermann & Rosenkranz, Citation2019), and core characteristics of the DevOps phenomenon (required skill sets (Hemon et al., Citation2019); automation practices (Fitzgerald & Stol, Citation2017)). The articles in this special issue capture the DevOps phenomena at the time of its full arrival in practice and can be seen as evidence for the pervasiveness of software in business operations and the push towards tighter integration of software development and operations.

2.2. New actors and components in the technology ecosystem

The software development ecosystem has evolved to include the increasingly significant role of technology itself in the orchestration process. This evolution has manifested along two main avenues – technology as orchestrator and technology as deployment environment.

The notion of technology playing a role in software development orchestration is not new. Long has digital infrastructure existed to manage the code contributions of software developers to ensure they do not overwrite each other’s work. Since the late 1980s concurrent versions systems have assisted in the orchestration of software development by logging what, by whom and when changes were made to the code base. Such technology has been a mainstay in supporting the large-scale development activities of open source software communities (Fogel & Bar, Citation2001). It contributed to promoting the cause of distributed software development at large scale. However, such technology is rule based and passive in nature. Fast-forwarding to today, a set of new actors is involved in the orchestration of software development.

Bots have been performing an increasing proportion of coordination activity to enable human software developers to collaborate (Ferrara et al., Citation2016). Hukal et al. (Citation2019) recently examined and classified the various functions that bots perform in the Kubernetes project managed on GitHub. They found bots performing activities of varying degrees of sophistication from broker bots that follow simple rules to manage tasks that do not necessitate human involvement to intelligent manager bots that manage and prioritise workflows of developers in real time (Hukal et al., Citation2019). The implications of bots in the orchestration of software development are currently not well understood in the IS discipline. Yet, they are having profound impacts on how developers structure their workflow and where software development expertise is deployed.

APIs are another digital technology that has played an increasingly prominent role in the orchestration of software development. APIs are standardised interfaces of software that allow third-party applications to use and build on an application’s built-in functionalities (Tiwana, Citation2014). The deployment and proliferation of APIs have reduced the need for developers to code many application functions from scratch, instead allowing them to focus their attention on building bundles of services from various APIs to augment their unique innovative software solutions. While APIs are seeing widespread use in software development, their implications for orchestration of software development are little understood within the IS discipline. Early research on APIs appears to focus on the context of digital platforms, exploring how third-party app developers leverage API services in their own applications. For instance, a recent article by Xue et al. (Citation2019) finds that while platform APIs can facilitate copycatting among app developers – by virtue of creating efficiencies in the development process for key functions – they are more likely to promote original app creations by third-party app developers. While this research represents a useful starting point, there is much more to be learned about the varied ways in which the proliferation of APIs is transforming the orchestration of software development in platform contexts and beyond.

Finally, the deployment environment for software has evolved to include the computerisation of numerous everyday objects. To use the nomenclature devised by Faulkner and Runde (Citation2019) in their theory of digital objects, we have seen an expansion in the range of material bearers of digital objects – i.e., the physical containers for the bitstrings that constitute the digital. Whether it is sensors, wearables or mechanical parts, material objects are being imbued with computational capabilities as part of a broader layered architecture within which software operates (Yoo et al., Citation2010). Further, as the computing power of these material bearers advances, their capacity for acting autonomously through artificial intelligence is growing. While research on IoT has begun to focus on the material bearers themselves and their impact on business and society, there has been much less focus on the implications for how software development is orchestrated. Yet, there are indications that IoT has tightened the relationship between software developers and autonomous equipment manufacturers. As the autonomous equipment evolves so too must the software, requiring new ways of thinking about orchestration. The IS discipline’s understanding of these ramifications is still nascent.

2.3. New participating actors and partners in the ecosystem

Digital platforms have affected orchestration of software development in two notable ways. First, digital platforms have accelerated the intertwining of two communities that develop software with different motives – notably organisations with commercial interests and open source communities with volunteer efforts. Although early research suggested that these two communities were ideologically divergent and, thus, less likely to work together (e.g., Stewart et al., Citation2006), more recent work has demonstrated a steady progression towards a willingness of open source communities to work with organisations. This has been accompanied by a desire by organisations to leverage the intellectual and human capital embedded in such communities (e.g., Ågerfalk & Fitzgerald, Citation2008; Daniel et al., Citation2018; Germonprez et al., Citation2017; Ho & Rai, Citation2017). This trend was already unfolding before the rise of digital platforms. However, as noted before, the emergence of digital platforms has accelerated its progression. The design of such platforms has made it easier for organisations to make their software code accessible to open source communities. Competitive imperatives have also incentivised organisations to view open source communities as a vector for achieving market penetration, standard setting and development of complementary products (Parker & Van Alstyne, Citation2018). The IS discipline has developed a robust body of knowledge in this domain. However, there remain numerous opportunities to advance our understanding of the ways in which orchestration of software development has evolved. For instance, the acquisition of GitHub – the world’s largest open-source digital platform – by Microsoft has introduced a new and little understood dynamic for organisations that have repositories on the platform (Weinstein, Citation2018). It is unclear what this means for organisations in terms of what code they choose to leave open on the platform and how they orchestrate development between their own developers and the wider open source community.

Second, the rise of digital platforms has opened the door to large-scale engagement of users in software development (Hwang et al., Citation2019). The involvement of users in software development is not new and has long been studied in the IS discipline (e.g., Barki & Hartwick, Citation2001; He & King, Citation2008). This focus has traditionally been on in-house development and the participation of a limited number of stakeholders (e.g., customer representative). Even recent investigations have focused on such small-scale engagements with users (e.g., Maruping & Matook, Citation2020). Larger scale engagements with users had primarily been studied from the standpoint of beta testing to identify defects (e.g., MacCormack et al., Citation2006). However, what is new is that digital platforms have vastly increased the number of users who can provide input on software, including identifying defects, highlighting usability issues, and requesting innovative new features and services (Hwang et al., Citation2019). In contrast to the smaller scale in-house software development engagements studied in prior literature, the communication modalities are different – often involving text rather than face-to-face communication. This has opened up new ways of making sense of user preferences. Text-based communications on digital platforms are persistent, meaning they continue to exist and are observable long after the user who typed them has departed (Faraj et al., Citation2011). Software developers can use natural language processing techniques to make sense of such user input at an aggregate level. Further, digital platforms come equipped with social mechanisms for user communities to filter popular ideas (e.g., by up-voting) among the myriad ideas submitted. This gives users in the community a stake in helping developers determine where to devote their efforts. Taken together, these developments suggest a different form of engagement between users and software developers. Yet, the implications of this large-scale form of user engagement for the orchestration of software development have received scant attention and much remains unknown.

3. Overview of articles in the special issue

As the discussion in the previous section suggests, much has changed in the contemporary ecosystems within which software development is orchestrated, necessitating a fresh look at how our theorising within the IS discipline needs to adapt. This special issue aims to draw attention to developments in this evolving domain.

3.1. Editorial process

In response to the call for papers, we received a large number of manuscript submissions for the special issue on orchestration of software development in the European Journal of Information Systems. Collectively, these submissions covered many of the emergent themes we have just discussed. Upon receiving all of the manuscripts by the submission deadline, the special issue editors screened each submission for fit with the theme of the special issue. Manuscripts that were judged to be a poor fit with the special issue theme were desk-rejected. All other manuscripts underwent a review process that began with assignment to Associate Editors.

An outstanding group of scholars agreed to serve as Associate Editors for this special issue. The Associate Editors executed the bulk of the work that goes into managing the review process for a special issue including (1) screening the manuscripts to determine if they should go out for review, (2) identifying, recruiting, and assigning manuscripts to reviewers, (3) synthesising the reviewer comments and making recommendations on the manuscripts. This special issue could not have come together without the Associate Editors. We would like to take this moment to acknowledge the efforts of the Associate Editors and express our heartfelt gratitude for the commitment and hard work they demonstrated in handling the manuscripts submitted to the special issue. Their names are included at the end of this editorial. We also express our sincere gratitude to scholars Torgeir Dingsøyr and Knut H. Rolland for initiating and drawing attention to the need for a special issue on software development. We also acknowledge Knut’s contribution for assembling the distinguished editorial board.

We would also like to take this moment to express our gratitude to the reviewers, who volunteered their time and effort to provide feedback on the manuscripts. Finally, we are deeply grateful to the journal’s Editors who have been extraordinarily supportive of the theme of this special issue and its importance to the IS community.

Submissions to the special issue underwent a rigorous review process from an exceptional panel of Associate Editors and reviewers. In light of the timeline, the editorial team’s decision making was informed by several considerations including: (1) the extent to which the manuscript generated new insight in relation to the special issue theme, (2) the level of methodological rigour with which the research was conducted, and (3) the clarity of the path towards publication within the special issue’s timeframe. On the basis of these considerations, a majority of submissions were rejected after the first round of review. The remaining submissions underwent a maximum of three rounds of revision before a final decision was rendered. The first two rounds of review involved the Associate Editors and reviewers and the third and final round of review only involved the two special issue editors.

The review process outlined above culminated in four articles that were accepted for publication in this special issue. Collectively, they relate to the emergent themes on new forms of organising within organisations and new participating actors and partners in the ecosystem. However, none of the articles directly explores the emergent theme around actors and components of the ecosystem reflected in our definition of orchestration. Next, we provide a brief overview of each of the articles and their contributions to the special issue theme.

3.2. Special issue articles

Two articles in this special issue relate to the theme of new forms of organising within organisations. Both focus on tighter integration of intra-organisational actors from separate software-centred units, and which contribute to the ongoing discourse on the DevOps phenomenon. The first article entitled “Understanding how DevOps aligns development and operations: A tripartite model of intra-IT alignment,” by Anna Wiedermann, Manuel Wiesche, Heiko Gewald, and Helmut Krcmar extends the existing literature on alignment of development and operations to DevOps through the identification of three alignment mechanisms for DevOps. The mechanisms represent the main components of the tripartite intra-IT alignment model. Through an inductive, theory-building case study with organisational DevOps teams, three mechanisms – individual componentization, integrated responsibility, and multidisciplinary knowledge – are identified as crucial enablers of the alignment process. The mechanisms help organisations to overcome intra-IT misalignment in interoperability, goals, procedures, and competencies.

The second article in the special issue in the area of DevOps shifts the focus from initial encounters with the phenomenon to more mature employment of DevOps in organisations. Research questions of a different kind manifest that seek to understand the influence of the DevOps phenomenon of involved entities. Consequently, in their article entitled “Orchestrating automation and sharing in DevOps teams: a revelatory case of job satisfaction factors, risk and work conditions,” Aymeric Hemon-Hildgen, Laetitia Monnier-Senicourt, and Frantz Rowe investigate perceptions of job (dis) satisfaction, risks, and work conditions of managerial and operational roles in DevOps teams and agile-only teams. Using an inductive, theory-building case study that draws on job design characteristics and Herzberg’s job satisfaction theory, common and specific factors, viz. (dis)satisfaction and risk for DevOps and agile-only teams and their surrounding work conditions. The key contributions of the article are the articulation of empirical propositions and general propositions that culminate in a conceptual framework on job satisfaction when agile teams transition towards DevOps.

The other two articles in this special issue shift their emphasis outside of the organisation, directing their focus to the emergent theme of new participants and partners in the ecosystem. Although focused on different aspects, both relate to interactions between participants that have been enabled by the rise of digital collaboration platforms.

In their article, “Ideological shifts in open source orchestration: Examining the influence of license choice and organizational participation on open source project outcomes,” Shirish C. Srivastava and Poonacha Koothanda Medappa focus on the collaboration between firms and open source developers that have been enabled by digital collaboration platforms such as GitHub. While the notion of collaboration between firms and open source developers is not new, this article examines two key ideological shifts that have occurred among the communities that operate on digital collaboration platforms and the implications this has for the work structures by which software development is orchestrated. The first ideological shift reflects an expansion from restrictive licences that constrain commercialisation of software that has been developed to permissive licences that are supportive of such ends. The second ideological shift represents the increased participation of firms in hosting and leading software development projects on the digital collaboration platforms where open source communities work. These developments have facilitated a closer partnership between firms and open source communities than has been observed in the past. Leveraging the theoretical lens of open superposition, they theorise and study the implications of these ideological shifts for the popularity and survival of projects on GitHub based on five months of data collected on the platform.

In their article, “Effects of peers and network position on user participation in a firm-hosted software community: The moderating role of network centrality,” Xiaolei Wang, Terence Ow, Luning Liu, Yuqiang Feng, and Yuan Liang focus on the large-scale participation of customers in software development enabled by firm-owned digital platforms. User participation in software development is not a new phenomenon. However, the authors advance understanding in this domain by examining the much larger scale at which such participation occurs via digital platforms. Such platforms provide several mechanisms to facilitate user participation at scale that is not as salient in contexts where user participation has traditionally been studied and theorised. These digital platforms create a networked community of users who can mutually inform each other. The authors focus on the question of why users exchange and contribute knowledge to firm-hosted software communities. Theoretically grounding their work in social capital theory, they empirically examine answers to this question in the context of 2,192 users in a firm-hosted software community. Their findings highlight the important role of user network structure and network position in shaping their engagement within the software community, lending insight into how firms can think about orchestrating active user participation at scale on such digital platforms.

4. Towards an agenda on the orchestration of software development

This special issue and the articles of which it is comprised highlight the need for a focused and sustained research agenda to enable scholars and practitioners to make sense of the changes in orchestration of software development that are being witnessed. We outline a research agenda that is intended to offer guidance on promising avenues of future inquiry in this domain. Scholarly and industry efforts need to integrate observations on “practice-before-academic” so as to develop theoretically grounded engagement with the phenomena. Furthermore, research needs to go beyond “seeking understanding” and achieve greater explanation and prediction so as to empower relevant actors to design contemporary ecosystems and undertake actions towards their creation (Gregor, Citation2006).

The formulation of the research agenda is informed by the views and opinions of researchers with expertise in the area. Specifically, as part of the special issue, we engaged with authors who submitted their work to the special issue and asked them to highlight emergent and important questions on the orchestration of software development in contemporary ecosystems. Following prior examples of Delphi studies in special issues of IS journals, such as Ågerfalk et al. (Citation2009) and King and Torkzadeh (Citation2008), we conducted a Delphi study.Footnote1 As part of the Delphi study, we distributed an open-ended questionnaire asking: (1) What are the areas on the orchestration in contemporary software development ecosystems that deserve immediate attention? and (2) Why do you think each area deserves immediate attention? We received responses from 28 submitting authors. The two special issue editors first coded the answers independently and then discussed how these suggested topics align with the three themes outlined earlier. Subsequently, a research agenda was formulated as presented in . In a second round of the Delphi study, the authors of accepted papers were asked to rank the importance of conducting research in each area.

Table 1. Research agenda for the orchestration of software development

4.1. Theme 1: tighter integration of intra-organisational actors and their interactions from separate software centred units

The DevOps phenomenon targets the integration of separated domains responsible for providing valuable working software. In particular, the focus is on integrating the development, test, and release phases of the systems development lifecycle in a way that is more complex than what has been observed with regard to integration of customers and development team in the context of agile methods (Matook & Maruping, Citation2014). The enhanced complexities exist because of the need to dynamically orchestrate a larger number of actors and their interactions involved in the shared goal with conflicting approaches on how to achieve the goal. Prior research provides various examples for the enhanced complexities when development and operations are tightly integrated. For example, DevOps teams seeking to achieve the shared goal bring out micro-level goal conflicts because the sub-goals for each function are not in alignment (Lwakatare et al., Citation2019). The evaluation of effectiveness of work of DevOps is challenging due to different success measures and the simultaneous performance of orthogonal activities (Hüttermann & Rosenkranz, Citation2019).

In this theme, first, research with a particular focus on orchestration of the tightly integrated intra-organisational systems (e.g., for example, DevOps but not restricted to these two domains) is needed that examines the phenomenon in a much more theoretically grounded manner. Scholars can use the grounding in various theories to reach deeper levels of understanding (i.e., explanation and predictions) on the actors involved in the orchestration, their actions and the impact the organisational environment has on the deployed software delivery. For instance, important questions to ask might include how actors in DevOps can achieve response effectiveness and response efficiency to stakeholders with competing interests and sub-goals. Taxonomies of effective and efficient responses to change may provide a starting point to predict action strategies for DevOps.

Scholars can also draw on complexity inherent in the DevOps motivated software orchestration to anchor their theoretical work. At the core, DevOps seeks to orchestrate two complex adaptive systems [CAS] (Benbya & McKelvey, Citation2006; Holland, Citation1992) with multiple actors and their input-output exchanges into an integrated, harmonic system. In these newly formed DevOps systems, the embedded CASs (Dev CAS and Ops CAS) need to respond dynamically to changes from actors, viz. customers with requirements change and developers with coding and implementation changes, but also maintain responsiveness to changes from outside the system, viz. from technology providers and the market, e.g., competitors and partners. As a result, long chain influence dependencies manifest from customers to development activities to operations’ decision. Complex collaboration and interaction in these cross-functional units can be supported through coordinated and safeguarded exchanges that adapt fluidly and elastically to any changes (Feller et al., Citation2008; Jones et al., Citation1997).

A second focus in this theme is the advancement of automation of the software creation and deployment process. The Delphi study suggests the need for theorising on the complexities of the actors’ orchestration and their resource needs, in particular the human resources embedded in the intra-organisational integration. Of particular interest are aspects that focus on the automated integration of the human actors in the orchestration process and their integration with various technologies (e.g., artificial intelligence, technologies for continuous delivery and deployment). Research is called for to explain how stable development pipelines can be achieved when deployment is early and exclusively automated. Such stability reflects an advancement in the software development that ultimately reduces the complexities currently present in DevOps.

Scholars are also encouraged to examine the concerns and opportunities of variations in DevOps such as Shift Left where early testing and a problem prevention focus aim to reduce failure rates at deployment (Schrag, Citation2016). There, scholars can research how existing development and deployment processes can be orchestrated using insights from research on software development governance and control.

Another variation is the NoOps movement (Cockcroft, Citation2012; Gualtieri, Citation2011) that propagates total automation which would make operations obsolete. Although the idea of NoOps may seem extreme, at its core it represents a successful DevOps implementation by capturing the movement of features (i.e., Flow as one way to underpin DevOps principles) through the automation pipeline from creation to deployment and production (Kim et al., Citation2016). Much more research is needed about how organisational settings and work processes need to be designed to enable frictionless software deployment. Of particular interest is the influence on the human cognitive load and the variation richness of the outputs when the entire development pipeline is fully automated. One finds the current cloud solution of Dynatrace, a leader in software intelligence and application performance management, providing AI Ops solutions for customers by drawing on AI technologies. Consequently, further research is encouraged to study the following (the importance rankings indicate the relative importance of among the three areas):

  • Importance Rank 1: Structural arrangements within organisations and across their boundaries as well as social-behavioural aspects of the actors and their collectives that impact and are impacted by the orchestration of software development.

  • Importance Rank 2: Dynamic behaviours of DevOps for orchestration of software development when theorising its complexities (for example, collaborations, adaptations of autonomy, self-organising, leadership, and, learning) under conditions of “normality”, “transition”, and “fight for survival” paving the way for predictions, actions, and purposeful designs and creations.

  • Importance Rank 3: Automated orchestration by integrating human actors and technology such as artificial intelligence, blockchain applications, continuous delivery, continuous deployment, and advanced DevOps.

4.2. Theme 2: tighter integration of orchestration with software agents and hardware agents

Authors submitting to the special issue revealed a recognition that non-human agents are increasingly playing a prominent role in software development. This opens up several promising avenues for future research inquiry. Broadly, these non-human agents can be understood in terms of their implications for the orchestration of software development in two regards: How are they involved in orchestrating software development and how are they implicated in the orchestration of software development? The first suggests the need to understand how non-human agents are actively engaged in orchestrating. The second suggests the need to understand how orchestration ought to be viewed differently when non-human agents are involved.

Although we have already highlighted preliminary research that has begun to explore the kinds of bots involved in orchestrating software development (Hukal et al., Citation2019), the number of bots being created and deployed is increasing drastically. Consequently, there remains a strong need to document and characterise the variety of bots being deployed to orchestrate software development. Documenting the various bots involved in orchestration of software development will help IS scholars make sense of the particular aspects of orchestration that are being automated. Such discoveries will be a stepping-stone to scholarly conversations about the orchestration of software development. First, by identifying different types of bots, IS scholars can begin to envision and develop new theories of software development. Although there is accreted knowledge on automation in software development, much of this work assumes software agents as passive actors – e.g., in automated testing and automated builds (Lee & Bryant, Citation2004). This suggests a need to broaden our theorising to encompass software agents as orchestrators that actively assign tasks to human agents, evaluate their deliverables, and determine the sequencing and timing of specific activities in software development (Rai et al., Citation2019). Such inquiry needs to be part of the broader scholarly exploration into collaboration between human and non-human agents (You & Robert, Citation2018). For instance, important questions arise about how software developers see their role in the process, their willingness to take orders from bots and their reactions and future engagement when bots reject their work. Second, the prevalence of bots as orchestrators of software development has implications for the conduct of research in this domain. Bots are programmed to function in specific ways that affect orchestration. Thus, in addition to augmenting our theorising about this phenomenon, it is important for scholars to understand the implications that bots have for data generation processes. For example, empirical studies of collaboration among open source software developers could result in erroneous findings or misspecified models if they fail to account for the role of bots in shaping observed interactions between software developers. Similar guidance has been given with regard to the need for researchers to be vigilant in understanding dynamic changes in data generation processes for trace data (Lazer et al., Citation2014; Rai, Citation2016). Taken together, of the five ranked areas for future research, two that pertain to this aspect are:

  • Importance Rank 1: Exploring the human experiences of working with bots and understanding how research practices need to adapt to the role bots play in shaping the generation of trace data on software developer behaviour

  • Importance Rank 4: Identifying and theorising the types of bots involved in software development, the main conceptual functions of bots and their impact on collaboration in software development

Just as there is a rapid expansion in the number and types of bots involved in orchestrating software development, there is also a rise in the number and type of APIs and programmable hardware devices that necessitate rethinking how we understand orchestration of software development (Maalej & Robillard, Citation2013; Petrosyan et al., Citation2015). There is a need to document the different types of these technologies that are emerging. From an orchestration standpoint, the emergence of APIs as boundary resources raises questions about how resources are mobilised and channelled, particularly when the actors behind the APIs have their own strategic imperatives that shape what data is shared. It also raises questions about the power dynamics that arise as APIs play an increasingly central role in software development. Embedding API calls as a core function of software applications can generate dependencies that shape orchestration. Research is needed to make sense of these dynamics and how they affect our current theories. In the realm of hardware devices, the deployment environment has become an important consideration when developing software. Consequently, software orchestration is increasingly encompassing equipment manufacturers to inform developers’ efforts to devise software solutions. For instance, John Deere’s autonomous vehicles integrate IoT sensors and APIs (through its Field Connect API) that offer third-party app developers data on weather conditions, soil conditions and vehicle condition (Taft, Citation2016). Similarly, developers designing algorithms for autonomous vehicles need to be cognisant of energy management considerations when such vehicles are deployed in the field. The complexity of machine learning models deployed on autonomous vehicles places heavy demands on processors causing them to generate heat and consume energy that should otherwise be devoted to moving the vehicle. Software developers must therefore seek informational resources from and coordinate with hardware designers who have insight into the energy demands of the deployment environment of the software. In sum, the introduction of these new actors is generating dependencies that require new interactions between actors that are not reflected in current theories. Hence, the following areas pertaining to this aspect and the ranking of their importance in theme 2 are:

  • Importance Rank 2: Identify and theorise new dependencies between software developers and other actors in IoT and their implications for the orchestration of software development

  • Importance Rank 3: Identify and theorise the skills and training required for actors, in particular software developers, in light of the increasing importance of IoT and APIs while also understanding how the actors can manage the complexity imposed by unknown or unfamiliar deployment environments for their software

  • Importance Rank 5: Explore the dynamics involved in the development, maintenance and extension of software involving APIs

4.3. Theme 3: tighter integration of community actors in the software development process on digital platforms

Software development has experienced two notable impacts from the rise of digital platforms that have implications for orchestration. First, it has accelerated trends that were already set in motion and second, it has facilitated new forms of engagement among actors. Each of these impacts is outlined next along with reflections on the implications for the future of research on orchestration.

Digital platforms have accelerated two trends that were already in motion in software development. First, having recognised the value proposition of collaborating with open source communities, organisations have increasingly been launching their own standalone projects – e.g., IBM’s Eclipse – or contributing to the open-source community’s projects – e.g., the Apache Project, the GNOME project. The Eclipse project was started within IBM and was subsequently opened up for input and development by the open-source community (Wagstrom et al., Citation2010). The Apache Project and GNOME started within the open-source community and have attracted participation and resources from organisations with commercial interests (German, Citation2003). Contemporary digital platforms such as GitHub have streamlined the process of opening and managing repositories for open collaboration, accelerating the trend of organisations hosting their own software development initiatives with participation of the open-source community (Srivastava & Medappa, Citation2020). This move has made engagement with the open-source community accessible for organisations of different sizes and levels of maturity. Second, organisational efforts to engage the input of users are a trend that has been in motion and has been accelerated by the emergence of digital platforms. Organisations recognise the value proposition of gauging market needs and preferences through the input of users (Bayus, Citation2013; Hwang et al., Citation2019). Digital platforms have afforded organisations the necessary infrastructure to manage this input at a much larger scale. For instance, Salesforce boasts a robust user community that generates ideas for new features and functionalities for applications sold on the company’s AppExchange. As this form of engagement with users is normalised there are important questions about how organisations should manage the process of generating ideas from users to selection and implementation of those ideas in software applications.

As these forms of engagement in software development progress towards some form of normalisation, there are important areas with which the academic and practitioner communities must engage. We present the importance rankings as determined among the areas in theme 3:

  • Importance Rank 2: Identify and theorise the challenges in orchestrating software development across different ideologies and forms of organising

  • Importance Rank 4: Explore organisations’ responsibilities to safeguard social welfare when benefitting from the voluntary intellectual contributions of members of the open-source community while also facilitating discovery of value-adding ideas by user communities

  • Importance Rank 8: Examine the tighter integration of users on digital platforms into software development at scale

In the domain of new forms of engagement, there have been two noteworthy developments. One is the low-code movement that is enabling a more active form of participation in software development by those with little or no software coding skills (Rymer & Koplowitz, Citation2019; Silva et al., Citation2020). The other is the creation of joint collaboration spaces and artefacts on digital platforms. The low-code movement reflects the emergence of digital platforms that enable the development of simple applications through the design and configuration of graphical user interfaces (Sanchis et al., Citation2020). With a basic understanding of modelling principles – e.g., universal modelling diagrams, activity diagrams, etc. – users can develop basic applications without needing to write programming syntax. This development is noteworthy because it has potential to move customers from sharing software function ideas with software developers on digital platforms to actually implementing those ideas in a software application. The modality for sharing innovative ideas potentially shifts from text in user communities to applications with some functionality. To be clear, these platforms enable those with no coding experience to develop somewhat functional applications, but these are very limited in their capabilities and may possess many security flaws. This leaves scope for software developers to augment and build upon the foundation laid by users. Academic research on no-code and its implications are minimal at present. Yet, it has tremendous potential to inform the form and intensity of user participation in software development. While there are numerous avenues that research could pursue, we see the following area as a starting point for moving orchestration in contemporary ecosystems forward supported by the importance ranking among the nine areas in theme 3:

  • Importance Rank 1: Examine the emergence and evolution of software innovation processes when users are actively involved in design through no-code platforms

  • Importance Rank 5: Theorise the management of user inputs at scale

  • Importance Rank 6: Explore how orchestration of software development enables users and developers to collaborate through jointly created digital artefacts and the management of intellectual property rights when commercialising software created from such engagements

Digital platforms have strengthened the collaboration between open source developers and organisations with commercial interests. As already mentioned, this trend was already in motion and has accelerated. The current iteration of digital platforms has reshaped the form of this collaboration to encompass shared infrastructure and fluidity in the movement of artefacts. Current infrastructures enable organisations to create repositories to house software code and documentation. This way the organisation’s developers and members of the open-source community have a central location in which the application is developed. This digital infrastructure enables organisations to channel the contributions of the open-source community in strategic ways. Digital infrastructure for forking and merging software artefacts enable their fluid movement between the organisation and members of the open-source community interested in experimenting with other potential applications of the software. Similarly, the same infrastructure enables organisations to fork software artefacts from other repositories. Such fluidity enables greater efficiency in identifying robust innovations for an organisation’s software. Taken together, these developments raise important questions about how software development is orchestrated across organisational boundaries – between organisations, the open-source community and digital platform owners. Initial areas of research that represent a reasonable starting point include:

  • Importance Rank 3: Theorise how organisations make decisions about what aspects to leave open to participation and what aspects to keep closed in orchestrating software development on digital platforms

  • Importance Rank 7: Explore the incentives for actors to participate in collaborations between the organisations and open source communities on digital platforms

  • Importance Rank 9: Identify the skills of organisational actors, in particular software developers, needed to orchestrate software development across boundaries with open source communities

5. Conclusion

The ecosystem within which software development is orchestrated has evolved in significant and consequential ways. In this editorial, we highlight some of the main forms of this evolution, summarise existing scholarly work related to this evolution, draw attention to the articles in this special issue that advance this conversation, and outline promising avenues for future research inquiry. This special issue is intended to serve as a rallying call for the IS scholarly community to engage with this change, make sense of its implications and devise new theory to inform current and future generations of scholars. The implications of this evolution are far-reaching and varied and will require a multitude of research perspectives including economic, psychological, sociological, political, and computational. Advancements in knowledge of software development orchestration in contemporary ecosystems necessitate the involvement of scholars from different methodological traditions. When uniquely united as a discipline, the IS community is in prime position to take leadership to add meaning and make sense of a world where software development has changed forever.

Associate Editors

Noel Carroll, National University of Ireland – Galway, Ireland

Torgeir Dingsøyr, Norwegian University of Science and Technology, Norway

Ben Eaton, Copenhagen Business School, Denmark

Brian Fitzgerald, University of Limerick, Ireland

Hartmut Höhle, University of Mannheim, Germany

Peng Huang, University of Maryland, US

Thomas Kude, ESSEC, France

Michael Schermann, Santa Clara University, US

Maha Shaikh, King’s College London, UK

John Tripp, Clemson University, US

Jaime Windeler, University of Cincinnati, US

Ling Xue, Georgia State University, US

Acknowledgements

The authors gratefully acknowledge the generous and insightful feedback provided by Andrew Burton-Jones, Pär Ågerfalk, Alexander Benlian, and Robert Winter on earlier versions of this editorial. The authors thank Pär Ågerfalk and the editor team at the European Journal of Information Systems for their unwavering support for this special issue.

Disclosure statement

No potential conflict of interest was reported by the authors.

Notes

1. The study received the necessary ethics approval from The University of Queensland (Ethics Approval Form N 2,018,002,394).

References

Reprints and Corporate Permissions

Please note: Selecting permissions does not provide access to the full text of the article, please see our help page How do I view content?

To request a reprint or corporate permissions for this article, please click on the relevant link below:

Academic Permissions

Please note: Selecting permissions does not provide access to the full text of the article, please see our help page How do I view content?

Obtain permissions instantly via Rightslink by clicking on the button below:

If you are unable to obtain permissions via Rightslink, please complete and submit this Permissions form. For more information, please visit our Permissions help page.