My discussions with Paul at BMC continued, and I think we arrived at a reasonable conclusion as the thread below illustrates. (You might want to start at the bottom and read to the top.)
Ah, I think you have found the keenest insight on the thread:
” being releasable within the iteration” (and release)
Indeed, when this is accomplished, the decision to release or not is either obvious or moot. You can release now, and again later if need be (subject of course to all the significant issues outside the organization in supporting a release). In general, the date vs scope problem is largely mitigated.
Of course this is based primarily on solid engineering practices, not management practices, and all teams struggle with staying releasable. I would have to say that I do see teams able to release almost weekly (each iteration is indeed a potentially shippable increment of functionality), but I will have to be honest and say that I have never seen a team or application of the scope of performance manager yet achieve that objective. So when it comes to TDD and continuous integration at your scope, you are pioneering new ground, so take a deep breath, and dive back in to “staying releasable”.
From: Beavers, Paul
To: Dean Leffingwell
Thanks for the response and the thought provoking ideas. Your explanation makes sense to me. To be honest what we strugglle with the most is still being releasable within the iteration. If we could fix that issue we would rarely be faced with the end game decision of to ship or not to ship. Seems there is some value in optimizing such that the decision doesn’t even need to be made.