Paul writes:

>   A.  "Ship it" ... Include the feature, even though it only half-works.
>   B.  "Next release" ... Leave it out, and release it when it Just Works.
>   C.  "Stall" ... Hold this release indefinitely, until it Just Works.
>
>That's the $64,000 question -- A or B or C?  With arguments, if you please.
>:-)

Well, here's my tale, though many already know it. My opinions differ 
slightly, yet significantly from Paul's. I'm mostly in the "B" camp, but 
with some special exceptions-

"A" is simply not acceptable. However, I'd apply some metric to the feature 
to see if it worked "acceptably." Acceptably might be 99.99% but not 100%. 
Few things will ever pass this metric, though I believe that it's important 
to evaluate each on a feature-by-feature basis.

"B" has its merits. Things need to get prioritized, moved up, back, etc... 
Things should get released when they work *and* meet a set of 
pre-established criteria, such as a feature matrix or roadmap, milestone, 
etc... It is _extremely_ important to have such milestones, requirements 
gathering, specs, etc... so that one knows what he/she is working toward, 
and what exactly has been decided to be considered a "X.Y.Z" release.

"C" also has its merits, depending on the percieved value/importance of the 
feature. Some things are simply worth holding up a release cycle for. 
Granted, not a whole lot of things make this category, but some quite 
important things can and eventually will. And I'm all in favor of making 
accomodations, where appropriate. Again, I use the metric & case-by-case 
example as in "A"

Feel free to disagree, but "With arguments, if you please.:-)"

Dom

_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com


Reply via email to