home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.software-eng
- Path: sparky!uunet!charon.amdahl.com!amdahl!rtech!sgiblab!spool.mu.edu!howland.reston.ans.net!paladin.american.edu!news.univie.ac.at!hp4at!mcsun!fuug!kiae!relay1!river!csoft!news-server
- From: smcl@speed.kiev.ua (Scott McLoughlin)
- Subject: Re: Why is the Software Process NOT working
- Reply-To: smcl@speed.kiev.ua
- Organization: Private Scott McLoughlin
- Date: Wed, 27 Jan 93 18:51:54 +0200
- Message-ID: <AAgshPhOC5@speed.kiev.ua>
- Lines: 149
- References: <1993Jan26.185901.12145@Veritas.COM>
- Sender: news-server@river.cs.kiev.ua
-
- Howdy,
-
- In his contribution, joshua@Veritas.COM (Joshua Levy) writes
-
- >> Graham Perkins argues that the software process is not working for
- >> several reasons including:
- >> >1) Education not respected
- >> >2) Prejudice against academic methods
-
- > I think the reason the software process does not work is much simpler.
- > Colleges and Universities are expected to teach people the background
- > knowledge need to be a good software engineer, and they do not.
- > It is that simple.
-
- I think that you are building a straw man to knock down. If we interpret
- Graham Perkins as saying that _when_ academia _does_ teach how to build and
- manage a software system safely, much of the software development
- community does not tune in, I think that he is absolutely correct.
-
- The reason is that management would never stomach the costs or the restraints,
- prefering instead the illusion of unrestrained creative freedom. The same
- people who realize that they cannot use a design for a home with a basement
- when they want to build a house at the beach, the same people who will pay
- $55/hour for a plumber to come fix a toilet -- these same people will
- say, "Oh, we'll just port our ultra tensor whatcha-magit analysis system
- from PrimeOS to Windows 3.X to leverage our clients' current hardware
- investment in circa 1988 IBM AT systems. Let's get the boys in the
- basement out for a week of training in Windows programming in C."
- What a joke.
-
- I'm a youngin', but having worked around the Washington, D.C. beltway for a
- few years, I continuously don't know whether to laugh or cry. It's not
- lucrative, but I think I have killed more potential contracts than I
- have obtained or executed. Once the ramifications are explained, users
- and managers turn pale and give up. Good thing too for the taxpayers.
-
- You see, inexpensive hardware and software tools (as in, build your own
- mailing list with dBase), have cajoled the management and user communities
- into thinking that software is forthcoming quicky and on the cheap. I
- think that too much software is being built today. According to a study
- I read some 18 months ago in the NYT, more than 1/2 of the software projects
- undertaken in U.S. govt. and Fortune 1000 companies is never used at all.
-
- Now, imagine if 1/2 of the factories that we attempted to build were never
- used! This is insanity. It is management's responsibility to allocate
- resources for software development and maintenance. Any manager who
- low balled and therefore failed to successfully develop a couple of
- factories would be fired. Senior management should do this to software
- managers who low ball their projects.
-
- Software systems are easily as complicated as many factories, and from what
- I have read of General Motor's football field size yards to fix cars and
- components as they come off of the assembly line, I think that many
- software systems that make it into production are easily as high in
- quality as many factories. Come on, how many users are asked to help
- "clean up" the computer system at the end of their 9 - 5 shift?
-
- We, the software development community, are our own worst critics. While
- twiddling the ivories might make us feel omnipotent over our machines,
- we are only human. Trust me, I am currently living 90 miles south
- of the Chernyobl nuclear reactor. We should give ourselves a break.
-
- > I never took a class in testing (of any kind). None was offered.
- > I never took a class in version control or configuration management,
- > or took any class which discussed these issues. None was offered.
- > One class required writing or helping to write documentation.
- > One class required writing or developing requirements or specifications.
- > I never took a class which discussed the release process. None was
- > offered.
- > I never took a class which discussed data base systems in any way.
- > None was offered at the undergraduate level.
- > I never took a class which discussed adding features to an already
- > exiting program. None was offered.
- > I never took a class which discussed porting code or writing portable
- > code. None was offered.
-
- Look, in the absence of a two track educational system, I think that it
- is best that university and teaching college attendants learn the ins
- and outs of graph theory and compiler optimization, rather than how to
- use PVCS or SCCS. As concerns documentation, I was a philosophy student
- at Harvard. I like to write. But do I want to write user documentation?
- Hell no. Don't waste my time. Hire some schmuck with a masters degree
- in technical writing (better universities do _not_ give undergraduate
- degrees in technical writing).
-
- Anyway, in my course of study I did _not_ take courses on philosophical
- pedagogy or courses on how to write in a dry, philosophy journal style,
- quoting all of the tenured staff at my university ;-) This is
- _on the job_ training. If I were to become a philosophy professor, I
- would be given a few years worth of students to practice on. Similarly,
- lawyers are given the underpriveled in "legal clinics" to practice on.
- The cost to students in tuition and to the poor in misrepresentation is
- !!! $100,000's OF DOLLARS !!! in on the job training for so called
- "professionals". Give a programmer a few $100,000 worth of on the
- job training, and I'm sure that even a product of America's university
- system can learn PVCS or Oracle.
-
- Anyway, this idea that software engineers must be jacks of all trades
- is foolish. We are foolish for telling the rest of the world that this
- is so. No one should be surprised if some software engineering guru
- who can build a slick device driver or optimized compiler cannot construct
- an aesthetically appealing graphical representation of the same
- software system. These are two different skills! Go hire graphic design
- types!
-
- > How long are schools going to graduate people while pretending that
- > testing, version control, release process, data bases, and program
- > modifications don't exist?
-
- Schools educate _young_ men and women in various disciplines. No one
- should be educated in how one's tongue turns gray after the 15th
- cup of coffee after arguing all day about what DBMS to procure or
- when the bug threshold is "low enough" to release a product to the
- public (because the venture capitalists are getting antsy).
-
- Furthermore, universities are not job factories. Given the changing
- job market and a rapidly evolving SE field, a job factory would most
- likely produce the GM Pacer of programmers. I would think that even
- _more_ attention should be paid to a firm grasp of fundamentals,
- especially the ins and outs of system software (graphical subsystems,
- memory management, assembler programming, compiler design and operation,
- process synchronization issues). _THESE_ are the issues that do not
- change, the perenial issues, in a rapidly changing field.
-
- > It is almost funny, in retrospect: I was forced to take 5 math classes
- > and more than 3 science classes, but I was not offered a class which
- > required me to write a program which would run on more than one machine,
- > and I never had to write a test suite, or modify an already existing
- > program.
-
- Yes, but your nice U. Penn education probably gave you an excellent
- conceptual framework to organize all of the tidbits of SE lore that
- you have obviously acquired since then. Without this framework, it is
- all just what I like to call "Tips and Tricks of the DOS <Unix, VMS, etc.>
- Masters". If your subsequent career makes you really want a firmer
- grounding in the beurocracy and management that obviously accompanies
- institutional and commercail software development, I believe that many
- fine MBA programs offer special MIS degrees and that other software
- engineering Masters programs (I have a friend who went to George
- Mason, for example) pay particular attention to these topics.
-
- > > Joshua Levy (joshua@veritas.com)
-
- Live! From Kiev! Its....
-
- Scott "Be true to your school!" McLoughlin
-
-
-
-