logo       

Re: Manifesto for Agile Software Maintenance: msg#00081

programming.language-of-the-year

Subject: Re: Manifesto for Agile Software Maintenance

--- "Ged Byrne" <gedb-JAuqNdr32XA@xxxxxxxxxxxxxxxx> wrote:
> I think that there should be a Manifesto for Agile Software
> Maintenance. This could offer a practical route into large
> organisations for agile methods.

You've come to the right place. Dave Thomas wrote: "All programming is
maintenance
programming, because you are rarely writing original code." See "Orthogonality
and the
DRY Principle" here:

http://www.artima.com/intv/dry.html

I also prefer maintenance programming over new development. Maintenance
programming
lets you focus on solving specific problems and refactoring/rewriting code that
is at least
somewhat understood by the user. New development projects almost always get
bogged
down in the requirements - specification - meeting loop, or in arguments within
the team
about exception hierarchies and whether triggers or evil or not, or something
like that.

Explaining and deciding usability or technical issues with a non-technical
client gets
tedious very fast. But when you're fixing something they are already dependent
on, and
you can deliver results, they are always pleased, and they usually don't care
to know the
details. And I've yet to come across a non-trivial software application
(including my own)
that I can't improve in some way that a client will find valuable.

More mercenary reasons for my preference are that I'm usually left alone to fix
or maintain
code, and as long as the code gets more stable and useful over time the
customer is
happy. And it's much easier to charge by the hour when you're maintaining code
someone
else wrote. As a consultant/contractor clients usually want a fixed-fee bid for
new
projects, but have no problem with open-ended hourly work to fix their deployed
applications. Asking a new client to risk a couple of thousand dollars at
$100/hr while you
fix a broken database or slow application is a lot safer for both parties than
a big
expensive new development project.

I have had done quite a few big projects that started out as bug fixes or
performance
improvement, or upgrades to new hardware. The clients get ridiculous bids for a
complete
replacement, which they can't afford, so they instead decide to work on what
they have.
Instead of getting the $10,000 project up front I get it in regular
installments over time.

I think agile techniques fit into maintenance work nicely, and the techniques
are an easier
sell to a client looking for pain relief. Selling a client on source code
control is much easier
after they've experienced the pain of not having a system in place, for example.

And there's a lot more work out there if you're willing to wade through the
muck.

Greg Jorgensen
PDXperts LLC - Portland, Oregon USA




------------------------ Yahoo! Groups Sponsor --------------------~-->
Yahoo! Domains - Claim yours for only $14.70
http://us.click.yahoo.com/Z1wmxD/DREIAA/yQLSAA/nhFolB/TM
--------------------------------------------------------------------~->


Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/pragprog/

<*> To unsubscribe from this group, send an email to:
pragprog-unsubscribe-hHKSG33TihhbjbujkaE4pw@xxxxxxxxxxxxxxxx

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/





<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise