Of the many books about information technology I’ve read over the years, the two that have stuck with me the longest are Fred Brooks’s 1975 classic The Mythical Man-month and Clayton Christensen’s 1997 The Innovator’s Dilemma. Both brilliantly challenged conventional wisdom about why projects, technologies, and companies succeed and fail, and each book’s lessons are particularly relevant as low-code technologies make their way into the enterprise.
Why Simplicity Beats Complexity
The Mythical Man-month is best known for Brooks’s counterintuitive premise that adding people to a software project that’s already running late will only make it fall further behind. According to Brooks, more hands means more meetings, more confusion, and ultimately more bugs that have to be stamped out before release.
Over the years, his argument has been proven time and again. Revolutionary products like Lotus 1-2-3, Linux, and the World Wide Web were built by individuals or small teams, and small startups continue to drive software innovation. The same principle underlies agile development and open source, in which loosely federated independent developers each focus on making a small piece of the project as good as it can be.
Meanwhile, in The Innovator’s Dilemma, Christensen demonstrated how simple, low-cost technology products almost invariably displace more complex and expensive ones over time. The newcomers aren’t as sophisticated as the entrenched leaders, but their products are good enough, they’re accessible to a wide audience, and they improve over time.
While market leaders addicted to high profit margins initially dismiss the interlopers, they ultimately sink because their stakeholders and culture don’t allow them to respond to the threat from below. Thus mainframe giants lost control of the desktop, and PC leaders couldn’t compete in the market for mobile devices. Ironically, the leaders of these at-risk organizations almost always see the disruption coming, but they’re unable to mobilize their organizations to respond in time.
One thing both Brooks’s and Christensen’s theories have in common is that they believe that when it comes to technology, simplicity edges out complexity. Breaking tasks down into component parts and empowering people to own pieces of the solution yields better results than attacking the problem as a whole. Making tools simpler to use expands markets, and those tools invariably evolve to become more powerful than the elegant high-end solutions they replace.
What about Enterprise Software Development?
In his book, Christensen describes how transistors disrupted the radio industry. Prior to the late 1950s, radios were essentially furniture—vacuum tube–based units were heavy, hot, and prone to failure, but they were the only game in town. Then transistors made radios portable. The quality wasn’t very good, but you could take them anywhere, and as the cost of transistors decreased over time, the quality also improved. The combination of low cost and portability expanded the market for transistors and rapidly eroded the market share of tube radios, which disappeared within a decade.
The same dynamics may now be playing out in software development.
Development of enterprise software has historically been constrained by the economics of scarcity. Platforms and compute time were expensive. Specialized functionality was either unavailable or unaffordable, forcing development organizations to reinvent the wheel by building much of what they needed themselves. The applications that resulted were vertically integrated and, as such, difficult to modify and extend. The waterfall project management practices, year-long delivery schedules, and infrequent product reviews that characterize traditional development made software cumbersome and inflexible—hardly the underpinnings of digital business.
Low-code, Cloud, and Disruption from Below
Enterprise software development is undergoing fundamental changes that will democratize and expand the market for development tools while changing the way solutions are built. Spurred by digital transformation, the most important factors driving this shift are cloud computing and low-code programming tools.
Cloud development removes many of the past burdens of enterprise software development. Developers control infrastructure and platforms, choosing from vast libraries of world-class products that are preconfigured and cheap to experiment with. Much of the functionality they need is available as rentable services, and software is constructed from modular building blocks, making it easy to implement enhancements and extensions. The agile development technique called DevOps that’s favored by digital businesses emphasizes iterative improvement, frequent code releases, and close collaboration with business users.
Embodying the ideal dynamics described by both Brooks and Christensen, low-code disrupts from below. Maybe the tools aren’t as powerful or high-performing as the languages used by professional developers, but they do what they’re needed to and will continue to advance with time. As the market expands, tool developers and cloud providers will innovate to attract this new audience. In short, low-code development tools have the potential to democratize enterprise software development in the same way PCs democratized computing and smartphones democratized the internet. Low-code tools won’t obviate the need for professional developers any more than PCs made mainframes obsolete. Instead, they’ll enable many more people to turn good ideas into working prototypes and eventually a production application.
The rise of low-code development is inevitable. McKinsey reported that 92% of business leaders believe their companies’ models must change to adapt to digitization—and that survey was conducted before the COVID-19 pandemic, which by all accounts has increased the need. Meanwhile, Gartner estimates that by 2024, low-code tools will be used for more than 65% of all applications that are developed.
Brooks and Christensen got it right. Empower individuals with low-cost, accessible tools that are good enough to meet their needs. Give them policies and guardrails. Then get out of the way.