Every company has a digital presence—a digital expression of itself that encompasses everything from its public-facing websites to its deepest back-end databases; a digital presence whose reach extends from the hippest social media platforms to the ancient MUMPS database on life support in its shrinking on-premises data center. A company’s digital presence touches all of its business operations and business processes: finance, sales, marketing, HR, operations, and, of course, IT itself.
Here’s the thing: virtually every company is dissatisfied with its digital presence. Software projects are rarely completed on time and on budget, and, once delivered, almost never suit the needs of the business. The most obvious explanation for this is that software is designed and built with primary reference to where the business was—not where it needs to be. The needs and expectations of customers change. The lay of the market changes. New, agile competitors emerge, unburdened by legacy systems and thinking. Rules and regulations change. The structure of the business itself changes. People come and go. Products are spun up or spun down.
IT has had an especially fraught relationship with change. Prior to the dot-com bust, it wasn’t unusual for IT to dictate the scheduling of system roll-outs, upgrades, and maintenance, along with the pace of new software development. Since then, IT has been under enormous pressure to align its priorities and scheduling with those of the business. We see tangible evidence of this in the growth of cloud, the widespread adoption of virtualization and automation technologies, the ascent of agile programming and project management methodologies, and in a slew of other business-oriented innovations.
Ask one of your business customers, however, and you’ll hear that software still takes too long to build and is too hard to change. Your digital presence is not responsive enough, adaptive enough, cheap enough. Scaling to meet demand remains difficult, with reminders of downtime during periods of peak demand. For all your progress, you still have trouble delivering new products and lines of business quick enough. Adapting your digital presence to exploit new business opportunities, new devices, or competitive threats takes so long as to appear impossible.
The good news is we’re learning how to build systems that are more fluid and adaptable. We’re doing that by using the cloud, so we can scale capacity with demand; by automating software infrastructure, so we can deploy new servers and services rapidly and confidently; by decomposing monolithic applications into systems of loosely coupled services that can be extended to support new products, new kinds of users, and new kinds of applications. Above all, we’re moving toward an architecture of data flows that allows us to respond dynamically to changes in demand, to build new applications by recombining services, and to upgrade our services without rebuilding the whole infrastructure.
We’re moving to what we at O’Reilly call Next Architecture. In a sense, we’re already there.
You can’t wish your IT inheritance away
Think of “digital presence” as a different, more continuous and holistic frame for thinking about software development and software architecture—to see your existing IT systems less as an irksome inheritance and more as a bridge to a Next Architecture.
For many organizations, their digital presence presents a sort of archaeological site of systems, networks, applications, programming languages, databases, tools, and processes preserving the artifacts and cruft of priorities, trends, fads, and anachronistic conventional wisdom of different epochs.
These assets and practices aren’t just inseparable from your business; in an essential sense, they—no less than your physical assets—are your business. We are moving away from the notion of application software conceived as the “digital twin” of the business to thinking about digital presence as interpenetrated with business processes, moving beyond supporting or mirroring to an increasingly lead role—i.e., constituting or instantiating the business.
There is a well-worn trope used to describe software upgrades as akin to changing the tires on a rapidly moving car. To help explain Next Architecture, consider software architecture as a locus of continuous transformation. That is, a car designed to have its wheels changed while in motion. A primary tenet of Next Architecture is that software architecture should be adaptable, agile, resilient, and tolerant of change.
We’re already there
Our digital presence will continue to grow in influence as brand reputation becomes increasingly digital in nature. Our approach to enterprise architecture follows by necessity.
Nascent or no, Next Architecture is a paradigm shift that’s underway. Expect to see a new layer of expectations around what software and software architecture can deliver—both from the customer’s perspective and from the perspectives of the people charged with deploying new products and services. Already, user expectations are shifting in this direction—accelerated by the shock of a year of pandemic-driven change. The principles and priorities of Next Architecture align with how users want and expect their products and services to behave.
The bar has been raised. Soon, everyone will be forced to adjust their standards accordingly. And, rest assured, if you don’t adjust, someone you compete with will.
This excerpt was originally published as What is Next Architecture? on O'Reilly.com and is republished by the author with permission.