CUTTER BUSINESS TECHNOLOGY JOURNAL VOL. 32, NO. 7
The authors of this article intriguingly compare software to the ouroboros, the mythical serpent of the ancient world that eats its own tail and is reborn from itself. Like the ouroboros, software has cannibalized and transformed itself. In recent years, software has evolved toward autonomy. Autonomous software has the capability to change itself (as with automatic updates) and even to write itself (AI can write software code or even be the software). Software evolution and changes in software development imply that software will become ever more pervasive and affordable, that firms must master disciplined autonomy in order to follow dual strategies, and that the role of IT professionals is being redefined. The authors conclude with the steps that senior leaders and managers need to take for their organizations to transform and be reborn.
Without a doubt, software has become pervasive and indispensable. It is now everywhere and has impacted almost every aspect of our day-to-day activities and nearly every industry. Supported by such technologies as cloud computing, the Internet of Things (IoT), and artificial intelligence (AI), software has revolutionized the world. It continues to transform business, education, healthcare, banking, and many other key sectors, including government and politics. Indeed, the World Economic Forum’s Global Agenda Council on the Future of Software & Society identified 21 examples of software-enabled changes that will strongly affect “human health, the environment, global commerce and international relations.”1 As the council’s report highlights, “We are entering a time of momentous societal shifts brought on by advancements in software.... These changes will impact people around the world.”
While the rise of software and its valuable influence is now common knowledge for most, what many people — even IT professionals and business executives — don’t recognize is that software, particularly in the last two decades, has also transformed the software industry. In other words, software has “eaten” or autocannibalized2 software, much like the ouroboros, the mythical emblematic serpent of ancient Egypt, India, and Greece, eating its own tail and being reborn from itself (see Figure 1).3 The expectations end users have of software today are significantly different than those they had just a few years ago. Previously, users expected software to perform predefined and preprogrammed functions, such as automating business processes. Today, however, users expect software to be both smart and adaptive, changing itself (like the ouroboros). The purpose of this article is to articulate the nature of these rising expectations and examine what managers should focus on in developing newer software.

The impact of the ongoing transformation of software and the software industry is — and will continue to be — significant and widespread. Those that fail to pay attention to the next frontiers in software are putting themselves at risk. Thus, organizations and software developers alike should ready themselves for this new world of software. Understanding and adapting to the new software landscape, collaborating with major global partners as well as startups and “crowds,” and being continuously innovative have become ever more important. Being prepared to navigate the new software landscape requires awareness of its ongoing changes and an understanding of their implications.
We begin with a brief outline of how software has evolved and what has changed in the software arena, particularly in the last few decades. Next, we examine how, over the years, software has transformed itself and its own development. We also discuss the implications of software evolution and offer recommendations on how business leaders can embrace and adapt to a new era in software.
Software: What Has Changed?
Many aspects of software have changed in the last few decades, particularly since the advent of personal computers in the 1980s, the World Wide Web in the 1990s, and the widespread use of mobile and cloud computing in the last decade or so. Other key changes have been the massive trend toward outsourcing and offshoring in the 2000s and the widespread use of social media beginning in the 2010s. In turn, social media, along with mobile and cloud computing, created a trend toward the consumerization of IT that has challenged the software industry and IT departments.
Software companies and IT departments responded to some of these technologies and trends by making dramatic changes in software development methodologies and initiating Agile methods and design thinking approaches that create closer collaboration among software developers and customers to develop and improve software. In some cases, the need to address constant customer feedback and facilitate closer collaboration has brought software development back in-house (as part of a backsourcing initiative) and has promoted a hybrid model of computing that includes both on-premise and cloud computing.
We have also seen a parallel trend emerging toward the use of AI for software development in two primary roles: (1) AI as a tool to program software, and (2) AI as the software itself (aka Software 2.04). In the first role, AI directly writes program code or indirectly helps human programmers to write program code; in the second role, AI is the software, and the software gets trained, eliminating the need for coding. Both roles exemplify how software is rapidly changing itself.
A key trend today is autonomous software, where software has the ability to change itself. The crudest such example is the automatic software update, where software (such as the Windows operating system or mobile device application) downloads periodic updates and replaces itself with the newer version of the software. A more futuristic scenario already underway is to use AI and the cloud to identify any potential bugs or issues and to fix those automatically without human intervention.
On the whole, software development has undergone major transformations over time. Newer developments in software often feed on themselves, rendering previous developments and approaches obsolete, just as the ouroboros metaphor suggests.
Software Evolution in Recent Decades
To understand the evolution toward autonomous software, we must realize that the most significant change in the last decade has been the availability of increased bandwidth to connect hardware across distant geographical regions, keeping in mind that hardware supports software. In 2018 alone, the average Internet speed in the US grew by 40%.5 From 2007 to 2018, average Internet speed grew from 3.5 Mbps in 2007 to 18.5 Mbps at the end of 2017.6 Such massive growth in Internet speed has enabled the growth of the cloud, which allows accessing of remote applications from anywhere in the world. This improved connectivity has also been a catalyst to allow applications to run in a distributed fashion. Both of these advances have enabled organizations to use the cloud and massively parallel distributed systems such as Hadoop and Spark to store and analyze large volumes of data at very low cost. Figure 2 depicts the evolution of software over the past decade, powered by technical infrastructure (network bandwidth leading to cloud).

