Whether your company is well established or just getting off the ground, good software can almost certainly improve the efficiency of some of your business processes.
In a perfect world, an off-the-shelf software solution would run your process flawlessly for years at a single, low, up-front cost. In the real, highly imperfect world, off-the-shelf software often fails to solve a company’s problem at all or requires extensive customization to perform as required.
So why not build it yourself or hire a vendor to build the software?
At Northwoods, we often engage with clients and prospects as they ponder this question. We help stakeholders make informed decisions. We guide them to a realistic understanding of just how much goes into building and maintaining custom software.
Before you take the custom software plunge, consider these five costs:
1. Building Knowledge
Software companies build particular software because they believe a gap exists in the market and they have the business and technical expertise to fill that gap and meet the needs of the marketplace. Software companies, presumably, can build, market, sell, maintain and support software – custom or off-the-shelf -- more efficiently than companies in other sectors. A software company should be able to better build a solution because it has specialty expertise in place and its client businesses do not.
You would go custom - in-house or through vendors - when (1) the process you would support with software is so complex that off-the-shelf solutions won’t support it; or (2) no off-the-shelf solution exists. Either way, whoever you hire to build the software will need time to understand your process. The software builder can study to gain expertise in that process or work closely with your subject-matter expert. The software expert can’t work in a sealed silo; a real knowledge of your business goals must inform the build.
2. Initial Requirements
Let’s be frank: Customization costs more. It might make you more efficient, because it’s tailored to your particular business needs. But measure that gain against the heftier price tag. Depending on the complexity of the software, custom can cost run anywhere from five to 100 times the cost of off-the-shelf products, and detailing every requirement needed will take time and money.
Sometimes you can model your custom software on an existing product. This reduces the time needed to establish requirements. If no such product exists, the cost of initial development will grow to include establishing the requirements of the software.
3. Hosting Costs
Most software solutions must be hosted in a server environment. Even with a desktop application, if more than one person uses the software, it must communicate with a server somewhere in order to save changes made by multiple users. This typically involves a database, a file system, or some cloud-based solution. These come with their own costs. Include monthly hosting costs when budgeting your custom software, and discuss them with your vendor prior to deciding whether or not to build custom.
4. Bug Remediation
In a custom software setting, bugs and bug fixes are your problem – you own them. Anticipate their costs and factor them in. Despite what many software companies would have you believe, there is no such thing as 100% bug-free. Over time, you will inevitably find something that doesn’t quite work and requires intervention. Include in your budget an acceptable percentage of the cost of building the software to put toward bug remediation. Bear in mind that the knowledge that was built over time with your vendor is not easily transferred and fixing bugs may require another round of knowledge building with whomever is fixing them.
5. Technical Debt
Even if the software stays bug-free for a very long time, you will have to account for technical debt. Technical Debt, a well-known concept among software folks, is foreign to those outside the field. In layman’s terms, it’s the cost of deferred maintenance -- the ongoing costs of not fixing or maintaining your software.
For example, suppose Microsoft issues a new version of a tool your custom software uses. You can spend time and money upgrading your custom software to the new version of the tool - i.e., pay off your technical debt. Or you can ignore the update to save money in the short term but lose money in the long term - i.e., run up technical debt interest charges. Skipping the upgrade will likely result in a much more complex and labor-intensive update later.
Off-the-shelf software hides such costs. In fact, Microsoft and many other software firms are moving away from the one-time fixed cost model and toward subscription-based models in order to cover them. In a custom-software regime, you are directly responsible for these costs, which can add up over time. Prudence dictates accounting for them over at least five to 10 years when calculating the overall cost of software ownership.
The decision to buy off the shelf or build your own is like renting vs. owning a house. Initial cost of purchase is just one factor; living conditions vs. long-term maintenance costs are just as crucial. If the customized software greatly enhances efficiency and sharpens your competitive edge, it might be worth the cost and effort. But weigh all the costs and benefits before you decide.
Need expert advice to determine whether to build or buy? Northwoods’ software development experts provide honest, valuable insights and guidance. Contact us today!