We finished our first XP iteration last week.
My major observation - watch your estimates. Because the iterations are relativly short, one bad estimate can really fuck you up. One of our stories was initially estimated at 20 bananas, but when we broke it down into tasks, we had nearly 300! Since the first iteration (Acorn) was bound to carry a bit of overhead in terms of infrastructure, we were only intending to schedule 400 bananas for the whole iteration. Doulbling our estimates almost straight away was always going to be a bit of a problem.
(A banana is a an arbitrary unit of time - not an hour, but hopefully not too far from being an hour, either. Establishing what a banana is actually worth - which will take an iteration or two - should give us our velocity.)
Anyway, with a bit of hard graft, we didn't do too badly in the end. We delivered just about everything that we were intending to, bar one missing major function and a few missing system table maintenance functions. Oh yes, and a few missing unit tests, too - bad Simon.
We demoed it to our directors (our internal clients) yesterday. It seemed to go pretty well - everything worked, and after a shakey first five minutes, I even made use of some of the presentation skills I'm supposed to have been taught. I think the directors were more impressed by what we've done than we are!
(In fact, one of the Big Four missed yesterday, so I'll be going through it all again this afternoon with the help of my glamourous assistant, err, I mean my assistant, Tulna.)
Next week, another planning meeting, and round we go again. I'll be keeping a more alert eye on all the estimates this time. ;-)
BTW, here's an XP practice that I'd like to see us put into effect - Beer O'Clock.
Posted to Software development by Simon Brunning at November 01, 2005 01:19 PMI suppose you considered breaking the 200-banana story into two stories. Why was that not possible in this case? If nothing else, the XP approach gave you a way to measure and express the degree of success that you had. In my opinion, the XP Planning Game is one of its most valuable elements.
Posted by: Dave Pinn on November 1, 2005 09:03 PMOut of interest, Simon: which of the XP practices are you using? For example, are you pair programming, having daily stand-up meetings? And which practices are you finding most beneficial?
Posted by: Keith Pitty on November 2, 2005 12:25 AMDave, quite right. Our storied were probably too course grained. We are going to go through all our backlog stories and split then up i we can and check the estimates beffore the next planning meeting. Lessons learned.
We aren't pairing as a matter of course, Keith. There are five of us, and five into two doesn't go. ;-) Besides, the managment hasn't bought into that yet. Perhaps if we can demonstrate that the rest of the radical stuff works, they might look at it again.
Me, I'm convinced - it think that most programmers spend more than half the time goofing off - reading blogs, IMing friends, you name it. Even if pairing simply eradicates that, it'll still be a win!
We do pair up for particulary hairy problems, though.
We have a daily 15 minute stand-up meeting each morning, the 'scrum'. Good, but I think that we could be getting more from them than we have been. There's a fair amount of off topic stuff going on, and we aren't agressive enough at attacking blockers.
Posted by: Simon Brunning on November 2, 2005 09:00 AMWe discovered that pair programming was too intense to do all day every day. Programmers goof off for a reason: they need to let the mind rest. I think pairing should be done for critical components, exploratory stuff; interesting, tricky, important stuff.
Posted by: Dave Pinn on December 24, 2005 03:48 PMExcellent site. It was pleasant to me.
Posted by: us auto insurance quotes on March 17, 2010 11:09 AMI want to say - thank you for this!
Posted by: purchase car insurance online minnesota on March 17, 2010 03:40 PM