Xref: utzoo comp.software-eng:4183 comp.sw.components:504 comp.misc:10168 comp.groupware:293 Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!pdn!nike!locke From: locke@nike.paradyne.com (Richard Locke) Newsgroups: comp.software-eng,comp.sw.components,comp.misc,comp.groupware Subject: Re: Prototyping and the Development Process Message-ID: <1990Sep18.150322.17690@pdn.paradyne.com> Date: 18 Sep 90 15:03:22 GMT References: <3839@se-sd.SanDiego.NCR.COM> <33820@cup.portal.com> Sender: usenet@pdn.paradyne.com (0000-USENET News Administrator(0000)) Reply-To: locke@nike.paradyne.com (Richard Locke) Organization: AT&T Paradyne, Largo, Florida Lines: 71 In article <33820@cup.portal.com> Will@cup.portal.com (Will E Estes) writes: > >I am very much interested in hearing about this as well. It seems to me >that the problem with many rapid prototyping environments today is that >you have to throw away the prototype and re-code from scratch in C or >something similar. Brooks, "Mythical Man-Month" is well known for suggesting that a prototype be thrown away. Evolution of a prototype into a product is a BAD THING and has been intimately related to the failure of projects I've worked on in the past. Conventional wisdom is to throw out the prototype. This is not a bug, it is a feature. It allows the prototype to be brutally hacked together in a short period of time, and then tossed away allowing the programmers to *really* do it right the first time. I dug up an old posting on this topic, which I agree with completely: ---- From pdn!uunet!ginosko!gem.mps.ohio-state.edu!tut.cis.ohio-state.edu!purdue!ames !ncar!ico!vail!rcd Wed Oct 25 12:16:01 EDT 1989 Subject: discarding prototypes Summary: do it as a matter of principle! Organization: Interactive Systems Corporation In article <14081@well.UUCP>, shf@well.UUCP (Stuart H. Ferguson) writes: > +-- bill@pd1.ccd.harris.com (Bill Davis) writes: > | In article <> ejp@abvax.icd.ab.com (Ed Prochak) writes: > | >Prototypes have to be treated as throw-aways, > | >especially when they work! > | > | I agree with throwing away prototypes when appropriate. > | But, what makes a prototype something that should be > | thrown away if it is working and providing useful > | functions?... It's not necessarily the characteristics of the prototype itself so much as a "matter of principle" (a phrase which often suggests "no good reason":-) to protect the process of prototyping. If you want to be able to use prototyping, you have to know that when you create a prototype, it's going to be just that. Even if it does its job well, it may not have the sort of internal characteristics that will let it survive maintenance and adaptation. Even if it has those as well, you have to spend some time checking it over from the criteria of production programs. That's why I'd say throw it out as a matter of principle. EVERY prototype should get tossed. (Then you can sneak in when nobody's looking and scavenge the pieces you can use in the real thing...:-) By protecting the process of prototyping, I intend first that NOBODY outside the team responsible for implementing the "real" software should ever even begin to ponder the possibility of hinting at broaching the suggestion of considering turning the prototype into production code-- that allows the prototyping process to be corrupted from outside. Nor should the implementation team itself consider using the prototype, because that may allow the idea of prototype->production to take root. They may also delude themselves into thinking they can use something they really shouldn't. However, since I never ever make ironclad rules, I'll admit that there is a remote possibility that occasionally some significant piece of a prototype can be used in production. If you do it, don't blab it around, OK? It'll come back to haunt you. -- Dick Dunn rcd@ico.isc.com uucp: {ncar,nbires}!ico!rcd (303)449-2870