Software Solutions have become puzzles not canvases.
Jan Tenenberg
Social Sector Advocate: A new way of thinking about Digital Solutions. CEO at Vertic & Maica.
This article aims to articulate a new approach to software solution deployments, whether this be within a typical project implementation or the development of a stand-alone product.
Let’s go back in time and have a look at the more traditional approaches of software solution development. These approaches focus a great deal on centralising system process execution logic and connecting with various services to provide point solutions.
A good example might be the development of a payment processing solution on top of a CRM platform. Most payment solutions today have developed complex payment processing logic (as well as failed transaction retry logic) into the CRM platform itself, like Salesforce, Dynamics CRM, and others.
Historical Software Solution Development Architecture
The challenges with this approach have become more relevant as other SAAS technologies become available to consumers; challenges include:
- A complex centralised technical architecture that is difficult to maintain or evolve without significant cost.
- An inability to take advantage of enhancements, new technologies, and evolutions of existing technologies as you will be “locked in” to whatever has been developed within the CRM platform.
- Likely performance issues at scale, as a single digital platform has been architected to fulfil too many functions, some of which are better performed in other systems.
Given the above, we at Vertic think of software development as a puzzle in which multiple technologies come together to provide our clients with a natively coherent and scalable solution architecture whilst also allowing for the expansion of capability over time.
Digital services have become incredibly powerful over the past few years and very few requirements exist today that have not already been considered or developed ready for your consumption. This includes on-demand services such as CRM, Finance, HR, Payment Processing, Intranets, and Marketing.
We have recently embarked on a software development journey, developing our NPSP+ fundraising solution, and our approach has combined the best stakeholder management features of the Salesforce platform with the strength and payment execution capabilities of the Stripe payment gateway.
Putting together the Puzzle Pieces instead of building complex systems
We have also incorporated this architectural approach into our Salesforce implementation projects to bring the advantages of this thinking to our clients, including the following benefits:
- Getting the best of all worlds; in other words, being able to take advantage of the latest available technologies as various software vendors enhance, evolve, and upgrade their capabilities.
- Lower technical complexity footprint as services are being consumed on demand rather than custom-developed for specific (and ever-changing) needs.
- Capability beyond what can reasonably be developed by consulting firms; most consulting and implementation firms today do not have the resource commitments required to develop the capability you can get from dedicated product development firms, such as Salesforce and Stripe.
So, with the above in mind, it is our belief that, when embarking on digital transformations, you are more likely to succeed if you take a “puzzle” approach rather than a “canvas” approach.
You will remain independent of any one consulting firm to provide you with technical services, you will not have complex technical architectures in place that can’t easily be maintained, and, most importantly, implementation costs are typically less than developing technical components on demand.