With so many off the shelf products, how do you decide when to create a custom 360 solution rather than buy one? Noel Ady, gravity9 Founding Partner & Lead Consultant discusses the challenges and possible solutions.
Whether to build vs buy digital products has divided opinion over the past 10 years especially, now that, more recently, we have so many more options available to us, via cloud platforms. The trend we are seeing, at present, is that organisations are preferring smaller, more specific, products and services to fulfil a variety of business needs; rather than buying one big product to provide a blanket solution.
Noel Ady, Founding Partner and Lead Consultant at gravity9 solutions discusses the five key challenges when buying a digital platform and, why, for a 360 solution you should always opt for a custom build.
At gravity9, we help organisations build strategic digital platforms and it’s what I've been doing for over twenty years. Quite often, these are built in the form of digital service layers with the customer 360 view platforms on top to help unify and serve multiple businesses, and departments enabling them to read and interact with data that may exist across multiple systems.
A common approach to building a 360 view often manifests as an implementation within (Customer Relationship Management) CRM product. Naturally, this feels like a logical a solution, as the sales pipeline is close to the customer journey and leads into additional services and functionality.
Organisations often feel more comfortable with the CRM product solution as it means no ‘custom development’, and early implementation, often, returns a number of key advantages such as out the box, reports, charts and simple editing screens.
If this is the case, why are we seeing so many organisations looking to replace CRM solutions with a custom solution? Let’s break down some of the key challenges with a CRM product, in order to support a 360 implementation.
The Benefits of Bespoke
When we consider custom development today, we should recognise that many frameworks exist to accelerate the development time. Frameworks such as MVC or client script frameworks as well as backend data libraries allow us to build quickly against various data stores such as MongoDB and of course SQL server. In addition, cloud providers offer a plethora of out-the-box services such as rules engines, AI, image processing and workflow to name a few. When combined, these services can create powerful capabilities able to improve the customer experience, increase competitive advantage and flex to fit business changes.
Custom, is Custom; Make it Work for You
With a custom build the solution is in your hands. Building custom gives you the ability to apply best practice engineering to your new platform. Utilising practices such as domain driven design helps design for behavior and treat data as a bi-product. This is far more organised, flexible and manageable than being data driven and allows us to centralise logic in specific reusable services and build custom data views on the data generated as we build out behavior. From my experience, this approach is far more capable of supporting change and unknown requirements, allowing for a more agile and flexible platform to support your business strategies. Building for the future not just for the present is a major part of a successful 360 solution.
Initial architecture is important and requires the correct skills. Once you have a defined and built platform, your solution will be based on standard technologies rather than product. This opens up your options for support and enhancement work. A capable dotnet developer is generally less expensive and more available than a CRM developer. In addition to the resource cost, remember, the only license fees are based on the running components (cloud services). You don’t have the ever-growing seat license problem, meaning you don’t have to restrict access to your 360 solution. A major advantage, given while premise of a 360 platform is to provide broad audiences with broad data and behaviour.
When well architected, a 360 platform should be appropriately separated and made up of many smaller components (microservices for example). This segmentation means upgrading tech stacks and moving hosting providers should be possible with minimum effort. And we overcome the tight vendor lock in issue found with a CRM product implementations.
Data is of course a big part of the 360 solution. Segmenting and separating data under specific services and data stores allow us to pick and choose which data technologies best fit the various data use cases. Rather than pushing all data into a custom CRM’s database, we can make our data more organised and available via specific services. Providing not only cleaning transaction boundaries but also reusable data and behaviour around the data. Here we can integrate once and use everywhere.
When we build a platform made of smaller services and components and even separate out our UI (micro frontends) we get few dependencies and can have parts of system effected by feature changes, rather than all of the system, in the case of a monolithic product approach.
Always go Custom for 360
What I've outlined provides a high-level opinion on building a custom 360 platform where a bespoke build is considered to be far more effective approach due to the broad range of data and behaviour needed for such a platform. It’s not to say a CRM does not have its place in an organisation, but for a 360, we’d always recommend a build approach, and, of course, always recommend you speak to gravity9!