From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: ** X-Spam-Status: No, score=2.6 required=5.0 tests=BAYES_40,INVALID_DATE, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Xref: utzoo comp.lang.ada:5873 comp.lang.c++:14423 Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sun-barr!olivea!uunet!odi!dlw From: dlw@odi.com (Dan Weinreb) Newsgroups: comp.lang.ada,comp.lang.c++ Subject: Re: chief programmer team organizations was (c++ vs ada results) Message-ID: <1991Jun27.193710.11002@odi.com> Date: 27 Jun 91 19:37:10 GMT References: <1991Jun26.005625.25608@netcom.COM> Reply-To: dlw@odi.com Organization: Object Design, Inc. In-Reply-To: jls@netcom.COM's message of 26 Jun 91 00:56:25 GMT List-Id: In article <1991Jun26.005625.25608@netcom.COM> jls@netcom.COM (Jim Showalter) writes: >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. If everyone tries to design the architecture, the result is not an architecture at all--it is a camel. He did not say that everyone tries to design the architecture. He said, and I quote, First, and foremost, all members of the development team need to feel that they can make a constructive contribution to the DESIGN as well as the more mundane coding effort. This has the effect of getting everyone "signed up" to the grand vision of the system. All the programmers, designers, and systems engineers have some stake in the quality of the final product, because they are allowed to participate throughout the entire life cycle. 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. Please note the use of the phrase "constructive contribution" and the phrase "some stake" and the phrase "signed up". He did not say that everybody writes one paragraph of the design document. He did not say that everybody has to contribute equally, or that nobody is more influential than anyone else. As I said in a previous posting, the interaction between people on a project is a human social interaction, and as such is complex and subtle. It can't be reduced to simple formulas. Many goals must be taken into account, and many things must be balanced against other things. I agree strongly with Chuck Shotton's original posting, but I don't think it conflicts with the idea that in any project involving many people, it will be possible to identify a smaller subset of key architects. However, the meaning of "architect" isn't as simple as "anybody who isn't an Architect is locked out of the room when the Design is being Formulated, and the design, Fully Formed and Cast in Concrete, is handed to him for execution." In other words, progrmmers aren't separated into two hard-and-fast groups; it's a matter of degree. In my experience, that's the best way to organize a software project.