AdaIC News Spring/Summer 1996

Ada and Reuse

Benchmarking Software Reuse -- Looking at the Leaders

| Looking at the Leaders |
| Reuse Doesn't Take Place in a Vacuum |
| "Best-Practice" Patterns | Everybody's a Player in Reuse |

"With reuse, managers have reported returns on investment as high as four to one after two years"

"Now, the weeks before a product release, we work eight-hour days and see our families."

That sounds like a great idea -- but one that many organizations don't achieve. How do we accomplish it? For more and more organizations, there's a straightforward answer: software reuse.

With systematic reuse, managers have reported returns on investment as high as four to one after two years, consistent cycle-time reductions of more than 30%, and a significantly increased competitive edge.

Looking at the Leaders

Software reuse, broadly defined, is the practice of using existing software components in more than one system. Components can be executable code, program code, documentation, requirements, design documents, architectures, test plans, or tools.

Looking at organizations where software reuse is successful -- in order to find the practices that made them successful -- was the aim of a study commissioned by the Department of Defense Software Reuse Initiative (DoD SRI) at the Defense Information Systems Agency's (DISA's) Center for Operational Support (CFOS). The study is an initial step to provide reuse solutions that make sense to DOD managers in their efforts to do more, in less time, with fewer resources. The report is targeted at senior DoD executives and managers, but engineers and researchers should find much valuable information.

The study is "Software Reuse Benchmarking Study -- Learning from Industry and Government Leaders". Although individual, ad-hoc reuse occurs commonly, the study focuses on organizations that systematically build a family of products that draw from a common core of elements -- ranging from software code, to design, to domain expertise.

Study authors (Applied Expertise and Electronic Data Systems -- EDS) surveyed 11 leading commercial, defense-aerospace, and government organizations, including AT&T, Andersen Consulting, Computer Sciences Corporation, Hewlett-Packard, and Texas Instruments.

Return on investment was typically estimated in the range of 20-50%, and the benefits of reuse go beyond the bottom line. Organizations that effectively apply software reuse don't repeatedly build systems from the ground-up. With reuse, leading organizations achieve key strategic and competitive advantages in terms of reduced cost, faster product delivery, improved interoperability and lowered defects. Reuse also provides a stronger basis for acquisition from multiple sources.

A leading Defense industry supplier reported that they fielded a system in four months that was expected to take at least a year, and accomplished a 37% schedule reduction for a fire control system based on about 60% reuse.

A mid-level technical manager with a leading aerospace supplier reported 25-45% reduced cycle time. And the longer reuse is in place, the greater the benefits. A DoD organization now reports a 7 to 1 return on investment after nine years. A major aerospace firm gained 300% increased reuse along with 55% reduced cost, 25-45% reduced cycle time, and 75% reduced error rates.

For those in the trenches, reduced risk is also a factor, and it is tangible: One of the industry leaders put it simply: "Bugs get fixed once and stay fixed." Another industry participant in the survey pointed to increased ease of integration: "Before, a great deal of time was spent developing and integrating components. It was an unpredictable activity. Now, the time and variance have been substantially reduced."

The question is: How did they achieve those benefits? Specifically, the benchmarking study sought to answer the question, "What are the 3-6 practices most critical to the success of your organization's reuse program, why do you do the practice, and what results have you gotten?"

Reuse Doesn't Take Place in a Vacuum

Leaders integrate reuse with other improvement, management, and engineering activities. Study subjects reported that as long as reuse was treated as a separate activity, little success was achieved. They cited reuse as a critical component of their quality improvement initiatives. Successful reuse efforts benefit from and leverage other improvement activities.

For each practice, the study team set out to provide enough information to allow readers to determine whether the practice is appropriate to consider as a means to attain the results that they are striving to achieve.

"Best-Practice" Patterns

The study team identified 43 practices, and from these identified seven patterns. The seven patterns, in order, are that leading organizations:

1. Build a strong software architecture that provides the framework for reuse activities.
2. Use a software development process that promotes and controls reuse.
3. Reuse more than just code (e.g., management processes, project and product templates, models, requirements, specifications, training materials, etc.).
4. Practice domain engineering.
5. Integrate reuse into project management, quality initiatives and software engineering activities.
6. Have an organizational structure that facilitates partnering to achieve reuse across product boundaries.
7. Use automation to support reuse when and where it makes sense for both managers and technicians as driven by business and technical needs.

Everybody's a Player in Reuse

One element that underlies many of those practices is one sometimes overlooked in technology: the customer.

For example, a leading defense and commercial electronics systems supplier credits much of the success of their reuse program to the customer's actions. Their customer was willing to reevaluate and relax the requirements to get a proven product that met critical objectives in substantially less time, for a lot less money. This allowed the supplier to reuse. As a result, one system, scheduled for delivery in one year, was fielded in four months.

Altogether, reuse benefits both developers and managers, both vendors and customers. If you've been looking for details on how people are putting reuse to work, the Benchmarking study is a good place to start.

(At this time, it is not expected that hardcopies of the study will be available for general distribution. However, an electronic copy will be available for downloading from the Internet via the Software Engineering

        Back                    Contents                    Next