After working with product development teams in the software industry for more than 15 years, I believe a product’s success or failure often pivots on four factors:
- How quickly you can bring your vision to life and catch the demand wave exactly right. Too early and demand can expose potentially fatal flaws in the product. Too late and the wave might have passed. Timing is critical.
- How you define your target market, whether it be a specific geography, a particular industry vertical (healthcare, financial services, telecom/CSP, education, etc.) or users of specific technologies, like mobile devices.
- How you select the customer segment within your target market. The most successful products solve an extremely specific problem, whether that problem exists in a small niche market or is experienced broadly.
- How you plan to monetize your product. Will customers be able to purchase individual features and functions, or will they require a full suite of products offered as a bundle?
The legacy approach to software development
Since the dawn of the software industry and the rise of Microsoft, there has been a strong bias towards thinking about software development in terms of bundles of features and functions designed to work together, purchased as a single unit or license.
This approach made sense in the legacy days of software, when waterfall development approaches led to infrequent, major version updates distributed on physical media like floppy discs, CDs and DVDs.
However, this approach often forced customers to pay too much to access the features they really need. Why pay for the full Microsoft Office suite license when you just need Excel? Should you have to purchase access to the entire Adobe Creative Suite if you just want access to Photoshop or Final Cut?
It’s time to challenge the dominant development paradigms
The software development environment looks nothing like it did 20 years ago, as widespread broadband made digital distribution and anything-as-a-service possible.
The waterfall development approach naturally gave way to agile’s faster, more frequent development cadence, creating updates that could be pushed instantly to the connected userbase.
DevOps closed the loop on the old linear product development lifecycle, allowing for faster, better product improvements with each release.
So why are so many software developers still trying to think as broadly as possible, integrating as many features and functions as they can into their products and offering them as expensive bundles?
Why are so many ISVs thinking like music producers in the 1970s and trying to sell complete albums, when the target audience wants to stream just the music they want any time, on demand, for a low fee?
Using microservices to outperform the legacy development approach
If widespread broadband internet was the first wave of software development disruption and the birth of cloud computing was the second wave, then the third wave is already upon us: containerization and microservices.
The microservices approach breaks down the large, monolithic software packages of the legacy model into small packages of self-contained software code.
These packages of code are then containerized within open-source container environments like Red Hat OpenShift to ensure the microservices have the resources they need to perform as intended. Containerization also enables the software to run with consistency anywhere, on any infrastructure.
Adopting microservices allows developers to create and deploy applications faster and more securely, with better resource utilization and flexibility across the hybrid- or multi-cloud infrastructures.
Just as importantly, microservices give developers the ability to instantly and affordably activate new microservices based on a new or existing customer’s needs—something that wasn’t possible at the height of the bundled software era.
Unlocking a new era of customer-centricity
By breaking down the old monolithic codebase approach into the smallest possible computing functions, containerization and microservices unlocks a new era of customer-centric thinking and pricing.
Developers are freed to rapidly develop, test, and deploy applications that meet the specific needs of a focused target audience with a cost-effective solution. Remote collaboration solution providers can extract a screensharing function from a full suite of services and sell it at a much lower price to a broader audience, potentially growing topline revenues and market share without sacrificing profitability.
Digital documentation developers can offer specific form completion solutions that meet the needs of users as different as healthcare patients, insurance companies and higher education students—and do so quickly and profitably.
Financial services companies can purchase chat functions for their call centers, without having to squeeze an entire workforce automation solution into their IT budget and architecture.
CSPs can modernize their OSS/BSS per TM Forum’s Open Digital Architecture (ODA) vision to surpass the speed of innovation of their Over the Top (OTT) competitors and enable a “best of breed” multi-vendor approach to their OSS/BSS stack.
As much as the ways in which software product development and distribution have changed in the last few decades, the approach to developing and marketing that software has been slow to adapt.
It’s time for software providers to give up the bundles and suites and give their customers what they really want: focused, cost-effective solutions that elegantly solve their problems and integrate into their personal or corporate IT ecosystems.
Containerization and microservices are proven approaches that are ushering in a new era of customer-centric software design; the product development teams that can change their mindset and adapt the fastest will reap the greatest rewards in the years ahead.
Persistent Systems can help your development teams take full advantage of containerization and microservices, visit our Software Product Engineering page to know more.