Path: utzoo!mnetor!uunet!husc6!bloom-beacon!gatech!udel!princeton!phoenix!pucc!EGNILGES From: EGNILGES@pucc.Princeton.EDU (Ed Nilges) Newsgroups: comp.software-eng Subject: Re: Who builds tools? Message-ID: <5052@pucc.Princeton.EDU> Date: 26 Apr 88 17:07:20 GMT References: <40335UH2@PSUVM> <321@uwslh.UUCP> Reply-To: EGNILGES@pucc.Princeton.EDU Organization: Princeton University, NJ Lines: 33 Disclaimer: Author bears full responsibility for contents of this article In article <40335UH2@PSUVM>, UH2@PSUVM.BITNET (Lee Sailer) writes: >In the Mysthical Man-Month, Brooks describes the surgical-team model >for programming projects, where one person is responsible for all of the >code. Of course, to make this possible, we have to offload as much >work as possible from the "surgeon". One way to do that is to give >every a surgeon a ToolSmith, who builds tools for the surgeon so that >he doesn't have to build them hirself. In many projects, however, the lead person should be the tool smith. We find in applications that the end user is often the best programmer of her own application. For example, I found working in Seattle on a ship stability program that an Ocean Engineer with access to good tools could do most of the application himself quite effectively; I concentrated on the more systems oriented aspect of the work, viz., the screen manager. But programmers are themselves the end user of things like compilers and debuggers. They know what they need...just as Ocean Engineers know what the master of a vessel needs (actually, the master herself probably knows even better than the engineer, but that's a matter of degree and a division of labor within ocean engineering that I am not qualified to address). Anyway, the fact that programmers know their tools explains why senior people want to work on tools...it's the same phenomenon as the end-user who wants to use Lotus 123 to do her own models. It's more fun, and a better product is often the result. Yes, the user is paying for real work, not toolcrafting; but if the real work is done several orders of magnitude faster and more accurately because the team members have good tools, the person paying the bill has no reason to complain.