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

XP with one customer and one developer

Expand Messages
  • emilybache <emily.bache@astrazeneca.com>
    Hi, I ve been doing as much of XP as I can manage for about 3 or 4 months now, and it s been working fairly well. I m running into a couple of problems I was
    Message 1 of 13 , Jan 27, 2003
    • 0 Attachment
      Hi,

      I've been doing as much of XP as I can manage for about 3 or 4 months
      now, and it's been working fairly well. I'm running into a couple of
      problems I was hoping to get some advice about:

      - my velocity varies wildly from week to week.
      - my customer doesn't want to make a release plan.

      background:

      I've been doing 1 week iterations, my customer tells me the stories,
      I write them down and estimate them, then he prioritizes them - "this
      iteration", "soon", "sometime". Each week I report how many stories I
      completed and measure my velocity. Because this number varies so
      much, we're not really using it to predict how much I can do the next
      week - I sign up for as many story points as I think I can do the
      next week, based on a vague average of the past two or three weeks,
      and a feeling for how many meetings I will have to go to.

      The software is available as a web application on our company
      intranet, so it is easy to release. I have made about 6 new releases
      so far - I think I'd like to able to make a release every iteration.

      More users are starting to use the software all the time - we are
      going through an internal advertizing process to gradually inform the
      several thousand scientists in our organization who might want to use
      it. We currently have about 150 users.

      I have lots of automated tests, both unit and functional, which cover
      most of the code, except the web gui. The functional tests run every
      night, since they take about 4 hours. The unit tests run in about a
      minute.

      I took over the software from an external consultant, and I have been
      gradually adding tests, refactoring, and re-writing sections of it.
      The code wasn't too bad when I got it, and it was already released
      and in production, but with fewer features and users than it has
      today.

      Pair programming is obviously also a problem, but one that I am
      addressing by trying to get my customer to hire more developers for
      our team. The trouble is that I'm delivering features fast enough to
      keep him happy, so there is no strong argument for adding people :-(
      That's not something I'm asking you guys to do anything about
      though...

      Is anyone else doing XP with only one developer and one customer?
      Does it make sense to increase my iteration length to smooth out my
      velocity? How worried should I be that my customer doesn't want to
      make a release plan?

      Advice gratefully appreciated,

      Emily Bache
    • Ron Jeffries
      ... What can you tell us about what makes your velocity vary? Ron Jeffries www.XProgramming.com = = The Receptive is the most devoted of all things in the
      Message 2 of 13 , Jan 27, 2003
      • 0 Attachment
        On Monday, January 27, 2003, at 5:55:36 AM, emilybache <emily.bache@...> wrote:

        > - my velocity varies wildly from week to week.

        What can you tell us about what makes your velocity vary?

        Ron Jeffries
        www.XProgramming.com
        = = The Receptive is the most devoted of all things in the world.
        = = The expression of its nature is invariably the simple,
        = = in order to master the obstructive.
      • emilybache <emily.bache@astrazeneca.com>
        ... weekly velocity in story points: 3, 3.5, 3, 3.5, 1.5, 2.5, 3.5, 0, 5, 3, .5, 2.5, 1.25, 0, 5, .5, 1 My largest stories are 2 points, going down to 1/4
        Message 3 of 13 , Jan 27, 2003
        • 0 Attachment
          --- In extremeprogramming@yahoogroups.com, Ron Jeffries
          <ronjeffries@a...> wrote:
          > On Monday, January 27, 2003, at 5:55:36 AM, emilybache
          <emily.bache@a...> wrote:
          >
          > > - my velocity varies wildly from week to week.
          >
          > What can you tell us about what makes your velocity vary?

          weekly velocity in story points:
          3, 3.5, 3, 3.5, 1.5, 2.5, 3.5, 0, 5, 3, .5, 2.5, 1.25, 0, 5, .5, 1

          My largest stories are 2 points, going down to 1/4 point for the
          smallest ones. In the two iterations where I have completed no
          stories, the first time it happened it was because we had an
          important demo that was in the middle of an iteration, so I ignored
          the previous iteration end, and got the product ready for the demo
          instead. Then all the stories got completed in the following
          iteration.

          The second time I was trying to do a two point story and it didn't
          fit into the iteration, and got completed in the next one. This was
          the last week before Christmas, and I was really tired. When I came
          back, it looked much easier, and I got a lot done. Then I got ill and
          had lots of meetings the following week.

          Other things that make my velocity vary are like when I make a
          release to live, it takes time to do. I'm wondering whether to assign
          it 1/2 story point, since I don't do it every week. I also get less
          new functionality done when I'm working on improving my testing
          framework and automating stuff like the night job and the release
          process.

          Sometimes my estimates are no good, too. I'm particularly worried for
          this coming iteration because I have a big two point story that I
          broke down into tasks and I now think will take 3 points. I'm
          thinking about increasing my iteration length to two weeks so I can
          fit it in.

          What do you think?

          Emily
        • Ron Jeffries
          ... Sounds like mostly your velocity is varying due to overhead, and that your estimates are fairly good with the exception you list above. Your notion of
          Message 4 of 13 , Jan 27, 2003
          • 0 Attachment
            On Monday, January 27, 2003, at 7:26:25 AM, emilybache <emily.bache@...> wrote:

            > Sometimes my estimates are no good, too. I'm particularly worried for
            > this coming iteration because I have a big two point story that I
            > broke down into tasks and I now think will take 3 points. I'm
            > thinking about increasing my iteration length to two weeks so I can
            > fit it in.

            > What do you think?

            Sounds like mostly your velocity is varying due to overhead, and that your
            estimates are fairly good with the exception you list above.

            Your notion of scheduling certain kinds of overhead, like builds, is a good
            one.

            When priorities change, I would get the customer to cancel the previous
            priorities, so that it is their decision to work on the other stuff, not
            mine.

            I recommend breaking stories down into tasks at iteration planning time, so
            that the discovery can be made with the customer present, and the customer
            can decide what to do. If the task breakdown says the story is too big, it
            needs to be made smaller somehow.

            If you want to always go to a two-week iteration, it might stabilize how
            much you get done, but it could reduce feedback to your customer. i would
            not recommend extending iterations as a matter of course, because i like
            the customer to learn how to fit their needs into finite time. The
            customer's real job is to fit ten pounds of ideas into a five pound
            period of time, so the more practice they get, the better.

            Ron Jeffries
            www.XProgramming.com
            XP says: Don't just sit on your DUF, do something. Get some feedback.
          • emilybache <emily.bache@astrazeneca.com>
            ... that your ... is a good ... ok, thanks. I will count a release as 1/2 point and see if that help stabilize my velocity a bit. ... previous ... stuff, not
            Message 5 of 13 , Jan 27, 2003
            • 0 Attachment
              --- In extremeprogramming@yahoogroups.com, Ron Jeffries
              <ronjeffries@a...> wrote:
              > Sounds like mostly your velocity is varying due to overhead, and
              that your
              > estimates are fairly good with the exception you list above.
              >
              > Your notion of scheduling certain kinds of overhead, like builds,
              is a good
              > one.

              ok, thanks. I will count a release as 1/2 point and see if that help
              stabilize my velocity a bit.

              >
              > When priorities change, I would get the customer to cancel the
              previous
              > priorities, so that it is their decision to work on the other
              stuff, not
              > mine.

              Yes, agreed. With the demo it wasn't that the priorities changed, it
              was that the deadline was the demo not the end of the iteration. So
              stuff wasn't finished by the end of the iteration, and all the points
              got counted on the next iteration after the demo.
              >
              > I recommend breaking stories down into tasks at iteration planning
              time, so
              > that the discovery can be made with the customer present, and the
              customer
              > can decide what to do. If the task breakdown says the story is too
              big, it
              > needs to be made smaller somehow.

              Yes. In this case I've actually done the task breakdown in advance of
              the meeting, because I know this story is up next. I'll talk to my
              customer about re-estimating and breaking up the story instead of
              lengthening the iteration.

              I don't find I have many stories I bother to break into tasks, but
              for those that I do, thank you for reminding to do it when the
              customer is present. :-)

              >
              > If you want to always go to a two-week iteration, it might
              stabilize how
              > much you get done, but it could reduce feedback to your customer. i
              would
              > not recommend extending iterations as a matter of course, because i
              like
              > the customer to learn how to fit their needs into finite time. The
              > customer's real job is to fit ten pounds of ideas into a five pound
              > period of time, so the more practice they get, the better.

              That's helpful advice, thankyou. I like having 1 week iterations,
              because things feel more under control, and it means I have a good
              talk with my customer at least once a week. We sit in the same room,
              but it is quite a large room, and he is out of the office a fair
              amount. I'm just concerned that large stories might not fit into one
              iteration, and it's hard to predict whether it will or not when my
              velocity varies so much.

              I will see how it goes with my velocity and report back later whether
              it stabilizes more now I count doing a release as 1/2 a story point.
              I'm still concerned that my customer is only planning stories one or
              two iterations ahead, and has no tangible release plan. Do you have
              any advice about that? Or should I try to stabilize my velocity
              before I ask my customer to do some more long range planning?

              Thanks for the help,

              Emily
            • Karl Scotland
              ... We use 1 week iterations, and our velocity varies as you describe from week to week. I considered increasing the iteration length to see if it stabilised
              Message 6 of 13 , Jan 27, 2003
              • 0 Attachment
                > -----Original Message-----
                > From: emilybache <emily.bache@...>
                >
                > Is anyone else doing XP with only one developer and one customer?
                > Does it make sense to increase my iteration length to smooth out my
                > velocity? How worried should I be that my customer doesn't want to
                > make a release plan?
                >

                We use 1 week iterations, and our velocity varies as you describe from week
                to week. I considered increasing the iteration length to see if it
                stabilised velocity, but priorities change so quickly here, I don't like the
                idea of losing the weekly feedback. Instead, I chart the average of the
                last 5 weeks velocities in Excel. Interestingly (and to my delight and
                surprise) this gave me a flat line. So I now get the benefit of the rapid
                feedback given by 1 week iterations, with the more stabilised velocity of
                longer iteration.

                Karl


                BBCi at http://www.bbc.co.uk/

                This e-mail (and any attachments) is confidential and may contain
                personal views which are not the views of the BBC unless specifically
                stated.
                If you have received it in error, please delete it from your system, do
                not use, copy or disclose the information in any way nor act in
                reliance on it and notify the sender immediately. Please note that the
                BBC monitors e-mails sent or received. Further communication will
                signify your consent to this.
              • emilybache <emily.bache@astrazeneca.com>
                Hi Karl, That s a really good idea. I just got excel out and plotted my velocity and the 5 week moving average as you describe. I also looked up my records and
                Message 7 of 13 , Jan 27, 2003
                • 0 Attachment
                  Hi Karl,

                  That's a really good idea. I just got excel out and plotted my
                  velocity and the 5 week moving average as you describe. I also looked
                  up my records and gave myself an extra half a point for each week I
                  did a release in, and things are looking much better. :-)

                  The moving average isn't completely flat, but it is going to be much
                  more useful for prediction purposes than my actual velocity. I
                  actually plotted the 3 week moving average as well, and I think I
                  will try using that for the moment. I know my velocity was dropping
                  in the weeks leading up to Christmas, and the five week average
                  disguises that, whereas the 3 week average doesn't.

                  Thanks for the help!

                  Emily Bache

                  --- In extremeprogramming@yahoogroups.com, Karl Scotland
                  <karl.scotland@b...> wrote:
                  > We use 1 week iterations, and our velocity varies as you describe
                  from week
                  > to week. I considered increasing the iteration length to see if it
                  > stabilised velocity, but priorities change so quickly here, I don't
                  like the
                  > idea of losing the weekly feedback. Instead, I chart the average
                  of the
                  > last 5 weeks velocities in Excel. Interestingly (and to my delight
                  and
                  > surprise) this gave me a flat line. So I now get the benefit of
                  the rapid
                  > feedback given by 1 week iterations, with the more stabilised
                  velocity of
                  > longer iteration.
                • William Pietri
                  ... I m curious why you are worried about this, Emily. Especially if you make release the current version a half-point story, it sounds like you have
                  Message 8 of 13 , Jan 27, 2003
                  • 0 Attachment
                    On Mon, 2003-01-27 at 05:22, emilybache wrote:
                    >
                    > I'm still concerned that my customer is only planning stories one or
                    > two iterations ahead, and has no tangible release plan. Do you have
                    > any advice about that? Or should I try to stabilize my velocity
                    > before I ask my customer to do some more long range planning?

                    I'm curious why you are worried about this, Emily. Especially if you
                    make "release the current version" a half-point story, it sounds like
                    you have releases pretty well under control. What negatives are you
                    noticing from not doing release plans?


                    William


                    --
                    William Pietri <william@...>
                  • emilybache <emily.bache@astrazeneca.com>
                    ... or ... have ... like ... I guess it s mostly that this is cited as a common pitfall with XP - that the customer loses track of the big picture and just
                    Message 9 of 13 , Jan 28, 2003
                    • 0 Attachment
                      --- In extremeprogramming@yahoogroups.com, William Pietri
                      <william@s...> wrote:
                      > On Mon, 2003-01-27 at 05:22, emilybache wrote:
                      > >
                      > > I'm still concerned that my customer is only planning stories one
                      or
                      > > two iterations ahead, and has no tangible release plan. Do you
                      have
                      > > any advice about that?
                      > I'm curious why you are worried about this, Emily. Especially if you
                      > make "release the current version" a half-point story, it sounds
                      like
                      > you have releases pretty well under control. What negatives are you
                      > noticing from not doing release plans?
                      >

                      I guess it's mostly that this is cited as a common pitfall with XP -
                      that the customer loses track of the big picture and just picks nice
                      features from week to week. Then they lose the opportunity to make
                      large changes, and/or keep ahead of the competition. Specifically for
                      me, I'm just worried that a lack of a long term plan means there will
                      never be a release planning meeting where we come up with a business
                      case for taking on new developers onto the team. I don't want to be a
                      lone developer on this project forever - I want to learn to pair
                      program :-)

                      I did talk to my customer about this a bit today, and he seems
                      receptive to the idea of longer term planning, but wants to get some
                      more feedback from end users before he decides what big new features
                      are needed and how quickly they need to be put in. I guess I just
                      need to be a bit patient and remind him again in a few iterations.

                      Cheers,
                      Emily
                    • Ron Jeffries
                      ... I think you re right to be concerned. It doesn t take long to create a release plan. Just sit with customer, take all stories, mark iterations across the
                      Message 10 of 13 , Jan 28, 2003
                      • 0 Attachment
                        On Tuesday, January 28, 2003, at 11:04:10 AM, emilybache <emily.bache@...> wrote:

                        > I guess it's mostly that this is cited as a common pitfall with XP -
                        > that the customer loses track of the big picture and just picks nice
                        > features from week to week. Then they lose the opportunity to make
                        > large changes, and/or keep ahead of the competition. Specifically for
                        > me, I'm just worried that a lack of a long term plan means there will
                        > never be a release planning meeting where we come up with a business
                        > case for taking on new developers onto the team. I don't want to be a
                        > lone developer on this project forever - I want to learn to pair
                        > program :-)

                        > I did talk to my customer about this a bit today, and he seems
                        > receptive to the idea of longer term planning, but wants to get some
                        > more feedback from end users before he decides what big new features
                        > are needed and how quickly they need to be put in. I guess I just
                        > need to be a bit patient and remind him again in a few iterations.

                        I think you're right to be concerned. It doesn't take long to create a
                        release plan. Just sit with customer, take all stories, mark iterations
                        across the table, allocate stories to iterations. Mark the desired ship
                        date, see what it looks like. Move cards around.

                        I would suggest that it should be done often. The first one will help focus
                        the customer on what to ask the end users. Maybe you should couch the first
                        one as a practice session, or just something to help YOU get the big
                        picture. Any workable excuse will do.

                        Ron Jeffries
                        www.XProgramming.com
                        Speculation or experimentation - which is more likely to give the correct answer?
                      • emilybache <emily.bache@astrazeneca.com>
                        ... create a ... iterations ... ship ... Thanks, Ron. It s good to get a little reassurance and encouragement to do something about this. I ll talk to my
                        Message 11 of 13 , Jan 28, 2003
                        • 0 Attachment
                          --- In extremeprogramming@yahoogroups.com, Ron Jeffries
                          <ronjeffries@a...> wrote:
                          > I think you're right to be concerned. It doesn't take long to
                          create a
                          > release plan. Just sit with customer, take all stories, mark
                          iterations
                          > across the table, allocate stories to iterations. Mark the desired
                          ship
                          > date, see what it looks like. Move cards around.

                          Thanks, Ron. It's good to get a little reassurance and encouragement
                          to do something about this. I'll talk to my customer.

                          Cheers,
                          Emily
                        • Bill Wake <william.wake@acm.org>
                          Hi, Emily - ... I d suggest trying to understand why this is. Some possibilities: * Your hours devoted to the project each week are varying wildly * Your
                          Message 12 of 13 , Feb 3, 2003
                          • 0 Attachment
                            Hi, Emily -

                            > - my velocity varies wildly from week to week.

                            I'd suggest trying to understand why this is. Some possibilities:
                            * Your hours devoted to the project each week are varying wildly
                            * Your estimates are off

                            If it's the former, you should probably find a way to understand
                            why, and expose the effects to your customer. (For example, perhaps
                            you have to attend "mandatory" but pointless meetings.) As the sole
                            programmer, you'll have more impact from this than a bigger team
                            might.

                            If it's the latter:
                            * What stories tend to be mis-estimated?
                            Long stories, the reports, ones that touch the database, etc.

                            I've seen a couple teams realize that they're just not that good at
                            estimates over a certain point; if it's bigger, they split the
                            story.

                            I don't know if you followed the discussion on making "absolute"
                            time estimates, but you might try that & see if you learn anything.

                            Two things I saw kicked around that I'd actually recommend against:
                            * I wouldn't lengthen the iteration
                            * I wouldn't use the rolling average type stuff

                            (The effect of a 3-week average is to make each bit of
                            variation "count" for 1/3 as much. It makes you feel better, but it
                            doesn't get to the root of any problems.)

                            I don't think it's unfair of you to say "making a release costs 1/2
                            point" but I'd regard that as "waste" and look for ways to make it
                            cheaper over time.


                            > - my customer doesn't want to make a release plan.
                            I always think of the old joke with the punchline, "I don't have to
                            outrun the bear, I just have to outrun you." As long as the customer
                            is a story ahead of you, you're ok in the sense of "you'll stay
                            busy". But this may not be enough for the overall health of the
                            project as seen from outside. (Some projects may be ok with just the
                            short-range window, but that's often not the way projects are
                            typically funded or planned a level or two up.)

                            Regards,
                            Bill Wake William.Wake@... www.xp123.com
                          • Ron Jeffries
                            ... Yes. I have seen customers who added features in what seemed a sensible order, but did not organize them for a release on a date that upper management
                            Message 13 of 13 , Feb 3, 2003
                            • 0 Attachment
                              On Monday, February 3, 2003, at 8:41:23 PM, Bill Wake <william.wake@...> wrote:

                              >> - my customer doesn't want to make a release plan.
                              > I always think of the old joke with the punchline, "I don't have to
                              > outrun the bear, I just have to outrun you." As long as the customer
                              > is a story ahead of you, you're ok in the sense of "you'll stay
                              > busy". But this may not be enough for the overall health of the
                              > project as seen from outside. (Some projects may be ok with just the
                              > short-range window, but that's often not the way projects are
                              > typically funded or planned a level or two up.)

                              Yes. I have seen customers who added features in what seemed a sensible
                              order, but did not organize them for a release on a date that upper
                              management considered a drop dead date. The project subsequently dropped
                              dead.

                              Ron Jeffries
                              www.XProgramming.com
                              Speculation or experimentation - which is more likely to give the correct answer?
                            Your message has been successfully submitted and would be delivered to recipients shortly.