Unless the requirement is quite trivial, or the usage quite small..
I would question 'write everything from scratch' -- now custom code
for integrations makes sense; it doesn't make sense for every
company to become a software company though and custom code all the
bits of their systems, instead of customizing and reusing proven
A solution implemented with mature OTS components doing all the heavy
lifting may be more robust, if good choices were made. Customizing
and integrating OTS components may be hard; once you do, you worry
only about maintaining customizations and integrations. Chances are
you get vendor support and well-tested software.
That is, if the integrations/customizations made are supported ones,
available through configuration of the software.
With totally custom coded software, the org bears an ongoing burden of
software reliability testing, for all the custom components. When
one finds custom software cheaper than an OTS solution... one
should probably ask... was ongoing testing, support,
updates/security patches, and maintenance included?
In other words... did the IT group just count the Initial cost to
implement, or did they actually figure out a TCO, including
changes to the custom software later required to solve scalability
The answer in some cases may be to figure out what products might fit
the need/requirement in the most general sense, and find a consulting
group adept with whichever products, rather than a local IT group.
I am sure there are plenty of inventory management and accounting type
products out in the world, able to be adapted for the unique
requirements of inventorying different kinds of things.
Chop up the problem sufficiently into bite-sized pieces, and I
believe there are bound to be existing OTS options more useful than