Iteration XII Begins
So today begun our 12th 3-week Iteration on our Agile project. Our 1st Monday of an Iteration is exhausting. We start with a demo to Business and other interested stakeholders around the globe on all the stories we finished the previous Iteration. We recently got in the habit of doing this as this proves more to the stakeholders that we are not only working on the stories but that we are "shipping" or "deploying." The goal of an Agile or XP team is deliver some increment of functionality into production each iteration and we have made that goal much more serious. Since we finally just gotten CruiseControl.NET 1.0 to finally work with the MSBUILD task and finally produce our ClickOnce exe's that was easier (that actually was one of our stories last iteration). Then, I as Lead, run a Retrospective on the last Iteration. We look at six categories, Things that were Enjoyable, Puzzling, Fustrated, Do More Of, do less of, and do the same. Then we vote. Each team member (dev + business + QA - whole team) gets four votes that they can spread on one to 4 items. At the end of the vote, the highest vote getter becomes the thing we work on improving in the upcoming iteration. Some times they are communication things, some times process things but less so technology things.
Following that, comes the hard part that usually take the afternoon. Business presents the stories that they want done for the Iteration to satisfy one or two MMFs that we have targeted. We go through them and then we do Agile Estimation on them. This has been fustrating for us. The really good thing is out of a Retrospective on a past Iteration, Business took on the item that they needed to get much better on specifying enough detail in their stories for us to be able to estimate and eliminate that fustration. I am really happy to say that they came really prepared with excellent level of detail this time around. However, the MMF chosen was pretty involved on the domain level and it took us a while to absorb what we were trying to do. We ended up with only about 6 stories estimated, probably around 1/2.
The other fustration is that as a full Architect on my team (I'm also the “Lead” now too), I practice Just-In-Time Architecture, Agile Modeling, and Agile Architect as well as Code is Model but I code every day just as much as any other member on my team. Although we are trying to do Just-In-Time Architecture, which simply means we don't do a piece of Architecture until stories start to call for it. This is a real struggle for me and for us. I am finding a number of orthogonal cross-cutting software architecture concerns such as Security, Logging, Indigo Security, etc. that need to be addressed and almost require some level of "up front" design at points. The conflict is a bit of a puzzle and I think we have agreed for Sam to go play Architect more this Iteration but we probably need to "inject" Architecture or Infrastructure stories that are not Business stories and will not deliver business value per se. We'll see how it goes.