Embarking on a reuse program requires more than simply announcing the program's existenceSoftware reuse is among the most discussed and least implemented of all approaches to improving the quality and productivity of an IS organisation. The two concepts underlying reuse are so simple that they hardly require explanation: First, do not reinvent that which has already been invented; second, construct new systems and enhance existing systems using building blocks already tested and proven.
Just as many people avoid beginning an exercise program because it requires a change in routine, systematic effort and some initial pain, so organisations avoid software reuse implementation. And just as the benefits of exercise are obvious, visible, well-documented and not very long in coming, so are the benefits of software reuse. The metrics of an exercise program are easy to accomplish: Just stand on a scale. Calculating the return on investment of software reuse, however, is a bit more tricky.
An estimated 75 per cent of all application development organisations operate at level one of the Software Process Capability Maturity Model, which was created by the Software Engineering Institute of Carnegie Mellon Univer-sity. At level one, an organisation has no development methodology or formal procedures across projects, and budgeting is done on a project-by-project basis. The good news for an information executive in such an IS shop is that within the organisation he or she can promote a reusability program as a key driver to an ongoing application development process because it's tough to argue with the twin goals of improving quality and efficiency.
Most industry literature on reuse begins with the premise that reuse is a technical matter and is inevitable once technical issues such as platform, tool selection and integration of systems are resolved. That viewpoint is especially popular in literature on object-oriented technology and design. However, the premise is false. Enabling reuse does not ensure reuse any more than buying a rowing machine ensures the buyer will exercise regularly. Reuse will be implemented only if managers directly foster the behaviours that are essential to reuse.
Gartner Group has identified the key elements of a program designed to enable reuse via relevant technical support and to promote reuse via changes in organisational and individual behaviours. Those elements include:1/. An inventory of reusable artefacts (any solution that can in whole or in part be incorporated into an application development project -not only executable components)2/. A searchable catalogue of those artefacts3/. Personnel who assist users and maintain and enhance the inventory and catalogue4/. A methodology - a structured process that specifies when and how reuse potential is acted upon during the analysis, design and construction of an application5/. A measurement program that tracks reuse and adherence to themethodology6/. Design standards that specify how reusable artefacts are to be constructed7/. A quality-assurance program that guarantees the technical and functional quality of the catalogue and reusable inventory8/. Incentive systems that encourage individuals and teams to support reuseFor a midsize to large application development organisation (that is, a shop with 100 to 500 developers) that already has a reuse methodology, the first-year cost of a reuse program may range from $US535,000 to $US1.15 million, depending on the approach to catalogue implementation and incentives.
Subsequent annual expenditures will range from $US485,000 to $US795,000, not including costs for analysis and identification of reuse opportunities within the development life cycle. The cost of such activities will vary with the complexity of the project. Therefore, to be even minimally profitable, a reuse program for a midsize to large organisation must return well over half a million dollars per year.
Although it takes some doing, the return on investment can be calculated.
Assuming a developer is paid $US75,000, a company's reuse program must offset the full-time efforts of seven developers or, in a shop with 100 developers, yield a 7 per cent productivity improvement to achieve the minimum required return of $US500,000. Based on Gartner Group estimates that consistent use of a reuse methodology increases application development productivity by 30 per cent, it is reasonable to predict that a reuse program that includes all required elements will produce an ongoing annual ROI equal to or greater than 200 per cent within two years for a shop with 100 developers.
Because methodology leverages architecture, its acquisition, development and implementation are essential to software reuse and to the success of the information system architecture. The application development organisation that has no consistently followed methodology is well advised to obtain one even if it does not intend to focus on reuse. We estimate the cost of methodology acquisition and implementation to range from $US250,000 to $US800,000 over a three-year period for a midsize to large organisation. Therefore, an organisation undertaking a reuse program and installing a new methodology may spend well over $US1.25 million within two years to establish both.
Application development organisations (especially larger ones, for which any enterprisewide initiative takes significant levels of planning, execution and follow-through) that seek improvements in delivery and quality through reuse should take notice of the important links between architecture, methodology and reuse, and act accordingly. Ensuring cooperation and coordination among the teams pursuing those initiatives maximises overall reuse and leverage for the architecture, with a significant combined payback(Richard Hunter is research director of Gartner Group's Applications Development and Management Strategies service in the US)(c) 1997, COMPUTERWORLD
Join the CIO Australia group on LinkedIn. The group is open to CIOs, IT Directors, COOs, CTOs and senior IT managers.