The End of the Era of Monolithic Apps
The dis-integration of traditional enterprises driven, in part, by the decades long wave of outsourcing, is restructuring businesses into three broad groups or roles: platform players, horizontally focused providers of outsourced professional services, and focused specialist product and service businesses. Central to this story of “platforms” … “professionals” … and “specialists” are the software developers building the code and models to enable this new generation of business.
WELCOME! YOUR COMPANY IS NOW A DECENTRALIZED ECOSYSTEM!
The modern business enterprise has been deconstructing for decades. Companies used to develop the logistics, tools, and processes they needed right inside their four walls. Today, no one thinks of a company as bound by the four walls of a building. Companies are ecosystems now, value-delivery networks consisting of a disassembled set of business functions and entities—some owned directly, many sub-contracted, but all requiring orchestrated data and information.
The days of monolithic applications are over. Microservices are the new way to develop, consume and manage applications. At the same time, because enterprises have diverse users, functions and entities, all with an overabundance of data flows and interactions, they need optimized tools to orchestrate the value presenting itself. Two critical forces are at work underlying this shift:
- The expanding number and diversity of new applications enterprises want to develop and the corresponding failure of software development organizations to keep up with the rapidly growing demand; and
- The advent of multiple new classes of data-driven applications, including AI, machine learning solutions and Internet of Things (IoT) applications.
Enterprises are struggling today to turn the operational data generated by their people, machines and fleets into tangible business value. Data is often trapped in machines, equipment and incompatible systems, or stored locally on workstations and drives. Extracting value from diverse data types and disparate data sources requires special skills that are in short supply—cloud server provisioning, data science, multiple programming languages, and more. Most development organizations have become overwhelmed with the proliferation of new application requirements.
WE NEED A NEW GENERATION OF INFORMATION AUTOMATION TOOLS
These forces are driving many enterprises to work with broader networks of external software developers and organizations including systems integrators (SIs), independent software vendors (ISVs), and independent hardware vendors (IHVs) and more. However, the software tools developers are working with today to build new digital solutions were not designed to handle the diversity of data types, the scope of interactions and the massive volume of data points generated; each new application requires too much customization and development resources just to perform many of the same basic tasks efficiently and effectively.
When telephones first came into existence, all calls were routed through switchboards and had to be connected by a live operator. It was long ago forecast that if telephone traffic continued to grow in this way, soon everybody in the world would have to be a switchboard operator. Of course that has not happened, because automation was built into the systems to handle common tasks like connecting calls. We are quickly approaching analogous circumstances with the proliferation and scale of application requirements. Each new data application requires too much customization and maintenance just to perform the same basic tasks. We must develop software and modeling methods to automate development and facilitate re-use, or risk constraining the growth of this market for information automation.
For more perspective on software-focused growth ventures, read Harbor Research’s “The Software Paradox.”
COLLAPSING THE STACK AND THE BOUNDARIES OF THE ENTERPRISE
Many developers will continue to be the highly trained and specialized “poets of code” who have created so much of the world we now live in. But a growing number will belong to a nascent and very different population—the domain fluent “citizen developers” who will require new tools to develop software and models for all of the data applications that reference and manipulate business logic.
If you pull on that thread even a little bit, it’s not hard to see that the days of the monolithic app are coming to an end. Re-usable software components, containers and micro-services are the new way to build applications. Given abundance of data that will flow across all of these systems, enterprises increasingly need optimized tools to orchestrate the value presenting itself. At the same time, they will need to engage diverse business and technical personas to make use of the new tools.
But the enterprise cannot do any of this the way they’re doing things now. It requires a radical rethinking of information architecture and the whole way a business is put together—including the fundamental repeated operations that constitute the business and the reusable software routines that address those operations.
In the end, it all leads us to a world of data-driven apps and services rather than [fixed] monolithic apps.
Open source software tools, cloud computing and microservice architectures are hardly new, but as the diversity, scale and nature of data interactions grows, the systems or “technology architecture” will need to become more closely coupled to the application logic or “business architecture” to inform and enable a new generation of data applications and services. These two “architectures” must be tightly interwoven and mutually supportive without inhibiting one or the other.
Aligning and leveraging the respective roles of technology architecture and business architecture often creates contention, but we are entering an era where success in either architecture dimension will increasingly go to the players that effectively utilize their combined potential.
Coupled with diverse and changing relationships between and among complementary players, it places new emphasis on identifying and designing new business and operating models. It also requires developing and leveraging communities of specialists, who will bring new capabilities, processes, systems and relationships critical to success.
“Emerging Developer Communities” is supported by our overview of the Smart Systems and IoT Software Opportunity.
Fill out the form below to download the overview for free.