comp.lang.ada
 help / color / mirror / Atom feed
From: dmg@ssc-vax (David M Geary)
Subject: Re: chief programmer team organizations was (c++ vs ada results)
Date: 27 Jun 91 15:39:27 GMT	[thread overview]
Message-ID: <4212@ssc-bee.ssc-vax.UUCP> (raw)
In-Reply-To: 1991Jun26.005625.25608@netcom.COM

]> Who knows?
] Jim Showalter

]>The concept of an "elite" design team dictating system architectures
]>to a "serf" class of coders is offensive to all but the most uncreative of
]>Ada programmers.
]
]I may be misunderstanding your post, but from what I'm able to glean from
]it, you don't think hierarchical decision making works on a project, and
]that the alternative is a sort of enlightened egalitarianism. If so, I
]disagree, based on my own experience. One does not expect bricklayers,
]welders, pipefitters, etc to also design a skyscraper, any more than one
]expects an architect to wire the offices. This always seems to get cast
]
]If everyone tries to design the architecture, the result is not an
]architecture at all--it is a camel. Design by committee is generally
]regarded as a bad idea, yet you seem to be advocating a really big
]committee in your post. Or am I just confused?

  I believe that the ones writing the actual code should be the ones
  that *architect the code they are writing*.

  We have GUI, client, and server software for accessing
  (ultimately), Oracle over a network.  We have 3 main guys
  responsible for GUI, client, and server respectively.  Each
  developer designs (architects, if you will) his respective system
  (GUI, client, or server).  Each developer writes the code to
  implement the design.  Each developer also has a "sidekick" who
  understands the system, and helps out from time to time writing
  functions, porting code, etc.

  Of course, there is data constantly flowing between the GUI,
  client and server.  Therefore, architectural decisions concerning
  interfaces between the 3 systems are decided by committee.

  I like the idea of having a small group (possibly 1) of developers
  responsible for a small subsystem.  The requirements for the
  subsystem are decided by implementors.  The design and coding for
  the subsystem are totally up to the group of developers.  When the
  subsystems interact, the issues are decided upon via committee,
  with those directly responsible for the subsystems which have to
  interact having the ultimate say in the design decision.

  To me, this falls in line with OOP mentality.  When one writes
  modular, reusable code, a class is defined with a specific
  interface.  For instance one may have a class point, with an
  interface consisting of point_Create(), point_Destroy(),
  point_GetX(), point_GetY(), point_Move(), etc.  How the point
  class *implements* this interface is nobody's business but the
  author of the class.  The same thing can be applied to subsystems
  in a software system.

  In summary, then:

  1. Break the system down into subsystems.

  2. Assign small teams to each subsystem.

  3. Teams are responsible for design/development of subsystem.

  4 .Interfaces between subsystems are designed by the developers of
     the subsystems involved.

  Now, it may be that in a very large project, there are so many
  subsystems that those dealing with the subsystems at the bottom
  cannot see the light of day.  In such a case, one may have system
  architects who *work with* the developers of the subsystems, to
  help design interaction between the subsystems.

  However, to have one group design, and then hand the entire design
  over to a group of "coders", I think, is asking for trouble.
  Communication alone between the designers and the coders leaves
  enough room for error to make me mighty nervous.

-- 
|~~~~~~~~~~       David Geary, Boeing Aerospace, Seattle, WA.       ~~~~~~~~~~|
|-----------------------------------------------------------------------------|
|~~~~~~  Seattle:  America's most attractive city... to the *jetstream* ~~~~~~|
|-----------------------------------------------------------------------------|

  parent reply	other threads:[~1991-06-27 15:39 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1991-06-24 23:59 chief programmer team organizations was (c++ vs ada results) Chuck Shotton
1991-06-26  0:56 ` Jim Showalter
1991-06-26  8:35   ` Orville R. Weyrich
1991-06-27 15:39   ` David M Geary [this message]
1991-06-28  0:10     ` Jim Showalter
1991-06-28 16:06       ` David M Geary
1991-06-27 19:37   ` Dan Weinreb
  -- strict thread matches above, loose matches on Subject: below --
1991-07-12 14:01 cis.ohio-state.edu!zaphod.mps.ohio-state.edu!rpi!uupsi!mstr!mstr!jcm
1991-07-04 14:49 Ralph Reid III
1991-07-03 16:10 gdtltr@limbo.org (The Befuddled One)
1991-07-03  3:11 Michael Feldman
1991-07-03  3:09 Michael Feldman
1991-07-03  1:48 Jim Showalter
1991-06-26 17:00 Jim ADCOCK
1991-06-26  5:19 Chuck Shotton
1991-06-25 14:40 John McHugh
1991-06-18 12:28 c++ vs ada results Mats Henricson
1991-06-18 22:06 ` Jim Showalter
1991-06-19 17:00   ` Doug Smith
1991-06-20 14:35     ` chief programmer team organizations was (c++ vs ada results) Alex Blakemore
1991-06-21 22:04       ` Lars P. Fischer
1991-06-23  3:17         ` Jim Showalter
1991-06-24 13:23         ` Jim Hargrove
1991-06-21 22:21       ` Jim Showalter
1991-06-22  2:14       ` John Nagle
1991-06-23  3:23         ` Jim Showalter
1991-06-23 13:21           ` David Feustel
1991-06-23 18:54             ` Jim Showalter
1991-06-27 15:30             ` Dan Weinreb
1991-06-24  4:00           ` Marco S Hyman
1991-06-24 20:23             ` Stanley Friesen
1991-06-26  0:37               ` Jim Showalter
1991-06-24 20:29             ` Jim Showalter
1991-06-24 18:29           ` John Nagle
1991-06-25 18:38             ` Jim Showalter
1991-06-25 19:30               ` Christopher Warack
1991-06-24  9:36         ` George C. Harrison, Norfolk State University
1991-06-25 13:42           ` Harry Erwin
1991-06-26 16:15         ` Bob Martin
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox