Path: utzoo!attcan!uunet!samsung!sol.ctr.columbia.edu!src.honeywell.com!skyler.mavd.honeywell.com!djbailey From: djbailey@skyler.mavd.honeywell.com Newsgroups: comp.software-eng Subject: Re: Reusability considered harmful??(!!) Message-ID: <1991Feb27.103306.3@skyler.mavd.honeywell.com> Date: 27 Feb 91 16:33:05 GMT References: <88744@tut.cis.ohio-state.edu> <88431@tut.cis.ohio-state.edu> <34523@athertn.Atherton.COM> Lines: 29 In article <34523@athertn.Atherton.COM>, mcgregor@hemlock.Atherton.COM (Scott McGregor) writes: > I am afraid I am belaboring this point, but it is an important one. > In the end, business decisions can only be effectively grounded on > how the people who implement them actually act, and not merely how they > OUGHT to act. Humans are wonderous and yet imperfect creatures. Theories When I first thought about the sine routine example I described, I came to two conclusions. The first conclusion, which has been adequately defended by others, is that reusable components have to be tested in the context of the new application. There's no other way to be sure you've picked the right component. My second conclusion is that specifying or describing reusable components is much harder than it seems. We can't reasonably expect the component designer to know every possible application for the component. Every time one considers reusing a component, there is a make/buy decision. When the effort required to make the decision is close to the effort to make the component, reuse will not happen. This puts some very practical limits on how detailed your specification can be. I don't know if delivering source code is necessary but it is necessary to describe the algorithms and processing in detail. It would also be very useful to provide a test suite to help the user evaluate the software. The test suite would help the user determine if some additional special tests are needed. -- Don J. Bailey