Scrum, lessons learned

a little while back I was raving about Scrum, which in retrospect is funny because we hadn’t even made it through a single iteration. 6 weeks later, we are 1/2 way through our second iteration, and I am somewhat older and wiser.

Long story short, we flailed. The DBA wrote a bunch of opaque code then decided to quit, we spent way more time trying to fix code that was being pushed way past it’s intended limits, and this was the first time we were trying to plan for any period of time past 2 weeks. As a result, our tasks were very vague, like “write new schema — 32 hours”. The only problem was we had a hard deliverable to meet, and we were no where close. We were able to fake the deliverable in a way that didn’t impact any dependent systems, but didn’t even get 1/2 way through our original list.

There was a lot of finger pointing — by everyone except the devs. A lot of fingers were pointed at me, which made sense since I was the one leading the effort. In any case we were pissed, thrashed, and happy the month was over.

Lessons learned:

  1. always break tasks into no longer than 8 hour estimates.
  2. never design and build in the same iteration. The design from a previous iteration should inform the planning for the X next iterations.
  3. Only plan out as far as you feel comfortable with. With this team, the comfort level is about 2 weeks. We made sure that the next two weeks would be very informed by the first two weeks.

This iteration we are cranking. Part of this is due to better defined tasks: it turns out that our failed iteration was spent designing and understanding the scope of a very complex problem, and the first two weeks of this iteration were spent executing what we understand after that design process.

Even though the iteration is ‘officially’ a month long, we are moving and planning in 2 week increments, and this has allowed us to feel much more comfortable about the remaining two weeks.

Finally, we are not designing and building within the same 2 week period. This means that we are not promising fully functional components, we are instead promising well thought out designs, and the first ‘tracer’ implementation of that design (which is tasked out only after the design has been reasonably well understood).

I’m not going to call this iteration a success yet, but we are over 50% burned down and the pace is not slacking. Everyone has something to prove this time out, and probably for the next couple of months.

Advertisements

One Response to Scrum, lessons learned

  1. arunxjacob says:

    An added note: in the first retrospective we had after our flailed effort, there was a lot of criticism about the process, and what it did wrong (“we can’t estimate for a month!”) etc. At one point one of the devs got up, walked to the board, wrote “scrum is not a silver bullet, it only works as well as the team does”.

    I think that is absolutely true. Our first time through scrum showed us that (a) we were bad at estimating, (b) our workflow, which depended on one person to own the schema, was bottlenecked at that one person, and (c) we should have never designed and built in the same iteration. None of these happened ‘because’ of Scrum, but our previous process didn’t expose these critical flaws in the team.

    In short I think that any process that can expose flaws like this must be good. We’ve tried to remedy the flaws above by moving to shorter iterations to enable better scheduling, never doing a design/build in one iteration as mentioned above, and having the schema be collectively owned. And that is just what we learned this iteration. I’m sure we will have more lessons learned in 2 weeks.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: