When you need business software, an early big decision is whether to build custom software or license existing software products. As with most decisions, there are pros and cons to each approach and the correct answer for you depends on the circumstances. The IdeaRoom team has many years of experience providing a variety of both licensed software products and custom development services. In our experience, we have learned the factors that make a software project either go smoothly or go off the rails. We have met many companies who have custom-built shed configurators and experienced long delays, ballooned budgets, and ultimately been left with outdated configurator software. Several of those companies are currently IdeaRoom clients. We also know that licensed software implementations can be rocky. Ultimately, the right choice is specific to each company’s needs.
The following is a guide to help you evaluate your decision.
One option for achieving your business software goals is to hire a software developer to code software for your company. The most enticing aspect of custom-built software is that you are the designer, allowing you to set the priorities and determine the features included in the software. You also own the software copyright which means you do not have to pay ongoing licensing fees.
However, the reality of custom-built software is more complex. and there are several considerations you need to weigh when deciding whether to contract a custom software project.
- Timeliness: Building software business applications is a complex process and can take months or years to complete. There are generally many unknown complexities that can only be uncovered once work has begun so software developers are unable to provide accurate delivery dates. This uncertainty is worsened when you require rare, specialized skills, like 3D animation. Inexperienced software developers may be willing to attempt the project but will likely grossly underestimate the time and budget required. Also once you release the project, you will discover unexpected bugs and features you didn’t realize you needed, which will continue to extend your project length far beyond your expectations.
- Budget: If you don’t have in-house developers, the ongoing costs of custom software development are challenging to estimate. There are two general types of billing structures for custom software projects: time and materials, and flat rate.
If you agree to pay for time and materials, you will be required to pay the rate for all hours, even if the project far exceeds the estimates. Flat fee agreements mean the developer agrees to the total cost of the development. However, if the developer underestimates the project, he may abandon it rather than continue to take a loss.
With either type of agreement, your quote will likely only cover the cost to initially build the software. It will not include the ongoing costs of maintenance, which can be substantial. Here are the areas where the cost of custom software development can unexpectedly inflate. Be sure to discuss the cost of each of the following situations with any custom software developer you plan to hire:
- Scope: Changes to the scope of the project can dramatically increase your costs. Be sure you are clear on the exact requirements to avoid surprises.
- Errors: Errors are inevitable in software and can emerge seemingly out of the blue. It is important to have a plan to quickly fix critical software errors.
- Other Software Updates: The technology your software runs on is constantly updating and every update may impair the functionality of your custom-built software and require an update to your custom software to run properly (e.g., computer operating system, internet browser, mobile device).
- Business Changes: Your business is evolving and changing and you will need to modify your custom software occasionally to continue to be relevant to your business. Otherwise, you may find that you own software that no longer meets your needs.
- Features: With custom software, you are the product designer. In theory, that means you can select the exact features you want and need. But you have to pay the full cost of all feature development, now and in the future. This can be an enormous expense over time. If your custom software is meant for e-commerce, be sure to plan on mobile device support as more than 50% shed company website traffic is on mobile devices.
- Continuity: Hiring a small firm or independent contractor to build your software can be more cost-effective but it also has risks. It is common for independent contractors to become unavailable to provide further updates or maintenance when they move on to other projects.
- Integrations: It is very common to need your software to connect to other software in your business to pull data in or push data out. Your custom software developer will likely be able to create that connection (at a cost) but system integrations typically require ongoing maintenance which, as we have discussed, may be costly and uncertain.
- Strategies: One approach to consider is temporarily licensing software similar to the kind you want to have built. Since licensed software products are relatively easy to implement and cancel, this will be a way to educate yourself on the available options and features you like and need. It can also be a stop-gap while you wait for your custom project to be completed.
Licensed Software Products
Another way to get business software is to license an existing software product. There are several important advantages to licensing software. When you license a supported software product, you are paying for an entire infrastructure that ensures your software stays up-to-date with technology changes and there is a team on-call to fix errors that emerge. You are also sharing overhead costs with other customers so you don’t have to bear the entire cost of development. Typically, licensed software companies also continue to add features to the software, making it an appreciating investment.
Here are the considerations to evaluate when you consider licensing software:
- Timeliness: Because you are not starting from scratch, implementation time for licensed software should be much shorter than with custom-built software. There is generally still set-up time to configure the software to your needs and upload your data but the timeline is likely much shorter and predictable than with a custom software project.
- Budget: Licensed software is typically priced based on a set fee schedule and it can be easier to predict the costs. However, there are usually ongoing fees associated with continued access to the software. Additionally, licensed software is often subject to use limitations that can impact your costs or impair your usage. Before entering into a licensed software agreement, be sure you understand the following:
- User Limits: Many licensed software products limit the number of users allowed to access the service.
- Volume Limits: Other common usage limitations include: monthly active users, data storage, number of reports, etc.
- Feature Access: Licensed software often has multiple features groups and not all features are available in every license.
- Features: Licensed software is usually supported by a specialized team of software developers who frequently release new features. Their product development priorities are driven by the needs of the majority of their clients. For many companies, this is a big advantage of licensed software. Their service is frequently improved and updated. However, if you want a feature that isn’t on their roadmap, you may be delayed or disappointed.
- Continuity: Since licensed software is typically supported by a team and they have a continuous stream of income from the product, they are usually well-supported and reliable. They are able to quickly fix bugs and errors for no additional cost.
- Integrations: Like with custom software, it is generally possible to integrate licensed software with other software at your business. However, this is rarely a service that is included in the fees. You will likely need to pay additional consulting fees to create this integration. Often there are consultants who build their businesses as experts in certain software implementations giving you lots of options to hire for those integrations.
- Strategies: When evaluating licensed software products, it is important to understand the development firm, since you will be relying on them for the long-term and they control the evolution of the service. Here are some important questions to ask as you select a licensed software:
- Ask about their product roadmap. This is the plan they have for future innovations of the product. This will allow you to evaluate whether your company’s vision is aligned with their long-term vision for the product. However, be cautious not to “buy the roadmap.” Roadmap features are inherently uncertain so do not make your purchase decision based solely on their roadmap.
- Require the contract to include a Service Level Agreement (“SLA”) that outlines their guaranteed response time in the event of an outage or critical error.
- Learn the credentials of the team. What is their software experience? What is their experience with your industry?
- Inquire about their financial stability. If they go out of business, you may be left in the lurch. Find out if they have a large enough base of clients to weather some churn without disrupting your services.
IdeaRoom offers licensed software called ShedView. ShedView simplifies shed sales by generating 3D graphics of your sheds, that your customers and sales team can use to configure buildings and receive an instant quote. ShedView even increases your average sales price. For many shed companies, ShedView is able to go live in as little as four weeks.