The ability of organizations to run massively parallel distributed systems in a very cost-effective way in the cloud has, in turn, given birth to the ubiquitous application of AI. Interestingly, the fundamentals of AI were developed back in the 1960s,7 but hardware limitations restricted its growth and use. Easy and fast hardware connectivity together with a distributed software platform on top has made the application of AI a reality in today’s world. Even small and medium-sized organizations, as well as startups, are applying AI to solve new problems.
Although Moore’s law as we knew it no longer holds, that has not held up the growth of software due to the shift from a centralized system to a globally distributed system and the distributed nature of today’s applications.8 Today’s managers need to think of software that can run anywhere, can be accessed from anywhere, and can be scaled limitlessly.
Increased bandwidth has played a major role in opening access to computing devices to the masses. Though mass access to computing devices is commonly credited to mobile devices such as smartphones, iPads, and tablets, one needs to remember that netbooks9 and Palm devices10 were around in the late 1990s. It is the improved bandwidth and the cloud, however, that have made smartphones and other mobile devices vastly attractive to the masses. These devices provide virtually everyone with unfettered access to information and computational power, in contrast to an earlier period when consumers needed a bulky and costly computing device to access applications and information that were otherwise out of reach. Mobile device–based apps, along with cloud-based computation, have given most consumers access to AI and other complex applications. Managers need to think about how these capabilities can be used to reach the mass of consumers.
Consider the current popularity of the IoT. Easy connectivity allows IoT-based software applications to reach consumers in ways that were only science fiction in the 1960s. Amazon’s Alexa can order groceries for you because it knows what is in the refrigerator. The software in a Tesla car can report problems and fix the relevant software per instructions downloaded from the cloud. Software is now embedded in every device consumers use. This software not only enables device connectivity but also monitors the health of the device and autocorrects itself. The software in these devices can now even predict failure before the failure occurs. Think about a scenario where your air-conditioning unit tells you to find a service technician to address a few issues before it fails.
AI and the cloud are playing an important role in making possible self-maintained, auto-corrected software that can identify defects and take action. Such software requires massive data collection, data processing, and application of AI. Ubiquitous access to the cloud and enormous bandwidth availability from edge devices in the IoT make this scenario possible. Examples include Tesla cars and smart home devices, such as washing machines, refrigerators, and air-conditioning units.
New generations of self-managed software have created new expectations on the part of consumers. Consumers are no longer willing to wait for a service technician or to take a product (such as a car) to a service center. Consumers want problems with products and services to be taken care of without disruption and as efficiently as possible. One vivid example is Tesla’s recent brake problem, which traditionally would have required the car to be taken to a service center; instead, Tesla fixed the problem through a remote software update.11
In today’s world, managers shouldn’t just develop software. Managers need to integrate software with other devices and platforms, such as IoT devices and smart devices, and make that software self-manageable (i.e., autonomous). Without adopting self-manageable, self-evolving, self-maintaining, autonomous software, enterprises cannot thrive in today’s new world.
Implications of Changes in Software Development
The implications of the changes discussed above are enormous. In this section, we discuss three of those implications: (1) more pervasive and affordable software; (2) dual strategies; and (3) the redefined role of IT professionals.
1. More Pervasive and Affordable Software
First, software has become more pervasive and affordable. Moreover, software development and deployment — and the software business in general — have become more democratic, as evidenced by the ability of individual software developers to create apps, fix bugs, or make improvements (e.g., the open source movement). Software no longer means the dominance of big software companies that have the infrastructure to distribute their software. Furthermore, software development tools have evolved to be more AI- and cloud-based. Examples include GitLab, Ansible, Packer, Nagios, Puppet, and ELK. Further still, the evolution of intelligent software has made software development easy and possible even for small software companies with fewer resources. Such small companies and startups can now develop and distribute software at a scale that no one could imagine 10 years back.
2. Dual Strategies
Second, firms are having to innovate with high quality and high velocity at the same time, as illustrated by Apple, Google, and Amazon, to meet or create customer demand. These firms often follow “dual strategies,” in contrast to conventional “either-or” strategies, such as either efficiency or innovation, or either exploitation of current resources or exploring and embracing new opportunities. However, executing dual strategies is not easy, and successful execution requires a new approach called “disciplined autonomy.”12 Disciplined autonomy is defined as the extent to which an organization adopts work templates or standards while providing sufficient autonomy to employees and developers.
One way of thinking about disciplined autonomy in IT projects is to realize that the traditional focus of IT project management has been on discipline, evident in waterfall-like approaches and process maturity frameworks such as CMMI. In contrast, newer approaches, like Agile and Scrum, allow individuals and teams greater autonomy to respond to the volatility of business environments and changing customer needs. Such disciplined autonomy techniques are particularly valuable in uncertain environments. The value of software-based strategies lies in enabling managers to pursue disciplined autonomy.
At the level of platforms, Alphabet, Amazon, Facebook, and Apple appear to demonstrate disciplined autonomy in their platform strategy when they allow third-party developers to provide complementary solutions. In such cases, platforms leverage outside innovation by granting considerable autonomy to third parties while encouraging desirable behaviors through governance and APIs. This notion of disciplined autonomy also applies to conglomerates with loosely connected firms or business units. For example, Google was reorganized as a subsidiary of Alphabet to provide it autonomy within the overall organizing logic that Alphabet provides. Conglomerates like GE and the Tata Group have followed a similar approach to grant business units sufficient autonomy in their respective businesses while leveraging potential synergies. Other approaches to create disciplined autonomy include Humana’s “Palo Alto culture” in Kentucky;13 use of autonomous squads arranged in circles or subcircles at Zappos;14 and squads, chapters, tribes, and guilds at Spotify.15
3. Redefined Role of IT Professionals
The third implication of changes in software development approaches is the redefined role of and demand for IT professionals.16 Increasingly, the use of AI for software development raises fears about job losses for programmers, a fear that is not totally unfounded. Software developers need to be prepared for a world in which AI will increasingly perform lower-level programming tasks. That does not mean that all software jobs will disappear, as Nobel Laureate and father of AI Herbert Simon feared back in the 1960s.17 Indeed, AI can create new jobs or change the nature of activities that a software developer performs.18 For example, AI assistance can help human programmers avoid coding errors by acting as a pair-programming partner. Even if AI were to completely replace the software code in relatively stable tasks or situations, we would likely still need conventional programming in more dynamic or creative environments to delight customers or serve their latent needs. In such situations, software developers will design and develop the architecture that brings together AI modules to solve a problem. They will also focus on data governance and activities requiring judgment and creativity and will address ethical questions relating to bias and discrimination. Moving ahead, developers will write software with the assistance of AI and the cloud and, increasingly, the software they are writing will be designed to be autonomous.
Role of Senior Leaders and Managers
So what do changes and developments in the software industry mean for senior leaders and managers? In this section, we discuss several steps they need to take to avoid the curse of ignoring the need for transformation that afflicted incumbents like Borders and Blockbuster.
First, all managers must develop a vision that embraces software-driven strategies, recognizing that, increasingly, it is software that powers their business processes and provides competitive advantage. Following on from that, managers need to articulate their software strategy as part of their business strategy by questioning and abandoning conventional strategy concepts based on the logic of “tradeoffs” in favor of newer ways of thinking based on the logic of “tradeons,” because software can allow firms to pursue seemingly paradoxical objectives such as revenue growth and cost reduction at the same time.19
Second, managers should continuously transform their organizations by scanning for and intelligently deploying new technologies. They should avoid handicapping themselves by making imprudent use of outsourcing when what is being outsourced involves skills critical for the organization’s future. Moreover, they should use configurational logic,20 which supports multidimensionality in thinking about strategies and governance processes, because it is not just one lever that provides competitive advantage, it is simultaneously pulling multiple levers that allows organizations to occupy profitable and sustainable niches.21
Third, managers should pay attention to governance processes to ensure successful deployment of their strategies and should become involved in the careful consideration of IT decision rights (i.e., who decides what), the structure and role of the IT department, how much to spend on IT, and how to deliver IT services internally and externally. Furthermore, they should think of their governance system as a platform for integrating strategic initiatives, similar to an operating system, which allows a variety of applications to be built on a common platform.22
Fourth, managers must become involved in executing IT projects, which requires (1) being aware of technology evolution; (2) making informed decisions regarding technology upgrades; and (3) helping to adopt, diffuse, and exploit IT systems.
Fifth, managers need to adopt, where needed, software that can run anywhere, can be accessed from anywhere, and can be scaled limitlessly. Managers need to use newer technologies, such as AI and the cloud, to achieve these requirements.
Sixth, managers need to determine how to reach the mass of end users with AI and cloud-based software leveraging mobile devices. Managers must integrate that software with other devices (e.g., smart devices and IoT devices) by means of AI, the cloud, and a high-bandwidth network and make the software self-manageable (i.e., autonomous) so that it can adapt itself to a given context and repair itself.
Finally, managers must realize that no one technology or software by itself provides a competitive advantage. Managers must empower their organization to ask critical questions related to newer technologies and their business relevance amid changing customer tastes that leads to creating a data-driven, decision-making culture that will foster organizational survival.
Conclusion
Ongoing changes in software development approaches and continuing advances in AI will bring significant transformation to the IT profession and the work of software developers. To avoid becoming obsolete, software developers must stay abreast of new technology developments to keep their skill sets current and relevant. Senior leaders need to be aware of software trends and their implications and be innovative in effectively embracing both human intelligence and AI to solve business and societal problems and to leverage the new opportunities that software advances bring.
References
1Global Agenda Council on the Future of Software & Society. “Deep Shift: 21 Ways Software Will Transform Global Society.” World Economic Forum, November 2015.
2Mehra, Rohan. “Autocannibalism Is When You Eat Bits of Your Own Body.” BBC, 13 December 2016.
3Bekhrad, Joobin. “The Ancient Symbol That Spanned Millennia.” BBC, 4 December 2017.
4Karpathy, Andrej. “Software 2.0.” Medium, 11 November 2017.
5Molla, Rani. “US Internet Speeds Rose Nearly 40 Percent This Year.” Vox, 12 December 2018.
6Holst, Arne. “Average Internet Connection Speed in the United States from 2007 to 2017 (in Mbps), by Quarter.” Statista, 13 August 2018.
7Solomonoff, R.J. “Some Recent Work in Artificial Intelligence.” Proceedings of the IEEE, Vol. 54, No. 12, 1966.
8Simonite, Tom. “Moore’s Law Is Dead. Now What?” MIT Technology Review, 13 May 2016.
9Finnegan, Matthew. “Slide 7: Laptops, Tablets, and Smartwatches: The Evolution of Mobile Computing.” Computerworld, 16 February 2015.
10Finnegan, Matthew. “Slide 8: Laptops, Tablets, and Smartwatches: The Evolution of Mobile Computing.” Computerworld, 16 February 2015.
11Marshall, Aarian. “Tesla’s Quick Fix for Its Braking System Came from the Ether.” Wired, 30 May 2018.
12Mithas, Sunil, Thomas Kude, and Sorel Reisman. “Digitization and Disciplined Autonomy.” IT Professional, Vol. 19, September/October 2017.
13Loftus, Tom. “Can You Put a Little Palo Alto Into an Insurer in Louisville?” The Wall Street Journal, 28 April 2015.
14Berman, Dennis. “Tony Hsieh Tells How Zappos Runs Without Bosses.” The Wall Street Journal, 26 October 2015.
15Rigby, Darrell K., Jeff Sutherland, and Hirotaka Takeuchi. “Embracing Agile.” Harvard Business Review, May 2016.
16Mithas, Sunil, Thomas Kude, and Jonathan Whitaker. “Artificial Intelligence and IT Professionals.” IT Professional, Vol. 20, No. 5, September/October 2018.
17Simon, Herbert A. “The Corporation: Will It Be Managed by Machines?” In Management and Corporations 1985, edited by Melvin Anshen and George Leland Bach. Praeger, 1975.
18Mithas, Kude, and Whitaker (see 16).
19Mithas, Sunil, and Roland T. Rust. “How Information Technology Strategy and Investments Influence Firm Performance: Conjecture and Empirical Evidence.” MIS Quarterly, Vol. 40, No. 1, March 2016.
20Configurational logic relies on the notions of conjunctural causality (as opposed to the effect of just one focal variable), equifinality (multiple pathways to achieve an outcome), and asymmetric causality (if the presence of a factor is necessary for success, that by itself does not mean that absence of that factor will necessarily lead to failure). These notions are sharply distinct from dominant conventional notions that rely on singular focus on one variable, unifinal outcomes (only one way to achieve an outcome), and symmetric causality.
21Park, YoungKi, and Sunil Mithas. “Organized Complexity of Digital Business Strategy: A Configurational Perspective.” MIS Quarterly, forthcoming, 2019.
22Mithas, Sunil, and F. Warren McFarlan. “What Is Digital Intelligence?” IT Professional, Vol. 19, July-August 2017.

