Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cwjcc!tut.cis.ohio-state.edu!bloom-beacon!athena.mit.edu!tada From: tada@athena.mit.edu (Michael Zehr) Newsgroups: comp.software-eng Subject: Re: hackers Keywords: software Message-ID: <9324@bloom-beacon.MIT.EDU> Date: 19 Feb 89 00:09:49 GMT References: <899@wpi.wpi.edu> Sender: daemon@bloom-beacon.MIT.EDU Reply-To: tada@athena.mit.edu (Michael Zehr) Organization: Massachusetts Institute of Technology Lines: 38 In article <899@wpi.wpi.edu> lfoard@wpi.wpi.edu (Lawrence C Foard) writes: >I would like to present the opposite side of the argument about hackers. >I generally program in the hacker style. i.e. >No flowcharts or writting code out on paper. >Use comments only where needed. >Allow programs to evolve. >[...] >For example a typical project: >Person needs a program to do something. Quickly write code to do it. Show it >to them and ask what they would like added to it, suggest things that might be >useful and could be easily done. Repeat until satisfied. Clean up and optimize >the final code. >[...] >I have seen figures from the software industry and they are abismal, only 10% >of programs are ever successfully finished. Most hackers I know have from 75% >to 90% success. For the type of programming you're doing, that sounds perfectly reasonable. But that certainly isn't the "software industry." Have you compared the success rates of hackers completing a 10 man-year project vs. non-hackers completing the same project? Most software projects can not be done by a single person. They're simply too big. Saving time by not writing things down only works if one person can remember the entire structure of the program. And what if the client insists on a functional spec before paying money, so they know what they're getting? The software industry does use the method you describe -- it's called proto-typing. You take a couple of months and put together something that has most of the front-end of the system, and a bit of the back end, but without any real data or whatever. Then you let the client look at it and see if that's what they want. i'm sure there will be lots of other replies, so i'll end this one now... -michael j zehr