For businesses in a few industries, the decision between custom and off-the-shelf software is pretty simple. If you run an accounting business, for instance, it’s very unlikely you’d be better served by having a custom solution developed than you would by going with an existing product. But working with complex software—or any software for that matter—can be frustrating, and it often seems like one of the main factors determining how people feel about packaged software is how horrible their experiences with similar products have been in the past.
“It does seem like the businesses I talk to usually have some kind of idea about which is better before the discussion begins,” Aptera’s Custom Software Practice Leader Matt Noggle said. “And, like anything else, what you should go with depends on your needs and your situation, so having a set idea like that can get you in trouble.”
After Matt cited accounting as a good example of an industry where you’re almost always better off going with packaged software, I asked him what an example might be of an industry where you should almost always go with a custom solution. After thinking for a moment, he said, “There really isn’t one. Even with accounting, there may be certain things the company wants to do that might call for custom work. The whole thing with custom software is that it’s open-ended—if there was a set answer, you probably wouldn’t need custom software.”
So Matt and I went on to discuss some of the key factors businesses need to weigh when they’re deciding whether or not to take on a custom software development project.
You probably don’t want to recreate Microsoft Word (unless you’re Google). If there’s already a packaged product or service that does exactly what you need, it’s unlikely you’ll be able to justify the time, risk, and upfront expense associated with a custom project. The reason accountants seldom need custom solutions is that so many accountants are performing the same or similar tasks. “For accounting software,” Matt said, “the QA [quality assurance] testing alone would take a really long time. The off-the-shelf stuff is cheaper because it’s basically pooling the resources of all the companies who buy it, and it lets them all avoid the risk.”
It is possible, however, that some existing software will perform the functions your business needs but also comes with a lot of other components that you can’t use. This could mean not only paying for tools that are seldom or never used, but also forcing users to wade through an overly complex system.
Matt used the enterprise resource planning (ERP) platform SAP as an example of software that can be prohibitively complicated to use. “SAP does a lot of things, and it can be a really great suite of tools,” he said. “But it requires users to go through a lot of training. And if you’re not using all those tools, it’s easy to get lost.”
The upshot is that even if packaged software does exactly what you need it to, if you’re only going to use a small subset of the overall system it may still be a better idea to build something custom. That way, you can avoid paying for extraneous components, and you’ll be able to concentrate on offering a simpler, more intuitive user experience.
So you’ve picked out the ideal software product (or service). It’s just complex enough to do what you need but not so complex that the user experience is overly frustrating. The next question is, how well does it play with others? If you end up having to do a bunch of extra development to get the software to pull in and pass along data to and from other systems, you may end up overriding whatever savings in time and resources you hoped to achieve by using off-the-shelf software.
And that’s assuming it’s even possible to develop the connectors. Not every software company makes the APIs (Application Program Interface) for its products available to developers. And without the APIs, they probably won’t be able to connect the new software to any of the applications you’re already relying on.
When you give a new employee access to packaged software, it usually entails purchasing a Client Access License (CAL). And if you’re using on-site infrastructure, you may at some point need to purchase and configure more servers to handle to increasing load. This tends to be more straightforward when you purchase Software as a Service (SaaS) through the cloud, as it usually means you pay a certain rate to give a certain number of workers access. This will mean a higher total cost as the number of users increases (though providers may offer discounted individual rates for higher numbers of users).
But when you pay to have your own software developed, you can do whatever you want with it. You may need to set up more servers to accommodate growing numbers of users (or pay a higher rate for cloud infrastructure), but you won’t have to worry about paying for additional CALs. As your business grows, however, you may have to consider an increasing diversity of roles for your employees, which may mean returning to the complexity issue.
The rule of thumb is that custom software costs more upfront—time, risk of project failure, revenue, worker resources—but, assuming the project is successful and the software is high-quality, custom solutions will save you money over time. To ensure these savings, it’s important to invest in comprehensive analysis and planning. And to mitigate the risk of project failure you may want to look into agile development methodologies like Scrum. If you’re working with a third-party development firm, you also have to factor in the cost of support agreements.
With packaged deals, you may get automatic upgrades and free support for some preset length of time. On the other hand, you may have to periodically pay for product updates in order to stay on the latest version. And being on the latest version may be necessary to remain compliant with privacy requirements or other types of regulation. Of course, you may run into compliance issues with custom software too, so it comes down to how expensive the updated versions are versus how difficult the custom apps will be to get up to date with new requirements.
Making the Decision
There’s no getting around how frustrating it usually is having to choose what business software to purchase, whether it’s pre-packaged or custom-developed. Whichever option you end up going with, the key to getting the best return on your investment in the technology is to take as much time as necessary to figure out precisely what your business needs are and to do whatever research you need to determine which option will address those needs most effectively. And if you bring on a third-party IT partner, make sure they’re equally dedicated to this emphasis on upfront analysis and planning. Make sure as well that they make clear channels of communication available throughout the development process.
Other popular posts like this: