Customized Software - the hybrid

A customized system is a COTS system that has been modified to meet your needs. This combines the proven features that a COTS system has to offer with the adaptability of custom software. The level of customization typically depends on:

  1. The flexibility of the system
  2. The amount the system must be changed to meet your needs
  3. Budget constraints

The flexibility of the system depends on the system design and how many flex points it has. A flex point is a point where the system can be easily adapted to meet a custom requirement. If a system has been hard-coded to meet a single customer's requirements, then it would have few flex points and be difficult to customize. However, if a system is built to be adapted and uses plug-ins, adapters, overlays, or other design patterns to promote diverse implementations then customization is easier to achieve.

This leads to the second item: the amount the system must be changed to meet your requirements. If the system has a flexible implementation and is close to what you need, the amount of customization should be small. However, if the system requires radical changes, then the amount of customization may be too large for the system to assimilate.

And the larger the changes, the higher the costs. Lets revisit the problem raised in the COTS section - you need the system to be customized to retain specimen information after the specimen has left the inventory. How much would it cost to customize this? It would depend on how the information is stored in the database. If there is a table for specimen information that is divorced from the inventory locations, then changing the software to not delete this information should be fairly straightforward. However, if the underlying database is built entirely around information about the freezers, and new tables or structures had to be added to track non-inventoried specimen data, then the required system modifications would be much more intensive.

See also Custom Software and COTS Software.