<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Recall class</title><link>http://blogs.msdn.com/b/cyrusn/archive/2005/03/17/397321.aspx</link><description>So in our drive to get beta2 out the door we've been continuously raising the bar on what sort of changes are allowed to the codebase. As you can well imagine there is risk with pretty much any change and at a certain point the need to keep the product</description><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title> Cyrus Blather Recall class | bar stools</title><link>http://blogs.msdn.com/b/cyrusn/archive/2005/03/17/397321.aspx#9780518</link><pubDate>Fri, 19 Jun 2009 09:29:59 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9780518</guid><dc:creator> Cyrus Blather Recall class | bar stools</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://barstoolsite.info/story.php?id=1362"&gt;http://barstoolsite.info/story.php?id=1362&lt;/a&gt;&lt;/p&gt;
&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9780518" width="1" height="1"&gt;</description></item><item><title>re: Recall class</title><link>http://blogs.msdn.com/b/cyrusn/archive/2005/03/17/397321.aspx#398570</link><pubDate>Fri, 18 Mar 2005 14:22:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:398570</guid><dc:creator>AndrewSeven</dc:creator><description>For a beta, that problem would be ok, after all it encourages you to use polymorphism instead of switches ;)&lt;br&gt;&lt;br&gt;I'm only using Beta1 at home, but so far I haven't noticed anything near that level.&lt;br&gt;&lt;br&gt;Off topic : When you type a method name that doesn't exist, there is a smart tag thingy that appears to generate a method stub. &lt;br&gt;Is there a way to generate a property stub the same way?&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=398570" width="1" height="1"&gt;</description></item><item><title>re: Recall class</title><link>http://blogs.msdn.com/b/cyrusn/archive/2005/03/17/397321.aspx#398416</link><pubDate>Fri, 18 Mar 2005 04:29:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:398416</guid><dc:creator>Jeff Atwood</dc:creator><description>Your &amp;quot;hypothetical&amp;quot; examples are scaring me.&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=398416" width="1" height="1"&gt;</description></item><item><title>re: Recall class</title><link>http://blogs.msdn.com/b/cyrusn/archive/2005/03/17/397321.aspx#398332</link><pubDate>Fri, 18 Mar 2005 00:41:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:398332</guid><dc:creator>Steve Hall</dc:creator><description>For the above hypothetical example, I would expect that such a &amp;quot;trivial&amp;quot; bug to be &amp;quot;prevalant&amp;quot;.  I.e., the MTTF (mean-time-to-finding it) would be hours after the beta gets posted on MSDN.  And it probably wouldn't be just a single user...&lt;br&gt;&lt;br&gt;I think the problem here is the terminology you used to categorize the problem:  &amp;quot;trivial&amp;quot;.  I don't think ANY user would classify such a problem using that word when they encountered it.  (I can think of other more crass swear words though...)  The risk assessment must be more objective than using flippant (and emotionally charged) words like &amp;quot;trivial&amp;quot;.  In short, your idea of trivial is not going to be another person's definition.  Stay away from using those kind of words!&lt;br&gt;&lt;br&gt;In good problem tracking systems, there should always be two separate rankings:  priority and severity.  In fact, IBM codified severity ranking decades ago which has been in use in thousands of data-centers for over 30 years:  1=Severe, 2=Serious, 3=Moderate, 4=Low.  Most data-centers added a 5=Wish-list to account for problems that would be &amp;quot;nice to solve at some point in the future&amp;quot;.  (Note that IBM published very explicit definitions in the '60's to ensure that all customers were in sync with them and these definitions are still in use for all their software and hardware problems.)  The priority ranking would go from 1 to 4 or 5 to indicate the order in which problems were to be diagnosed and solved.  Typically, priority 1 problems would be solved first, and in ascending severity order.  .E.g., priority1/sev1 problems solved first, priority1/sev2 problems next, etc.&lt;br&gt;&lt;br&gt;Given the above scheme, the above hypothetical problem would be ranked severity 2, since the app. completely fails (but can be circumvented).  (If the app. failed repeatedly and there was no circumvention or work-around, then it would be severity 1.  &amp;quot;Sev1&amp;quot; problems are those that are an &amp;quot;outage&amp;quot; and require vendor-intervention.)&lt;br&gt;&lt;br&gt;Essentially, the severity ranking quanitifies the prevalance of the problems, i.e,. how many customers are likely to encounter the problem and the resultant &amp;quot;outage&amp;quot;.&lt;br&gt;&lt;br&gt;If for instance, the IDE were, instead of failing, to display an error and continue running, then that would be a severity 3 problem since the application recovered.  Only if the IDE were to recover from the erroneous error state and resume running WITHOUT functional errors, could it be expected to be termed severity 4...which could be called &amp;quot;trivial&amp;quot;.&lt;br&gt;&lt;br&gt;The above hypothetical error is certainly NOT severity 4 (what you're calling &amp;quot;trivial&amp;quot;).&lt;br&gt;&lt;br&gt;Now some have argued over the decades that severity should be broken into it's two determinant components:  prevalance and error-result.  And some problem tracking systems have actually implemented that.  But, experience has shown that a dual-ranking is sufficient for most problem domains.  A tri-ranking problem domain introduces more complexity in arguments over whether the sort-key (order of problem solving) should be priority-prevalance-errorresult or priority-errorresult-prevalance. &lt;br&gt;&lt;br&gt;Now getting back to the notion of a beta recall, you need to decide what the pain-threshold is for back-tracking to fix embarassing seemingly &amp;quot;trivial&amp;quot; bugs.  This is why you should have priority ranking system in place.  Then it becomes simple to define a recall rule like this:  Recall a beta if any priority1/sev1 bugs appear within the first 3 days after release.  For the above hypothetical case, even though the bug could be classified as priority 1, because it's a severity 2 problem, it wouldn't trigger a recall.&lt;br&gt;&lt;br&gt;Note that I've written a half-dozen large-scale problem tracking systems (and SCCS's that were integrated with them), and have observed such dual-ranking systems proven to satisfy the needs of large-scale software (and hardware) bug resolution.  (I.e., Both OS and computer hardware development.)  The biggest problem encountered with problem tracking systems (even with ranks to help dictate the order of problem resolution) are the politics of fudging the rankings up or down to change the sort-order to satisfy whichever project manager or product manager is screaming the loudest.  Having numeric ranks helps to keep all the stake-holders honest, since each rank is quanitifed.  Problem tracking systems that use words for the ranks always end up with squabbling over what the words mean...just as I pointed out with your use of the word &amp;quot;trivial&amp;quot;.&lt;br&gt;&lt;br&gt;Hope this helps!  (Think objectively.  Use dual-ranks.  Use numeric ranks.)&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=398332" width="1" height="1"&gt;</description></item><item><title>re: Recall class</title><link>http://blogs.msdn.com/b/cyrusn/archive/2005/03/17/397321.aspx#398128</link><pubDate>Thu, 17 Mar 2005 19:35:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:398128</guid><dc:creator>Cyrus Najmabadi</dc:creator><description>Andrew: So it would be worth recalling a beta (which is expected to have bugs), in this case?&lt;br&gt;&lt;br&gt;And just because something is trival doesn't mean it should necessarily get fixed either.  As i mentioned, it's a combination of factors.  If we kept on fixing trivial bugs then we'd never get the beta done.  *ever*&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=398128" width="1" height="1"&gt;</description></item><item><title>re: Recall class</title><link>http://blogs.msdn.com/b/cyrusn/archive/2005/03/17/397321.aspx#397441</link><pubDate>Thu, 17 Mar 2005 13:02:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:397441</guid><dc:creator>AndrewSeven</dc:creator><description>&amp;quot;So is this recall class?  It's just not clear.&amp;quot;&lt;br&gt;&lt;br&gt;Yes, absolutely. &lt;br&gt;How could you be expected to be taken seriously if the system fails on something so trivial.&lt;br&gt;Just imagine whast they would say on slushpot err I mean slashdot.&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=397441" width="1" height="1"&gt;</description></item></channel></rss>