Blog Barista: Jessica Davis | April 24, 2019 | Web Development | Brew time: 5 min
Purchasing new software systems can be a daunting task. Should you buy a commercial off-the-shelf (COTS) product or contract a vendor to build a customized solution? Both options have advantages, drawbacks, and risks that must be carefully weighed to select the best option for your organizational needs, timeline, budget, cash flow constraints, and risk tolerance. So let’s take a look at some of the benefits and drawbacks of both COTS and custom solutions so you can decide which option is the best fit for you.
COTS solutions typically offer the benefit of lower initial investment and faster implementation. Subscription-based COTS solutions generally offer regularly released upgrades as part of the monthly subscription fee, which means your users will always have the current version.
COTS solutions are often the best choice for organizations that are using industry-standard processes. For example, businesses that use generally accepted accounting practices (GAAP) can easily buy a COTS accounting package that fits their needs exactly.
However, there are also some substantial drawbacks and risks associated with COTS solutions, such as:
- Implementation success is dependent on the vendor’s willingness to customize the product for your needs and their ability to work in partnership with your organization.
- Implementation success is also dependent upon a comprehensive gap analysis of product functionality against organizational needs that is often difficult to gauge from proposals and marketing materials. Any oversights can result in implementation delays or expensive changes to adapt processes to the software or, worse, the costly decision to change direction and lose sunk costs.
- There is a high likelihood that the COTS system will not meet all your business needs exactly. You may have to change business processes to match software functionality, which can be expensive, time-consuming, and risky.
- The total cost of ownership may actually equal or exceed the cost of a custom solution. When evaluating cost, consider the sum of all fees for the same duration as the useful life of a custom system, including organizational change management costs.
- COTS systems may include features and functions that you do not want, but never the less pay for.
- COTS systems may use an unfamiliar vernacular, which can confuse your users, making training and implementation more difficult.
- COTS systems may be built on older technologies that make it difficult or impossible for the vendor to modify.
- COTS systems may use obsolete libraries that can leave your organization vulnerable to security attacks or operational problems due to system integration failures when other systems are updated.
- COTS vendors may not keep an eye on the need for emergency maintenance to protect against security or operational vulnerabilities.
- Feature requests may not be implemented in a timely manner or at all because COTS vendors have to weigh the desirability of your feature request against the needs of all their customers.
- New functionality that the COTS vendor implements may not be relevant to your business.
- COTS systems can be slow to evolve with your industry, so your business may need to keep processes matching the software, change software, or introduce additional systems to bridge the gap between software and new processes.
The primary advantage of a custom solution is the ability to get exactly what you need, no more, no less. Custom development contracts can be written to provide your organization with ownership of the resulting code, reducing risk related to vendor viability. If the code is sufficiently documented, another vendor or even your internal IT staff could maintain or modify the code, eliminating dependence on the vendor and providing the agility to respond to changing business and regulatory environments.
Custom development generally comes with optional support, maintenance, and enhancements that can provide the ability to modify the system as needs change, which is especially important to heavily-regulated industries.
In a contract where the vendor is serving only your organization, the vendor is dedicated to fulfilling your needs and not trying to balance those needs against the marketability of your enhancement requests. In other words, you can expect much greater responsiveness than you would typically get from a COTS vendor who is trying to serve the needs of many customers with a single solution.
The disadvantages and risks associated with custom development include:
- Time to develop may increase implementation timeframes; however, timelines are malleable and can generally be met with increased resource allocation. Also, with an Agile methodology, working software with core functionality can often be deployed in the same amount of time, or even less, than it takes to configure and customize a complex COTS solution.
- Custom solutions typically require a higher initial investment; however, contracts can be structured with fixed-pricing for easy budgeting and mitigation of budget overruns. They can also include deliverable-based payment schedules to spread costs over the life of the project and reduce the risk of implementation failure with clear evidence of project progress. In other words, you can structure contracts so that you pay as work is delivered. Even though the up-front cost is generally higher than a COTS product, the total cost of ownership may actually be lower with a custom solution when you factor in customization and configuration fees, organizational change management costs, and the purchase price or subscription fees over the useful life of the system.
- Implementation success is dependent upon the capabilities and capacity of the vendor and their willingness to work in partnership with your organization; however, choosing a reputable vendor with a well-stocked portfolio of successful projects, verifiable references, demonstrable capabilities and capacity, mature methodologies, organic growth, and a history of long-term client relationships, along with a good contract, and evidence of sufficient insurance can mitigate implementation risks.
Making the Right Decision
Choosing the right system for your organization really depends on the complexity, uniqueness, and stability of your business processes, your organization’s risk tolerance, and whether your organization is more concerned with cash flow or total cost of ownership.
While COTS solutions can often provide faster implementation with lower initial investment, it may introduce functional gaps that lead to unforeseen costs. Depending upon the vendor and the underlying technology, COTS products may also generate unacceptable levels of risk.
Whereas, custom solutions can address your specific needs with less risk, but typically require a larger up-front investment and may require a longer implementation cycle.
So if you find yourself struggling with this important decision, don’t be afraid to ask for help. Companies like KL&A will work with you to help you determine what’s best for your company.
Other recent posts:
Blog Barista: Anthony Wolf | May 20, 2020 | Development Practices | Brew time: 6 min
Thinking About Your Data Model
I often read code in forums or Stack Overflow from people who are beginners at C#, and see them using FirstOrDefault in every situation where they need a single item from an IEnumerable. If I ask them why they made this choice, the reply is typically something like “it always works” or…
Blog Barista: Jonathan Nicholson | May 6, 2020 | Privacy & Security | Brew time: 7 min
There are many things that you can do to slightly increase your privacy in this digital age. A lot can be accomplished without being too extreme like swearing off all social media, self-encrypting all of your emails, and using Tor—a software tool for…