Commercial-off-the-shelf (COTS) software is a term in software engineering for ready-made, commercial products. Most organisations use COTS to increase reliability, reduce cost, and keep delivery times short in software systems development.
The US government's Federal Acquisition Regulations classifies COTS as NDIs, or non-developmental items applied under contract to the government. This kind of software is an alternative to in-house projects, and it costs less in the short term to purchase, develop, and maintain. Here is a closer look at COTS software.
Word processors, spreadsheets, development environments like Visual Basic and Sybase, libraries that require connecting with existing codes like browser add-ons, game or graphics engines, and Windows DLLs are all examples of COTS software.
Screens, printers, and similar retailer device drivers are examples of this kind of software, together with data mining tools and OS functionalities with memory management or similar processes.
A significant advantage of using COTS is that the time needed to purchase this software is much shorter than the time it takes to develop it. As such, it uses fewer resources like human capital, office space, and money. COTS also has a greater chance of incorporating industry standards. They depend less on the platform, which means excellent reliability across environments and uses.
Using COTS, though, brings significant drawbacks. For one, a vendor could cease support for it, or the software developers could go out of business, so the customer would have to look for different software.
Furthermore, the software may need customisation to fit specific business functionalities, defeating the purpose of getting something ready-made. Finally, when you have the same COTS software for several users or using one with periodic licensing, it could be more expensive in the long run.
When choosing commercial off-the-shelf software, you need to find one that integrates with your organisation's legacy systems. You must also decide between single-user-licence and general licence options; if you have a large organisation or department using the software, it is better to get the latter. Consider as well the need for upgrades and maintenance. Ideally, you should get software that needs less maintenance and costs less to upgrade.
Before investing in COTS, a team should analyse the growth they anticipate and manage their expectations. If there are errors in the initial gap analysis, it could cause setbacks in future implementation. A full-cost analysis factoring in costs over five years is best, especially if the software requires ongoing licencing and maintenance.
If the COTS package is more than five years old, it could be in a legacy language, which means the vendor will find it challenging to improve or modify it anyway. It could be more practical to enhance the organisation's existing system.
Finally, many contracts have fine print that traps clients in agreements they otherwise wouldn't tolerate. For example, vendors might charge fees for reinstalling the COTS software in a different machine. Conversely, the contract might not have provisions indicating support where needed; for instance, it should spell out what the client could expect regarding emergency maintenance or operational vulnerabilities.
COTS can be a viable, affordable solution for companies looking for a system they can implement at once. Sometimes, though, this is more of a burden than a bargain. Before getting COTS software, check if a rewritten, modern application is a better option for your company. Often, what you need is a solution uniquely for your organisation.
Fabric Group provides custom software development services combining innovative analysis and design with high-quality development, delivering digital platforms for various business needs. Get in touch with us to learn more about our offerings!
Want to receive our blog posts on your email? Sign up here and we will regularly send you updates.