Hyderabad - Day 12, Launching an agile Team
Well, as we hoped, the team has, at least, embraced a couple of agile tenets in our quest to bring agile development techniques to our client. Despite protestations from numerous people in the PMO, we managed to institute a daily build process. Yes, it is hard with MOSS, InfoPath, and custom web parts, to do so. While there is a way to do it surely, we have not quite found a way to accomplish it. No matter, since we have a manual process for doing a daily build that, while not ideal, probably is good enough for now. Of course, given we have a daily call with the PMO, I will at least make them lie and say they did a daily build every day, or at least explain why they did not.
The whole team did not stick with pair programming after a couple days, though we did manage to get two pairs to continue to do it. Like many others have experience with (or so I am told) - getting these things to stick can be tricky - it is all too easy to get back into bad habits.
Speaking of bad habits, the impulse to try to "negotiate scope with the business" drives me nuts. We got a couple of people trying to do that, and it is hard to explain how silly that sounds to business people who have a defined need. They are called requirements for a reason. We developers sometimes get to thinking we are smarter than we are... deciding that we are the best judge of what a business needs. It is our job to estimate in a manner that allows us to get around the technical obstacles - even plan for them - rather than just complain to the business in a "But it's Hard... whine, whine, whine" .. kind of way. Not that there are legitimate reasons why we can't say something is not possible (i.e. you asked me to make this code automatically transcribe Hindi to Russian ... not really possible within scope, and frankly, not sure I know how to write a unit test for it.) - but for most mundane stuff, there is usually a way to get it done (i.e. make an InfoPath table autonumber when you add a new row is hard? - you gotta be kidding me...)
That stuff aside (it would not be an interesting blog if I didn't ever try to enumerate what is hard about teaching agile) - we do have working code on a daily basis. We are ahead of schedule, and the business stakeholders are more than happy with the progress. In one week, we went from zero to system with most of the parts there, some of which are actually integrated.
We have, more or less, 2 weeks and a couple days to go. I will not comment about success of failure until we get user acceptance on July 24 or earlier. That said, things are looking up. We have launched the team, and now we are working strictly via conference call and LiveMeeting, we have to hope that the "launched vessel" will, in fact, reach it's destination. I am confident that it will... but results matter, not hope.