And since the components have already been tested, overall quality should improve. In addition, the separation of software modules into components will allow for easier maintenance and upgrades. Component formats provide these groups with a common language, but IT management must establish policies for design, testing, and funding, if collaboration is to be effective. Without acknowledgement that the higher costs of component development will be amortized across multiple projects, project managers will not devote the extra resources it requires. Moreover, developers will reuse only components they are confident have been thoroughly tested, and whose design they clearly understand.
Quality is a crucial piece of the puzzle.
Projects should start with an overall design, including a breakdown into major units and their interfaces. Once the design is specified and the components built, testing for reuse should be managed as a separate activity. Components promise many benefits for development organizations, yet they pose an equal number of challenges. Choosing the right tools and technologies will be important to component adoption, and the supporting processes and organization will be crucial to its success. Central IT's role can no longer be to select specific products for use in all new projects.