Hi Steven and Ben,
I think it's best to compare XP style planning and whatever
other means one has been using, with comparable information.
If the original spec is weak, no scheme will give a good estimate,
and XP's may be better because it focuses on what is known about the
time to actually build software rather than a broader notion. The XP
project is also likely to perform better against the perceived need,
because it adapts to that need as it goes along, and because the
more waterfall-style project learns less in the early stages, and is
thus unable to adapt.
I'll comment a bit below, in the light of my thinking above.
Ron Jeffries
www.XProgramming.com
If there's only one answer, then this must not be a very interesting topic.
Tuesday, September 13, 2005, at 5:45:32 PM, Steven Gordon wrote:
Either you or I are mixing XP up with some other way of doing software
development.
Under my understanding of XP, one could make an rough estimate against some
spec in order to help management decide whether the project was worth
starting,
and so could any other process, I would think we'd agree
but with the explicit understanding that:
1. The "go/no go" decision should be reviewed again after every few
iterations anyway, given the continually improved information about what the
project really entails and how much progress is being made.
Yes, and the XP project actually focuses on delivering software, so
that the go/no go decision can be made more effectively. (Plus, if
the software is actually shippable, which it is supposed to be, more
value is likely to be salvaged.)
Note that this topic is not unrelated to the discussion with Ken
Boucher and others about waterfall and whether iterative is
preferable. I think it is, and the above is part of why.
2. Much of the requirements in any traditional upfront spec consist of
features that will be discovered to be totally unnecessary when working
software is delivered in business value order iteratively to customers who
then rethink what they need.
While we might quibble over how much is "much", I agree. However,
the people with whom we debate these topics do not grant that. They
believe that it is possible to have a solid spec, and that "this
time" they will. They are comparing an ideal to reality, and ideals
usually win in that comparison.
I'm not sure what one does about this, though I've had a lot of
rueful smiles in response to a question I learned from KB: "How's
that working out for you?"
3. Iterative delivery will also lead to the discovery of new requirements
that will displace much of the initial spec.
Yes, subject to similar comments as just above
Therefore, the "need to understand the horizontal stories and vertical
tasks" as they exist at project estimation time is time that will NT need
to be spent at some later point in time. It is a big waste of time and
resources. Much more will be discovered during the first iteration of
development.
Agreed, but the big process idealists will not agree. Not clear what
one does about this.
Furthermore, one would NT track progress against the initial estimate, but
rather track progress against features being delivered, and perhaps their
value to the customer.
Yes. I think this is an important point and there should be a good
way to turn it to our advantage, though I don't see it right this
second.
If your particular management forces you to waste effort creating a plan at
a level of detail that is not supported by the information available at the
beginning of a project and then track progress against that initial plan,
then your particular management is not letting you do XP.
True but they might do it, and if they do, XP is probably still
one of the best strategies you can adopt. Would you agree?
Regards,
R
To Post a message, send it to: extremeprogramming (AT) eGroups (DOT) com
To Unsubscribe, send a blank message to: extremeprogramming-unsubscribe (AT) eGroups (DOT) com
ad-free courtesy of objectmentor.com
Yahoo! Groups Links
<*To visit your group on the web, go to:
<*To unsubscribe from this group, send an email to:
extremeprogramming-unsubscribe (AT) yahoogroups (DOT) com
<*Your use of Yahoo! Groups is subject to: