We talk to at least one potential client a week that we have to direct elsewhere for a variety of reasons. The most common reason is that they are describing a need that has been met in the marketplace, sometimes many times over. As a custom software company, we always feel like we can build a better solution than what the client can find out in the wild but can we do it cheaper and can we deliver value? Not always, which is why we have to be realistic about the options that clients might have.
As you read this article, please keep in mind that off-the-shelf doesn’t necessarily mean that you just pay the amount that’s advertised. Many off-the-shelf solutions require complex implementation projects and significant ongoing maintenance fees. This is not a bait-and-switch, these are legitimate components of a software purchase and there are no shortcuts to implementing a solution properly. You should always assume that an off-the-shelf solution has a certain amount of initial preference setting that needs to be done at the very least. Beyond that, there can be training, design services (if you’re integrating with your company website, for example), system table setup (e.g.: chart of accounts), data conversion, installation and configuration (for on-premise options) and a host of other costs that come with both custom and commercial options. The larger the scope of the business need that a solution will solve, the larger the upfront setup costs will likely be.
Well, that’s the great question that always has a great answer – we’ll tell you. Just kidding. But not really. We or another custom software development consultant will always tell you when you would be better off in the open market looking for your solution or if you have come to the right place. But here are some much clearer guidelines for when it’s time to go custom:
Beyond these reasons, you may have your own personal reasons for wanting to pursue a custom project.
We do hear fewer and fewer requests for custom CRMs (customer relationship management) systems. And this is a really good thing, if you sell widgets (stock items) and want to track leads/prospects and convert them into sales while capturing every detail of the interaction, there are some really excellent off-the-shelf options out there. We also don’t hear a lot of requests for e-commerce sites for stock items. This has been solved so expertly and in so many wonderful ways that the options available for purchase are seemingly endless.
Building custom accounting software from scratch? Our inclination is to avoid doing this at all costs. The core features of an accounting package (G/L, Chart of Accounts, A/P, A/R, Balance Sheet and P&L) have been done so perfectly in so many software systems for decades – from the very small company accounting solutions to the very large. And there are so many integration options available that would allow a custom solution to connect with these core features that it seems like a colossal waste of time and resources to try to reproduce these features in a custom solution. This is not to say that a vendor with existing software modules couldn’t build a great custom accounting solution for you with those modules as a framework; just that it doesn’t make sense, with all of the options out there, to sit down at a keyboard and start with an empty page and begin to build a G/L or A/P module.
The other issue with writing an accounting solution from scratch is that your accountant or external auditor is familiar with QuickBooks or Dynamics GP or the Sage products but will not be familiar with the accounting software that you’ve had built from the ground up. They will have a tougher time auditing your books and it will likely add costs for them and you and make switching firms harder every time – not that you’re necessarily shopping for a new accountant.
Other needs can be met by commercial solutions but those solutions can be difficult to find if you don’t know what you’re looking for. One thing that is helpful for mobile app solution shoppers is to add “white label” or “private label” to your search criteria when looking for a mobile solution for consumers. These descriptors mean that someone has built a solution that you provide assets for (your logo, your copy) and they build an app with those assets and publish it, or help you publish it to the App Store or Google Play. Need an app for your local gym or fitness center? Search “white label fitness center app”. Know of a local taxi company with a need for an iPhone app? “White label taxi app” should turn up a few results. Sometimes knowing what to search for can help make quick work of your investigation and provide you with options that you didn’t know you had.
There are always gray areas with this challenge. There are solution domains with off-the-shelf products that meet many of the needs of their constituents but fall short in areas or require workarounds and compromises beyond what you would normally endure when purchasing an e-commerce module for selling widgets.
There are some terrific commercial apps out there for handling event registration and management but unlike selling widgets, events tend to be a bit more variable. Some events have workshops that require pre-registration, others have complicated discounts based on membership in an organization (including number of years), number of attendees from the same company or organization, a variety of non-attendee options for family members traveling with the attendee and other challenges. Finding an off-the-shelf event management system that meets all these needs could be difficult. Still, it’s worth a little bit of research before embarking on a custom software project. And, it’s always worth making a list of your absolute must-haves and another list of items that you’re willing to compromise on. These help when making a decision on a piece of software that is almost perfect for what you want to do. I would caution against assuming that those last few features you need are on the company’s product roadmap. It’s much better (and less disappointing) to assume that you have to work with the product in its current state and find workarounds for what it can’t do.
Another gray area is around product configurators – these are wizards that step through a series of questions (usually asked to a salesperson but sometimes asking an end user) to help determine the proper configuration of a product. Usually these are for custom job shops where a part or parts are being built to specification. The questions might collect enough information for the configurator to provide an estimate to the customer right there on the spot, sitting alongside their salesperson or on their own. There are a lot of very good product configurators out there but they aren’t always going to be a perfect fit, like anything off-the-shelf, you may have to make compromises to get it to fit within your organization.
If you take support requests or cases and schedule a field technician or analyst to go onsite and assist a customer, there are a lot of solutions out there for your needs. There are two areas of variability that often come up for clients and eventually lead them to us:
Again, there are a ton of field service solutions and many with native mobile apps (which is a huge value-add) so it is worth investigating these solutions first before concluding that you have to write your field service solution from scratch.
For some customers, the best option is to buy and not build. This requires some research and knowing what to look for. It also may require sitting through a few demos. And, it doesn’t hurt to analyze the total cost of ownership over a 3 or 5 year period to see if that upfront investment in a custom solution that seems large maybe isn’t so large in the long-run. You own your custom solution and don’t pay any ongoing costs in most cases with the exception of adding new features.
There are other questions in the build vs. buy debate depending on your strategy – are you looking to take the support in house and train or hire a specialist? If so, you have to factor this in as an ongoing cost, if you are planning on leaning on your service provider for support, this may also be something to consider. Custom software can also require some support but if you have been involved in an Agile software project where you were part of a team that built that solution together, by the time that project is delivered, you may know it better than the developers themselves.
We encourage clients to explore what’s out there before and during the process. This means that even during a custom project, we’re looking for products that will help save time and money on a project. Sometimes these are plug-ins or third-party components, sometimes they are web services or subscription data providers. Even if you’re building from scratch, you don’t necessarily want to build everything from scratch.
As with anything, we’re looking for the right tool for the job. It’s incumbent upon the custom software developer to know when not to use custom approaches. We don’t want to fall into the Maslow’s Hammer trap – I’m paraphrasing:
"If all you have is a hammer, everything looks like a nail".
Disclosure statement: IT Solutions provides custom solutions for small and mid-sized businesses and departmental solutions for large organizations. The scope of this article is limited to those experiences. IT Solutions does not sell commercial, off-the-shelf products beyond those used in conjunction with custom solution projects.