Software development beyond IT has been saved
The how, where, and who of software development are changing quickly, as converging trends are allowing nonspecialists to design and create applications without expert aid. Increasingly popular technologies are empowering businesses to develop their own apps—and that means more speed and agility.
You remember how it was years ago: Anytime your team needed a custom software application that couldn’t be picked up at the local office-supply store, it meant commissioning work from programmers in the IT department. Things have changed—now nearly anyone can develop software.
Indeed, software development, once the realm of highly specialized professionals, is within reach of nearly every department in your company. Thanks to a host of accelerating technology trends—including cloud computing, open-source software, the API economy, and the emergence of low-code platforms—software applications can be developed at lower cost, in a shorter amount of time and by less skilled people. As a result, development is spreading from IT to the business, from developers to “nontraditional developers,” and from big companies to start-ups that can now punch above their weight. Software development is becoming pervasive.
Enterprises are taking advantage of these new possibilities and enabling business-line staff to take application development into their own hands to develop the apps they need themselves. For companies that embrace this new paradigm and manage the entailing risks intelligently, the opportunities to act faster and with more agility are significant. Meanwhile, vendors of monolithic enterprise software face a daunting challenge: What’s the role of one-size-fits-all applications in a world where customers can tailor-make their own apps?
Analysts forecast >50 percent CAGR for the low-code tool market over the next five years5
The US Department of Labor expects a shortfall of 500,000 developers by 202010
Companies in all industries are embracing digital transformation. This entails, among other things, applying digital technologies to business processes to achieve greater business performance. At the same time, executives are feeling increasing pressure to deliver digital solutions faster and cheaper. Staying competitive and relevant requires speed.
But of course, it’s always a challenge to bring new solutions and capabilities to market quickly, particularly when software is involved. Corporations are constrained by long software development cycles and formal IT engagement procedures. Competing priorities on IT teams can spawn ballooning backlogs that are inimical to agility. And staffing proficient software engineers can be difficult and expensive, given a persistent shortage of technical talent.11 All the while, the majority of CIOs—70 percent, according to Deloitte’s most recent global CIO survey—face a mandate to reduce costs while enhancing delivery of solutions that improve business performance.12 To do so, enterprises are increasingly looking beyond traditional software development and purchasing paradigms.
A number of technologies are converging to rewrite the enterprise software-development rulebook. Tech leaders such as Google, Amazon, and Microsoft, alongside a range of well-funded start-ups, are offering a host of products and services that—in combination—enable enterprises to significantly increase their developers’ productivity while opening up the development process beyond IT, to “nontraditional” developers in other functions and business lines. Meanwhile, start-ups are significantly increasing their technical leverage, allowing them to take on large incumbent enterprises by intelligently piecing together third-party resources rather than building everything from scratch. Four technology developments are driving the trend: open-source software, the API economy, cloud computing, and low-code platforms.
Open-source software. Enterprises are increasingly using open-source software to reduce the cost and time required to develop applications. Open-source software is distributed as source code that any organization can inspect, modify, and enhance.13 Organizations using open-source software can slash costs compared to commercial alternatives14 as well as development time compared to in-house development. They can also take advantage of the innovation and rapid enhancement that open-source communities encourage.15 Indeed, the use of open-source software has become mainstream in recent years, with open-source alternatives to commercial software available for most business application categories.16 More than half the organizations surveyed by Gartner had adopted open-source solutions as part of their IT strategy by 2011,17 and by 2012, on average approximately one-third of deployed code was open-source.18 According to a widely cited survey, 65 percent of companies now leverage it to speed application development.19 And investors see a profitable future: VC investment in open-source start-ups is growing exponentially, reaching $7 billion in 2015 alone.20
Application program interfaces. Enterprises are accelerating their use of application programming interfaces (APIs)—that is, code that provides a standard means for two software programs to communicate with each other, enabling one application to take advantage of another that is already written and tested.21 Enterprises use APIs as faster, better, cheaper alternatives to in-house development. Uber, for example, uses APIs to tap into Google Maps, Checkr background checks, Braintree payments, and Twilio texts.22 And companies are becoming more systematic in their use of APIs: Forrester predicts that in the United States alone, companies will spend $660 million on API management tools and services in 2020, up from $140 million in 2014;23 according to CB Insights, VC investments into start-ups focused on developing/managing APIs exclusively or as part of a larger business has tripled in the last three years, to $1.3 billion in 2016.24 Some 67 percent of organizations report using open-standard APIs.25
Cloud. Cloud service providers are continuously enriching their offerings and adding capabilities to their platforms. They are “moving up the stack,” adding services such as database management, identity and access management, and machine learning. Enterprises leverage such “platform-as-a-service” (PaaS) offerings to create and deploy applications at reduced cost and increased speed.26 Adoption is growing, with the global PaaS market reaching $4.6 billion in 2016, exhibiting a growth rate of 21 percent.27 Enterprises are shifting to PaaS (and IaaS) fast: The average company plans to allocate 45 percent of its cloud budget to software-as-a-service, 30 percent to infrastructure-as-a-service, and 19 percent to PaaS.28
Low-code development. Enterprises are increasingly taking advantage of low-code platforms to develop and deploy apps without putting pressure on their already-overburdened IT departments. Low-code platforms build on the model-driven development approach: Users interact with graphical models and configure pre-built application components to create functional applications. This allows business users to construct complex applications without having to be proficient coders. Model-driven development allows smaller teams to deliver software faster. Analysts forecast a 55 percent CAGR for the low-code platform market over the next five years, reaching a market size of over $15 billion by 2020.29
For all its benefits, turning everyone into software developers is not a panacea for slow application development cycles or software budget overruns. Democratizing software development introduces new risks: APIs are deprecated (declared obsolete), cloud providers change terms of service, and low-code platforms impose limits on customization and optimization.30 Additionally, with the business lines empowered to develop their own applications, self-developed apps can pop up across an enterprise like mushrooms—a financial-services company says it runs more than 1,000 discrete applications on its low-code platform; a travel-services firm runs 2,300 apps.31 This proliferation of apps can cause governance issues and introduces novel risks that IT organizations need to manage. All of this means that the role of traditional IT is not diminishing but transforming. Enabling secure and productive environments for pervasive software development may mark the difference between successful development efforts and “shadow IT.”32
Business leaders should consider adopting and distributing pervasive software development tools to help drive digital transformation. As software development becomes cheaper, companies will be able to digitize more business processes with less effort. Companies will also be able to formulate digital responses to market opportunities at greater speed. Business line and function leaders will need to get comfortable overseeing app development in their ranks.
Talent leaders must expand what it means to be “tech fluent.” Employees of the future will not only be literate users of technolog—increasingly, they will be shapers and even developers of it as well. This means that companies, after offering resources and training, should expect talent in non-IT groups to cultivate their own development activities and build skills to contribute to application development.
Software vendors will face growing expectations for customization. As software development spreads throughout companies, software vendors will face increasing pressure to allow for significant customization of their own platforms. Companies such as Salesforce and Oracle are already providing tools to build apps on top of their products. This trend will grow in significance as they continue to open their products—with APIs, for example, further embracing platform strategies. By the same token, start-ups will see opportunities to challenge and disrupt incumbents.
These trends are about more than IT—they have implications for operations and for strategy as well. At a time when digital transformation has become a strategic priority for many organizations, mastering pervasive software development could mean the difference between being a leader and being disrupted.