🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sw.components
Article #295

Re: Maintenance

#295
From: Robert McIlree
Date: Mon, 13 Nov 1989 16:14
48 lines
3234 bytes
From article <614@alias.UUCP>, by mherman@alias.UUCP (Michael Herman):
>> now at the point where I can make those changes. Students must learn how to make
>> a good product first. Once they have mastered that, then they can learn how to
>> enhance existing products. But by the time they get to that point, they have
>> already graduated and are in industry.
> 
> I would wager that most car machanics have never seen an assembly line
> yet they still are very effective in what they do.  I would also wager
> that software maintainers don't have to be great developers.
> 
> p.s. Let's avoid the discussion that mechanics would be better if they
>      had worked on an assembly line.  Its true.  In the same light,
>      a software maintainer would be better if they had development
>      experience.  My contention is that neither are strictly necessary.

Considering that a great deal of the entry-level people (including me
when I started out 7 years ago) begin their careers performing
maintenance and/or contributing to new versions of existing systems,
I concur that one doesn't need development experience to perform
enhancements. In fact, stints as a maintainer/integrator have
some benefits when it comes time to do a brand-new project. For
example, the software being maintained might be: a) horribly designed
or patched so many times that it isn't obvious what the design intent
was, poor documentation, etc. This imparts to the entry-level maintiner
some lessons in how *not* to design software; b) wonderfully thought-out
and designed, coded to-spec, easy to understand. This case, which is
preferable, teaches the greenhorn how good systems are developed and,
by its very example, imparts good design habits.
Case b) is a great exercise prior to starting a new project, and I
recommend it to anyone starting out in this business as the first
assignment. I've seen plenty of people fresh out of school thrown into
critical paths of a new design and fail to deliver either quality
work or work by deadline. And it was not really 100% their fault, given
their lack of experience. What might have worked instead would be a
role on an on-going project, where examples (good and bad) can be
assimilated and learned from, and contributions to the project come
a little faster than on brand-new projects.

Finally, how many of you out there in the commercial world always
work on new, start-completely-from-scratch, projects? I, in 7
years, have worked on 2 of this type (out of over 15 total). The
rest were either extensions to existing systems, integration work,
or derivatives of existing systems converted to different applications
(reuse). Thus, the ability to read and comprehend anothers code is
critical, and should really come first before trying a start-from-
scratch project.

Bob McIlree
Technical Details
Message-ID: <1409@mrsvr.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!wuarchive!cs.utexas.edu!uwm.edu!mrsvr.UUCP
References: <614@alias.UUCP>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!wuarchive!cs.utexas.edu!uwm.edu!mrsvr.UUCP
From: mcilree@mrsvr.UUCP (Robert McIlree)
Newsgroups: comp.sw.components,comp.software-eng
Subject: Re: Maintenance
Message-ID: <1409@mrsvr.UUCP>
Date: 13 Nov 89 16:14:16 GMT
References: <614@alias.UUCP>
Sender: news@mrsvr.UUCP
Followup-To: comp.sw.components
Lines: 48