Another effect was observed: the code size grew with each port or adaption. The biggest growth in code size came during a port from Pascal to C using a translator program. The original 3 kNCSS grew to 9 kNCSS, essentially without any additional functionality.
The first project within the components program was set up to re-engineer this library for strict black box reuse in all software products.
The result: size is down to 5 kNCSS, speed improved by a factor of two.
The project took about one year for two engineers (one of them the original creator). This effort included a detailed assessment of the requirements of all potential consumer projects and the creation of an extensive test suite with test cases from all analytical techniques which need this type of algorithm.
After release of this component, four products on two platforms replaced their individual versions with this one common stream of code. More products are under development using the same source without modification.
Meanwhile, the component development team added new capabilies to the library and is responsible for all maintenance activities for this component.