home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!charon.amdahl.com!pacbell.com!ames!olivea!veritas!joshua
- From: joshua@Veritas.COM (Joshua Levy)
- Newsgroups: comp.software-eng
- Subject: Re: Why is the Software Process NOT working
- Message-ID: <1993Jan26.185901.12145@Veritas.COM>
- Date: 26 Jan 93 18:59:01 GMT
- References: <1993Jan19.155446.13593@cs.few.eur.nl> <EMERY.93Jan19174523@goldfinger.mitre.org> <1993Jan22.130940.21486@dmu.ac.uk>
- Organization: VERITAS Software
- Lines: 62
-
- 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.
-
- Using myself as an example: I graduated in the 1980s from a top 20
- (in the USA) Engineering school, having completed the hardest
- undergraduate software engineering degree available. This degree
- program was part of the engineering school. As part of that degree:
-
- 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.
-
- How long are schools going to graduate people while pretending that
- testing, version control, release process, data bases, and program
- modifications don't exist?
-
- My degree program had lots of physics, calculas, and math. It was
- obviously designed by a bunch of PhDs to produce PhDs, but in terms
- of software engineering, it was a total disaster. I could take
- a course in every professor's trendy research subject, but I could
- not take a course in how to test a program. Just discusting.
-
- 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.
-
- I don't know if all software engineering degrees are a poorly designed
- as the University of Pennsylvania's program in the late 1980s. I hope
- not, but I suspect so.
-
- If you are a prof, and reading this, I hope you will look at your
- degree requirements, and ask yourself two questions:
- 1. Is my department teaching people how to be graduate students,
- or engineers? Remember, most of your studies will become
- engineers, not grad students.
- 2. Is it possible to graduate from my department without writing a
- test suite, modifing existing code, porting code between machines,
- writing requirements, or undestanding version and release control?
- These are the things that software engineers spend most of their
- time doing in the real world. If you do not teach (or try to teach)
- these things, your engineering degree is a fraud.
-
- Joshua Levy (joshua@veritas.com)
-