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=-0.0 required=5.0 tests=BAYES_20 autolearn=unavailable autolearn_force=no version=3.4.4 Newsgroups: comp.lang.ada Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!sdd.hp.com!elroy.jpl.nasa.gov!decwrl!netcomsv!jls From: jls@netcom.COM (Jim Showalter) Subject: Re: chief programmer team organizations was (c++ vs ada results) Message-ID: <1991Jun24.202913.14387@netcom.COM> Organization: Netcom - Online Communication Services UNIX System {408 241-9760 guest} References: <1991Jun20.143535.27176@software.org> <25587@well.sf.ca.us> <1991Jun23.032353.8718@netcom.COM> <1066@dumbcat.sf.ca.us> Date: Mon, 24 Jun 1991 20:29:13 GMT List-Id: > > Tommyrot! How on earth is a single human being going to write "most", > > or, for that matter, even a FRACTION, of the code on a project of > > significant size? I'm talking here of things like the multi-MILLION > > line FAA rewrite of the U.S. air traffic control system. >If one can imagine the system then one can build the system, just a little >slower than two, or three. Look, this is just silly. Back of the envelope, I get 1MSLOC as something like 4 million words to type (this is probably much too low, but let's assume few comments and few identifiers per line), which, for a 60 wpm typist works out to 6 months of just TYPING. No thought, no design, no documentation, no debugging, no test, no integration. Just six months to TYPE that much code. How long do you think it would take for one human being to actually write real code of that size? 20 years? How much code have you written in your lifetime, in aggregate? What's the most working documented code you've seen a single human being crank out in a year? Modern software projects cannot be written by one person unless the customer is willing to wait 20-40 years for delivery. >Every new person >adds to the communications burden and increases the chance of a >mis-communication causing something to be misunderstood. Misunderstandings >lead to defects and system failures. I'd guess seven would be the top end, >providing you have the right seven. Three seems to be a good number in >practice. This is the Mythical Man Month and all that, but it is not necessarily true. The trick is to divide up the project into chunks (I call them subsystems) that themselves CAN be implemented by small teams, and to formally enforce the interfaces between the chunks. The trick then becomes for an architect to know where to make the slices. -- *** LIMITLESS SOFTWARE, Inc: Jim Showalter, jls@netcom.com, (408) 243-0630 **** *Proven solutions to software problems. Consulting and training on all aspects* *of software development. Management/process/methodology. Architecture/design/* *reuse. Quality/productivity. Risk reduction. EFFECTIVE OO usage. Ada/C++. *