Some tasks really can’t be done Agile

Sunday morning here, and I am working on my backlog in preparation for iteration planning tomorrow.

One of the major tasks is that a recent architecture change (that was SUPER for performance) heinously breaks our old model of licensing.  By old, I mean from the early 1990’s.  Way before we had cool stuff like the Internet, and ubiquitous access.  We had bandaged this process along until now.  However, this new change turned it on its head.

We could create a limiting mechanism to replace it with identical functinality (keeping the licensing tied to the server, and emanating from said server), or we could rip this wide open.  Create a special licensing service (either running on the main server, or on its own instance).  This is attractive for many reasons.  As time goes on, the concept of a single server, and a set of components that communicate with it is becoming quaint.  Fast WAN’s, intranets, geographically diverse deployments are becoming standard.  People expect to drop components where their business needs sit.

Cool.  But even the most foundational sub component of this is way too large for a single developer in a single 3 week sprint to accomplish.  And there isn’t really a way for me, as a product owner, to break it down at a high level.  This is going to take our architect probably 6-8 weeks to get built, and with the minimal functional feature set done.

I think we will make this work, but it will make for interesting planning poker tomorrow.