To be(spoke), or not to be(spoke).
That is the question…
Clients regularly ask us whether they should commission a new piece of software or buy an off-the-shelf solution: in fact, that’s been a recurring theme over the twenty years that we’ve been around.
Yet our answer back then would have been quite different to how we’d respond now, with technology and skills converging to make bespoke solutions a far more viable approach for business managers.
A brief history
When the internet was nascent, business owners were keen to capitalise on new technologies to create operational efficiencies.
Many could see the benefits of owning their software, giving them the flexibility to evolve and integrate systems within their commercial model. But taking software off the shelf also had its appeal, offering an instant – and reliable – solution to a business need.
And so, in boardrooms across the land, business leaders weighed up the risks of building something new against the benefits of procuring a tried and tested solution.
Off the shelf: reliability…at a cost
While a ready-made software product could be up and running immediately, with assurances from other happy customers, this was not without compromise.
Businesses would only get a fraction of the functionality they needed, and critically, the software they received would never precisely map to their operations. And that led to an odd phenomenon: organisations would themselves change to fit the technology. The tail was wagging the dog.
Over time, an off-the-shelf solution that might have been a ‘good enough’ fit initially became a far poorer fit; as businesses outgrew the product or the vendors ceased support, for example.
Now locked in, they found themselves stuck between a rock and a hard place: make do with the ‘as is’ while the operational challenges mount or accept the significant disruption migration would cause.
A bespoke approach?
It wasn’t a bundle of laughs for those building their own solutions back then, either.
Though the process resulted in software closely aligned to business needs, it came at a cost; milestones slipped, and budgets spiralled.
And identifying a team with the necessary skills to deliver those projects was a sizeable challenge in its own right. Whilst many in the digital sector were grappling with simple website development, few had the depth of knowledge and experience to build more complex online applications.
At times, the World Wide Web felt closer to the Wild Wild West.
So, what changed?
Software development has changed dramatically in the last ten years, and as a result, the key considerations have become quite different.
First, browser and web technologies have evolved. A key risk factor in building bespoke software had its routes in the early days of the internet, where a myriad of browsers existed, each bringing varying standards. This fragmentation meant businesses could never be sure their product would work on different browsers, introducing more risk, and of course, cost.
The second most significant change in software development over the last decade is the normalisation of software patterns. When the internet was young, engineers constantly looked for new ways to implement the functionality businesses demanded – but struggled as the technology at their fingertips was limited. This extended delivery times and often led to compromises on the finished product.
Fast forward to now: today’s software products are often built from pre-existing, tried and tested components. An experienced engineer will call on knowledge gained across their career as they respond to user requirements, using the technology at their disposal to develop new products in a fraction of the time they would have in the past.
Meanwhile, approaches to testing have been transformed substantially over the same period. Previously, a wide range of browsers and hardware made it difficult for engineers to see how their code would run in real life. And as the test process was so lengthy, engineers would create larger and larger blocks of code before sending them to test; inevitably, this led to more bugs and inconsistencies.
Platforms now exist that can test code across multiple virtual machines simultaneously, so it’s rare to see large amounts of bugs crawling in these days. And that’s a change that has worked well with the rise of agile principles to shorten development cycles: significantly reducing speed-to-market.
How to choose between off-the-shelf and bespoke?
So, is it best to purchase a software product off the shelf for your next technology project or go with a completely custom solution?
Every project is, of course, different: what works in one context might not work in another. But the considerations below should help guide your decision.
If you’re looking for software to run a process that everyone else is doing, an off the shelf product might well be the best way forward. For example, think about accounting software that must comply with external regulations, a CRM, or an email package. Tackling common requirements other businesses have, these solutions are typically well-developed and readily available in the marketplace.
However, if your software helps drive sales, is intimate with your clients or forms part of your service offering – such as a portal your customers interact with you through – these are candidates for a bespoke product. And if the software is essential to one or more business processes, you should also consider if its failure would be a threat to your operation.
In recent times so much has changed in software development: the possibilities are endless. But finding the right partner to help you assess your options, and help you implement your plans in the right way, is vital.
Wai Lau, Founder & CEO.
If you are considering new software for your business and want to better understand your options, then please let us know. We’d love to discuss your objectives and help you plan for success.