Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!ucsfcgl!seibel From: seibel@cgl.ucsf.edu (George Seibel) Newsgroups: comp.software-eng Subject: Re: Computer Scientist Publishes 865 Errors Message-ID: <12023@cgl.ucsf.EDU> Date: 10 Oct 89 07:43:31 GMT References: <8910091549.AA17481@mitre.arpa> <1989Oct10.015725.24517@agate.berkeley.edu> Sender: daemon@cgl.ucsf.edu Reply-To: seibel@cgl.ucsf.edu (George Seibel) Organization: Computer Graphics Lab, UCSF Lines: 36 In article <1989Oct10.015725.24517@agate.berkeley.edu> bks@alfa.berkeley.edu (Brad Sherman) writes: >Knuth makes at least 4 claims that some might think are contradictory >to current SE theory. > (Paraphrasing from memory): > 1) The designer should do the implementaion. > 2) The designer should do the testing. > 3) The designer should do the (first) user manual. > 4) After design, implementation and user input, > redesign and reimplement. > >Is this how it's done in your shop? It sounds like Knuth is telling us: "If you want something done right..." In the first article of this thread, Richard Botting offers a clue to how Knuth's suggestions may have developed: "His original design was reviewed by others and implemented by 2 graduate students while he was outside the country..." So what did Knuth expect? What should anyone expect in such a situation? If you want professional quality software, it would seem appropriate to hire professionals to do the implementation, and pay them what they are worth. As for points 1-4 above, I think that it is appropriate for the designers to at least be *involved* in the implementation, testing, and documentation. Step 4 is often appropriate, and is probably done far less often than it should be. Skipping the redesign/reimplementation is usually false economy. I've seen this from both sides; after totalling up the time spent in maintainance of something that needed a complete redesign, it became painfully apparent that it would have been cheaper in the long run to do it right, and in other cases I've done rewrites that took far less time than the original design/coding effort, and paid off in far better software. George Seibel, UCSF speaking for myself only.