home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!haven.umd.edu!darwin.sura.net!mips!swrinde!cs.utexas.edu!asuvax!ennews!enuxha.eas.asu.edu!kanko
- From: kanko@enuxha.eas.asu.edu (Mark Kanko)
- Newsgroups: comp.software-eng
- Subject: Re: What is Software Engineering
- Summary: Yes, Includes Refinements
- Message-ID: <1992Aug12.150417.15663@ennews.eas.asu.edu>
- Date: 12 Aug 92 15:04:17 GMT
- References: <1992Aug3.225335.13213@projtech.com> <1992Aug6.114743@iti.gov.sg> <1992Aug12.065800.14202@sserve.cc.adfa.oz.au>
- Sender: news@ennews.eas.asu.edu (USENET News System)
- Organization: Arizona State University
- Lines: 46
-
- >ghm@ccadfa.cc.adfa.oz.au (Geoff Miller) writes:
- >
- > I don't dispute the figures as such, but I wonder if there's some double
- > counting going on. We're looking at a project at the moment for which
- > we estimate the development time of a working core system to be 6 months,
- > with at least a further 12 months for refinement and further development.
- > Now, is that "maintenance"? By some definitions it is (since it involves
- > fixing problems with existing code), so if you analyse our time on that
- > basis it will look as though we're spending a lot of time on maintenance.
- > However, is that a problem? I don't think so, because I don't see
- > maintenance and development as necessarily distinct. In fact, most of
- > our software "maintenance" involves additional functionality or altered
- > functionality in response to changing user requirements.
-
- I agree with your comments and that is exactly the point: The issue
- is not whether we call a certain effort "development" or "maintenance"
- but rather the fact that we don't (usually) build a software system one
- time and then never have to touch it again! That is why it is so important
- to design/implement with future maintenance in mind. One of Lehman's 'Laws of
- S/W Evolution' says that any (I'd say most) existing software system
- must either evolve (i.e., be modified for whatever reason) or eventually
- become obsolete.
-
- I wouldn't call the quoted numbers "double-counted". Then DO include
- the kind of refinement you're talking about. This is called perfective
- maintenance (again, see Pressman book). Three other kinds are corrective
- (to fix bugs or defects), adaptive (to meet changing H/W or data envi-
- ronment requirements), and preventive (to enhance future maintainability).
-
- Just to put this all in a different light-- Many of the USAF's fighter
- aircraft have been extremely effective in combat. But when it comes
- to maintenance, some of them have been real "bears". Entire subassemblies
- not related to the maintenance task had to be removed in order to get
- to the actual maintenance task (e.g., having to remove the entire ejection
- seat so that a battery for the system clock can be replaced). Well, we
- don't build airplanes like that anymore. Complete Reliability and
- Maintainability assessments are done (and redone) on the entire design
- before any sheetmetal is bent. Why? Because when it comes combat time,
- we can't afford a 3-hour turn-around between sorties for a routine
- maintenance task. Are there compromises? Sure! But the compromises
- are a matter of planned (engineered?) choice, not chance.
-
- I've really appreciated seeing all the viewpoints on this subject.
- [I didn't say I agreed with them all! ;-) ]
- --
- /*** Mark Kanko Arizona State University kanko@asuvax.eas.asu.edu ***/
-