Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!uwvax!oddjob!gargoyle!ihnp4!homxb!mhuxt!mhuxm!mhuxo!ulysses!gamma!pyuxp!rruxa!gwl From: gwl@rruxa.UUCP (George W. Leach) Newsgroups: comp.lang.c Subject: Re: Programmers who "aren't allowed" to do things right Message-ID: <277@rruxa.UUCP> Date: Wed, 15-Jul-87 09:23:05 EDT Article-I.D.: rruxa.277 Posted: Wed Jul 15 09:23:05 1987 Date-Received: Sat, 18-Jul-87 06:09:43 EDT References: <598@nonvon.UUCP> <2365@bunker.UUCP> <1656@tekig4.TEK.COM> <2396@bunker.UUCP> Organization: Bell Communications Research Lines: 90 Summary: non-programmers must be sold on quality In article <2396@bunker.UUCP>, garys@bunker.UUCP writes: > In article <1656@tekig4.TEK.COM> bradn@tekig4.UUCP (Bradford Needham) writes: > >In article <2365@bunker.UUCP> garys@bunker.UUCP (Gary M. Samuelson) writes: > >>Well, there is a third class [of programmers who write poorly-commented code]. > >>Some of us are actually not permitted to "do it right." > >>Out in the "real world," as they called it when I was still a student, > >>we have things called schedules and deadlines. > > >While I agree that the real world exerts strong pressures to do things > >"the wrong way", and while I sympathize with every programmer that suffers > >under an inflexible, counterproductive organization, I don't agree that > >these pressures justify producing poorly-documented code. > > I am not trying to justify it, just explain it. Doing it right in > spite of the pressures shows up in your annual review as negative. Personal and professional pride dictate doing it right (or trying to) anyway! > > >It is the engineer's responsibility to give his manager his best guess at > >technical "reality"... > > Well, first, the manager has to ask for that input, and then, the manager > has to accept the engineer's assessment as valid, and then, the manager > has to convince the next manager(s) up that the end date dictated by Marketing > can't be met. > > >I agree that there has to be compromise between programming heaven (where there > >is plenty of time to thoroughly design, document, build, and test) and > >sales heaven (where products appear the moment a customer asks for them). > >Achieving a good compromise (a good-quality product in a timely manner) > >is the mark of a good engineer. > > I am not sure that the two are mutually exclusive. If the marketing > department were adept at their job, they would be able to anticipate > what the customer is going to need in time for the engineering department > to design, build, and test it (I left out "document," because I consider > writing documentation to be an integral part of each of the other > activities mentioned -- e.g., the result of designing is a design document -- > but that's a nit). And if the engineering department were adept at their > job, they would have, among other things, a set of "building block" > software from which they could build most of any new product. Only > the parts which were really new (and there isn't that much new in any > given new product) would require new design. > > Gary Samuelson Everyone in a company must be committed to doing it right! Not just the programmer, but management, the customers, everyone!!!! It is too easy to promise the customer the world, with little preliminary work to adequately define just what it is that the customer wants. Then as time marches on and it become obvious that dates will be slipped, the first thing that everyone drops are the quality arrangements that were set up. For example, design and code reviews were the first thing to go! Then features are dropped, then corners are cut!!!! The problem is in short term thinking on the part of too many people. How often have you seen people make decisions and promises that just are not reasonable. Then they are promoted before the SH*T hits the fan!!!! Ever see the "6 Phases of a Project" sign? The very last one is "Praise and Honors for the Non Participants". Oh, how true!!! If when a project team is put together, it was made clear that all members of the team would be there for the duration of the project, then you would have a great deal more interest in doing it right. Too often short sighted politics gets in the way. Manager X wants to use this project for the visability it will provide to get him/her a promotion. If all works right, promise all sorts of things and you will get that promotion before the promises must be realized! Don't laugh, it happens far too frequently. But why not? Afterall, isn't this the way that our government leaders operate as well????? Next election. George W. Leach Bell Communications Research New Jersey Institute of Technology 444 Hoes Lane 4A-1129 Computer & Information Sciences Dept. Piscataway, New Jersey 08854 Newark, New Jersey 07102 (201) 699-8639 UUCP: ..!bellcore!{indra | yogi | njitcis}!reggie ARPA: reggie%njit-eies.MAILNET@MIT-MULTICS.ARPA From there to here, from here to there, funny things are everywhere Dr. Seuss "One fish two fish red fish blue fish"