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.
- always break tasks into no longer than 8 hour estimates.
- never design and build in the same iteration. The design from a previous iteration should inform the planning for the X next iterations.
- 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.