[comp.software-eng] software engineers, communication, working with people

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