When an application is referred to as commercial off the shelf (COTS) software, what does this really mean? Do you appreciate
what you are buying and can you manage the risks involved? Here, we look at how the term COTS can be used and abused.
Have you read the marketing literature of some companies selling laboratory software for spectrometers, electronic laboratory
notebooks (ELN), and laboratory information management systems (LIMS)? Delve into the detail and the chances are that you
will see the term "COTS" used in several places to justify that you buy the application. However, the chances are even higher
that when you do, the term COTS will not be defined. The assumption being that you, dear reader, are a sophisticated, intelligent,
erudite individual for whom the definition of this term is self evident and it is not worth the writer wasting brochure space
to undertake such a lowly task. In reality, are you being taken for a ride?
The problem is that the term COTS is commonly used but there is no commonly accepted definition of what this really encompasses,
certainly not when you read marketing literature. So, for the uninformed COTS stands for commercial off the shelf. We will
start our discussion with the debate of do you make or buy software?
Make or Buy?
Let us start from the beginning with a simple question: Are you going to write your own software application for controlling
a spectrometer and also acquiring and manipulating the data? Of course you won't. You'll purchase the instrument together
with the controlling application as a complete package. One advantage is that the development, support, and enhancement costs
of the software will be spread across the whole user base and it's a lot easier than doing it yourself. This means that some
of the risk around the software is removed from the project. In addition, rather than having to specify and wait for the software
to be written and tested and then rewritten and retested; you can start the roll-out process much sooner after being trained
on the application. Ideally, this should give you the confidence that the application will do what it is supposed to do.
Today, there is little justification for writing your own software for use in an analytical laboratory unless there is nothing
on the market that meets your specific needs and it is cost-justified to do so. If the case for a custom solution arises,
it may be resolved by changing the way you work and using a more robust commercial solution. However, this topic is not the
subject of today's column, which focuses on commercial software and the term COTS.
Figure 1: Options for the modification and use of commercial software.
Therefore, the first stage of the process is the decision to have a custom solution or a commercial one as we can see from
the first part of Figure 1. Hence the rationale for the "C" in COTS is "commercial". This is the easy part of the discussion,
but now we have to consider what is meant by "off the shelf" or the "OTS" in COTS.