At work I currently function as a team leader/developer.
Last week we delivered iteration one of a large project. It was two days late, but I think we did pretty well; we knew from the iteration planning this would be a tough one. It required an exhausting sprint the last four days and nights, something I'd rather not do again.
What went wrong?
* C++ is fragile. Getting everything to work properly with everything else is difficult. It bit us several times, some things taking calendar days to get working. If it wasn't the compiler support in third party libraries, it was the memory allocation or version of STL that didn't want to play nicely.
This was a complete surprise to me, and in the future we will have to do a lot more spike solutions a lot earilier.
* Cooperation with a consultant developer broke down completely due to (I guess) diverging expectations and communication problems. In the future, people being part of the team must work on-site. People peripheral to the team must be given much clearer instructions and more frequent updates.
What went right?
* The team members complemented each other in an excellent way. Among us we had good C++ programmers, good database skills, intimate knowledge about the system, and good toolmakers. And lots of go.
* One team. Having all five of us within ear shot helped a lot to keep everyone in sync. Daily short meetings at 3-4PM kept us focused on the short term.
* Risk management worked. Except for one part of the system that we didn't know much about, I think we managed to keep track of the unknowns and adapt to them. Some things, mostly getting-things-to-work related, were up on the whiteboard a long time before we solved them, and since it took time it was good we started with them early.
of-site?
expectations?
agenda?
What did you do up front to set your delivery date for first iteration?
How did you cope with wearing two hats team-leader/developer?
Re:Sounds like you did ok
jplindstrom on 2004-02-23T19:41:18
Two days late is almost ok for a four week iteration with no slack. But it was a tough decision to delay the delivery. That's another lesson: see the truth and take the consequences, before rather than later. That way you have more time to deal with it.
Regarding the sprint, I'll revise the iteration plan with the delay in mind and with the intention of actually making it without overtime. It actually exhausted us in a few days. I can't imagine doing that for a week, let alone a year like some Marathon Marches of legend. The quality of work must be terrible in a position like that.
I think I wasn't clear enough about the intention we had with the library the consultant developed. And he had an emotional attachment to the code that we didn't realize until too late. In his eyes it was his code, and not something for us to fiddle with.