locke@rnms1.paradyne.com (Richard Locke) (05/16/89)
In article <39400021@m.cs.uiuc.edu> render@m.cs.uiuc.edu writes: > >Written 8:33 pm May 5, 1989 by warren@jove.cs.pdx.edu: >>... I think many of us are missing one VERY >>important activity (that software engineers COULD be prepared for >>in school) --- communicating. I agree completely. It's been my experience that many students perceive the lack of communication-type course requirements to be a benefit of engineering and CS curricula. :-( I recently tried to explain the usefulness of good writing skills to my high school aged brother. He didn't want to take a college prep. writing course because he "hated doing papers", and besides, he wouldn't have to write very much in whatever (math, science) field he ended up in. I pointed out that, as a software engineer, I have done nothing but read, write, and participate in meetings for the last 5 months! One problem I blame on this "writing phobia" is that there is a resistance to documenting project decisions, and documentation in general. This has led to problems in more than one project with which I've been involved (and lots of code I've seen!). Brooks, in "The Mythical Man-Month", page 111-2, has this to say about that: ...writing the decisions down is essential. Only when one writes do the gaps appear and the inconsistencies protrude. The act of writing turns out to require hundreds of mini- decisions, and it is the existence of these that distinguishes clear, exact policies from fuzzy ones. ...the documents will communicate the decisions to others. The manager will be continually amazed that policies he took for common knowledge are totally unknown by some member of his team. Since his fundamental job is to keep everybody going in the same direction, his chief daily task will be communications, not decision-making, and his documents will immensely lighten this load. ...only the written plan is precise and communicable. >As an aside, we were also required to take two management >courses, something I have found very helpful in life but fairly uncommon in >CS curricula. I had several undergrad management courses (I have a BSCS, but was in an Industrial Engineering program for a while). These courses taught a lot of "common sense in dealing with human beings", which I have found to be very valuable. The idea that humans are resistant to change by nature has a lot of implications in the software biz! ("Make it work like the old program!" users say.) That people will support decisions and plans to a greater extent if they participate in the decision making and planning processes is important: Get end-users involved with the software development process! These ideas, the idea that a consensus is better than a vote, and other management concepts are all important to consider in any professional environment. It is hard to avoid working with others! -- Dick Locke AT&T Paradyne Corporation {uunet,peora}!pdn!locke Mail stop LG-133 Phone: (813) 530-8241 P.O. Box 2826 Largo, FL 34649-2826 USA