Monday, June 19, 2006

Day Three: the first Iteration begins

So I promised every day I spent on site will be documented here, and so it is. Today we have had the project's first Iteration Planning Game, sad that it's almost a year from the project initiation, but better late than never, or so they say...

Anyway I was late because there was a tram traffic jam, chances are it'll happen like 1:100, but of course I hit the 1, too bad I don't play the lottery, so we started around 10:00.

I read out loud all the 50+ cards that we created last time. We decided which group of them is not blocked by any external constraints (like other teams doing something) and chose a few most important based upon business value, as we (as in "the team") said we have a very good understanding of that. Of course the whole course of my actions is to get the machine running and then mount some test environment that the client may see and give feedback. But one thing at a time. This style of adopting XP is somewhere between cannonball and steadily waltzing into the pool, as things happen quite fast (we're almost out of time) but not all at once.

We then begun decomposing those User Stories into technical tasks on a big whiteboard. Every task was then estimated and taken by an individual. I watched carefully that the people who take them feel confident in how to implement them.

Surprisingly in the battle of decomposition we discovered that two of the stories need to have a more general ancestor that will create a foundation for those two to be done. So we created another Story dividing parts of functionality and responsibilities of those former two. We then tried to decompose the new story into tasks, but we found ourselves unable to divide the main task that was 20h long (a lot compared to others), we didn't know how to divide it. It was a clear sign that we really don't know how to do it, so we can't decompose it nor estimate it. We then decided to postpone this Story till the next Planning Game, and instead scheduled a 2 Gummi Bear long spike solution to be done in this field. I think those decisions were the real highlights of this Planning Game's.

I have to admit, that in the midst of the struggle I almost forgot about the basic principles, but thankfully the team members themselves reminded me the things I've told them earlier, and have put me back on track. What a great team! I hope the managers and the blue sky above want fall on them in the coming weeks.

I'm not sure if I did something wrong, or maybe the team is so talkative, or maybe there was just a need for such a discussion, but this Planning Game took the better part of the day, not much time was left to do any real coding, maybe the team just needs to get used to it and speed up in the future...

I also decided to put the Stories and their tasks into XPlanner. To tell you the truth I'd rather not use it, as the whiteboard is just enough, but I want to collect as much data as possible to use it as hard proof in the future, and XPlanner gives a lot of such data for free, you just need to type the Stories, tasks with their estimates, and then tell him how much time each task took to complete. It's a very simple tool, though it's not "the simplest thing that could possibly work" ie. a whiteboard, I take that risk. If it'll get too much into the way I promise I'll shut it down, but for now I'll try to use it for my own benefit, as I can't do everything at once myself.

Tomorrow I'll also be there, so watch out for new posts, tomorrow I hope to have a normal programming day. And I look forward to try a practice a have never tried in practice :), it's motivation I understand but I fear the Stand-Up Meeting might feel weird .. . But this team has put me in a positive attitude so I'm being brave and I'm going straight ahead ... to bed, nighty night ;)

No comments: