Loading ...
Sorry, an error occurred while loading the content.
 

Re: [XP] What objections have you heard to doing a spike?

Expand Messages
  • Ron Jeffries
    Hello, Adrian. On Monday, October 1, 2007, at 8:05:26 AM, you ... Sometimes yes, sometimes no. Depends on how long they were, or whether a customer decision
    Message 1 of 36 , Oct 1, 2007
      Hello, Adrian. On Monday, October 1, 2007, at 8:05:26 AM, you
      wrote:

      >> Interesting. I would call them spikes.

      > Would you ask the customer before starting them?

      Sometimes yes, sometimes no. Depends on how long they were, or
      whether a customer decision might differ depending on the answer.

      My guess is that the truly skilled person, if we could find one,
      does spikes all the time and almost never has to ask permission.

      > That's what I've internalised as the difference between a spike and
      > normal development - its something that's potentially not of direct
      > business value to the Customer, and is going to take enough time for
      > the Customer to care about when prioritising work.

      Yes. But tell us some specific kinds of things that are like that,
      if you like, and we can kick them around. I see at least these
      possibilities:

      I can see two ways of doing this and they won't make much difference
      to the duration of the story.

      In this case, I'd just fold the experimentation into the story's
      estimate. OTOH, I'm pretty good at spiking for an hour, not a
      week. But even if I needed a week, I still need to decide, which
      means I still need the information.

      I can see two ways of doing this and if the first one doesn't work,
      the estimate for the story will be much higher.

      In this case, there is business value, namely information as to
      the size of the story. I'd propose the experiment to the customer
      as a way to get the estimate.

      OTOH, we could give the higher estimate, do the spike as part of
      the story, and if it came out on the good side, finish the story
      early. There's some question in my mind whether that is fully
      honest, and we might want to discuss it.

      I thought I'd have more kinds of spike but at this moment everything
      I can think of is one of the above two. How odd ...

      >> And I'm wondering what these
      >> big things are that you are doing. Sounds like they are so large you
      >> "fear" to waste the code. Makes me wonder if they are too large in
      >> some way. We could explore some of them if you like ...

      > Possibly. I may be biased of course but it doesn't feel like fear.
      > Two examples of what I'd call spikes:

      Some people don't like to say "fear". :)

      > * Is a web-based API going to be fast enough to deal with the number
      > of logging requests we're expecting, or are we going to have to give
      > the client boxes direct access to the database we're logging to?
      > Having a web API gives us these advantages, but its useless if it
      > can't cope on the hardware resources we currently have [we spiked
      > code for both options at the same time, binned the DB code and kept
      > the web API when it proved capable]

      Yes. Presumably we'd prefer the Web API. We "fear" that it won't be
      fast enough. In this case, I might well just implement the Web one
      and wait and see. Depends on how different I expect the two
      solutions to be, namely can I plug the faster but more complex one
      in underneath?

      > * Is having inline error messages that appear as the user types in
      > values going to decrease the amount of time spent dealing with user
      > errors [we tried it, turned out it didn't, but we kept the code
      > anyway because people liked this method of error reporting better]

      Sounds like a customer request to me.

      Ron Jeffries
      www.XProgramming.com
      We cannot solve our problems with the same thinking we used when we created them.
      -- Albert Einstein
    • Adrian Howard
      On 3 Oct 2007, at 15:07, Ron Jeffries wrote: [snip] ... [snip] I m pretty sure your definition is more globally accepted than mine. I would imagine that I ve
      Message 36 of 36 , Oct 3, 2007
        On 3 Oct 2007, at 15:07, Ron Jeffries wrote:
        [snip]
        > I was taught by the inventor of the term, whom I may of course have
        > misunderstood entirely, that a spike was an experiment where one
        > quickly blasts through all the levels of some problem, so as better
        > to understand it and its solution.
        >
        > As such, I pull the notion out whenever I see alternatives (or no
        > alternative) and need better understanding.
        >
        > I would try never to do a spike that took a whole day, because I've
        > found that I can usually learn what I need to know in far less time
        > than that. If a spike takes ten minutes, I think that's just fine.
        [snip]

        I'm pretty sure your definition is more globally accepted than mine.
        I would imagine that I've moved from the book definition to mine over
        the years. Silly me.

        Now I think of it - my experimental stories should just be called...
        stories. That's how we treat them after all.

        Adrian (feeling especially dim this week :)
      Your message has been successfully submitted and would be delivered to recipients shortly.