Article

Software as the Ouroboros: Implications for Software Developers and Business Leaders

Posted September 24, 2019 | Leadership | Technology | Amplify
ouroboros

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 auto­cannibalized2 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, how­ever, 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.

Figure 1 — The ouroboros.
Figure 1 — The ouroboros.
 

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 chal­lenged 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 soft­ware. 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 pre­vious 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 connec­tivity 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 mass­ively 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).

Figure 2 — Evolution of software in the last decade.
Figure 2 — Evolution of software in the last decade.
 

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 plat­form 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 con­nectivity 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 mak­ing 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 afford­able. Moreover, software development and deployment — and the software business in general — have become more demo­cratic, as evidenced by the ability of indi­vidual software developers to create apps, fix bugs, or make improvements (e.g., the open source movement). Software no longer means the dominance of big soft­ware 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 intel­ligent 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 envi­ron­ments. 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 requir­ing 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 para­doxical 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 proc­esses 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 tech­nologies, 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 technol­ogy 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 Smart­watches: The Evolution of Mobile Computing.” Computerworld, 16 February 2015.

10Finnegan, Matthew. “Slide 8: Laptops, Tablets, and Smart­watches: 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.

About The Author
Sunil Mithas
Sunil Mithas is a Professor in the Department of Information Systems and Decision Sciences, Muma College of Business, University of South Florida. Previously, he taught at the Robert H. Smith School of Business, University of Maryland, and has held visiting positions at UNSW Business School, Australia; University of Mannheim, Germany; and University of California, Davis. Dr. Mithas is among the top IS scholars in the world, and his… Read More
Kaushik Dutta
Kaushik Dutta is a Professor, Department Chair, and Muma Fellow in the Department of Information Systems and Decision Sciences, Muma College of Business, University of South Florida. He has 22 years’ professional and research experience in the field of enterprise IT infrastructure, data analytics, and big data systems. Dr. Dutta's current interest is in the area of mobile advertisement, healthcare, and the application of blockchain in enterprise… Read More
San Murugesan
San Murugesan (BE [Hons], MTech, PhD; FACS) is a Cutter Expert and a member of Arthur D. Little's AMP open consulting network. He is also Director of BRITE Professional Services and former Editor-in-Chief of the IEEE's IT Professional and Intelligent Systems. Dr. Murugesan has four decades of experience in both industry and academia, and his expertise and interests include artificial intelligence, quantum computing, the Internet of Everything,… Read More