On Jun 27, 2007, at 11:21 PM, Patrick A. wrote:
so when dealing with a client in real life, we still have to define
a price before each iteration which implies that applying agile in
real life when not in-house is impossible? as not having a fixed-
price is one of the most important thing in agile (because it
allows flexibility etc) and if we don’t have that do we still have
agile? because even if we can work in small iterations and all
that, if we have a fixed-price before each iteration then we still
can get screwed.
You can have a fixed RATE and that can be for an iteration rather
than an hour. The key is that you are negotiating SCOPE and EFFORT
for the iteration. The client lays out the features (“stories” if
you’re XP) to be considered for the next iteration, you attach an
effort estimate to each feature, the total effort available during
the next iteration is “fixed” (typically, your accuracy on this
effort amount goes up as you get some experience with the client,
project, and your own ability), and the client picks the set of
features so that the sum of the effort fits into the allotted limit
for the iteration.
One thing some clients have a hard time understanding is that every
change is “equal” – it doesn’t matter if it is a change to something
delivered (correctly!) in a prior iteration, a brand-new feature, or
ripping something out – each thing gets an estimate.
If done well, the client has the benefit of being able to consider
the project “done” at any time. Of course, that may be one of your
definitions of “getting screwed”, but so long as the client sees that
value is being added to the project (and you’re satisfied with your
estimated versus actual effort), you’re more likely to get to a state
that both of you call “done”.
Rob B. http://agileconsultingllc.com