Andrew Lentvorski wrote:
The real slowdown comes when you shift from clean slate development to
maintenance. I can write 100+ lines of code per hour when I start
out. However, then I start having to debug things. Suddenly, my
lines of code per hour drops like a stone.
Maintenance always means fewer lines of code, but one measures progress
of a development project against historical norms. I've actually done
maintenance on an XP project before, and I feel quite confident in
saying that I was much more productive than normal.
Thus, my gripe about the C3 system the XP guys use as a "success".
You look really productive picking off the easy bits with a clean
slate. However, code spends most of its life in maintenance mode where
you wind up writing about 5 lines of code an hour because you have to
think and hunt for quite a while before you can even begin to code.
It was a new project (and keep in mind the project had been going for
over a year before they were on the project, let alone before they were
practicing anything resembling XP) therefore it can't be a "success"?
When you're in maintenance mode, the most significant impact on your
productivity tends to be the processes that were in place even before
you reached that stage. I'd argue that you'd need a project that had
been developed using XP methods and then went in to maintenance mode to
really get an accurate judge of it's efficacy. C3 was where the method
was invented, so it's not going to be a good candidate. VCAPS is better,
and from what I understand it had a long and glorious run in maintenance
mode.
In general, I don't see why you'd think that XP would be particularly
bad in this mode. Most of the things that are important for maintenance
are actually covered very well by the method. You've got regression
tests, you've got shared knowledge of the code base, you've got docs and
such that actually reflect the state of the system, you've got lots of
reasons to believe that you'll have a low defect rate, etc. Heck, if you
think about how XP development works, most of the development process is
around refactoring, and with unit tests you also have finding/fixing
bugs going on, so it seems like it's development process would more
closely resemble maintenance mode than most.
Any particular reason why you'd assume it'd be bad once you got in to
maintenance mode?
--Chris
--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg