Sign in
Mike Stall's .NET Debugging Blog
Notes on Managed Debugging, ICorDebug, and random .NET stuff
Translate This Page
Translate this page
Powered by
Microsoft® Translator
Options
Blog Home
Share this
RSS for posts
Atom
RSS for comments
Search
Tags
Compilers & Languages
Design
dlr
Edit-And-Continue (EnC)
Family
feedback
FuncEval
ICorDebug
Interop (mixed-mode)
linkfest
MDbg
Non-work
Pages
Quiz
Random
random .net
reading
Sample Code
Silverlight
This should be in MSDN
Troubleshooting
versioning
WebAPI
Whidbey (V2.0)
Windows Live
Archive
Archives
August 2012
(2)
May 2012
(3)
April 2012
(5)
March 2012
(2)
November 2011
(1)
September 2011
(1)
December 2010
(1)
September 2009
(2)
July 2009
(1)
May 2009
(1)
February 2009
(1)
November 2008
(1)
June 2008
(1)
May 2008
(2)
April 2008
(3)
March 2008
(5)
February 2008
(2)
January 2008
(10)
December 2007
(7)
November 2007
(5)
October 2007
(16)
September 2007
(8)
August 2007
(12)
July 2007
(9)
June 2007
(5)
May 2007
(7)
April 2007
(4)
March 2007
(6)
February 2007
(5)
January 2007
(11)
December 2006
(9)
November 2006
(13)
October 2006
(9)
September 2006
(10)
August 2006
(6)
July 2006
(13)
June 2006
(10)
May 2006
(3)
April 2006
(4)
March 2006
(31)
February 2006
(16)
January 2006
(18)
December 2005
(11)
November 2005
(23)
October 2005
(12)
September 2005
(22)
August 2005
(31)
July 2005
(10)
June 2005
(7)
May 2005
(4)
April 2005
(5)
March 2005
(9)
February 2005
(16)
January 2005
(6)
December 2004
(3)
November 2004
(4)
October 2004
(14)
September 2004
(2)
Lessons from nullable: Superstars + Feedback
MSDN Blogs
>
Mike Stall's .NET Debugging Blog
>
Lessons from nullable: Superstars + Feedback
Lessons from nullable: Superstars + Feedback
Mike Stall - MSFT
14 Aug 2005 1:22 AM
Comments
1
Soma (my boss's boss's boss's boss) recently blogged about how the
CLR took a major change to fix Nullable
. There are 2 lessons here.
First, this is a lesson in super-stars. Some background: this was a major change done very late in the game. That's very risk because if you accidentally break something, then regressions mean slipping the product. The change to the CLR was done by
Vance Morrison
who, in my opinion, is one of the most talented developers on the CLR. (There is nobody on the debugger team, nor has there ever been, who is Vance's equal, and it clearly shows in the mistakes that manifest in the debugger's design and implementation. Although we've have/had promising talent, they've lacked Vance's seniority and experience.) IMO, the big challenge with changes like this is not so much just writing the code; it's making a broad complicated change which affects many subsystems without breaking anything. It's big, it's complicated, and it has to be done right. This is a great example of the value in having super-stars. In order to do something like this, you need one superstar that can get the job done. You could throw 20 morons on the problem and easily screw it up. This is why people like
Michael Jordan
got paid so much - he was the superstar that could come through in the clutch. This is a well known principle. Joel on Software blogs about this
here
.
(Additional trivia: When Vance was assessing the impact of this change, he asked me if this would affect the debugger. It turns out there is some minor impact, but we decided the cost-benefit didn't justify a fix. The issue is you can directly use the ICorDebug API to construct nullable types that can't normally exist in the runtime. The details are for another blog entry...)
Second, this is a lesson in how valuable feedback can be. The push for this nullable change was largely driven by customer feedback. Likewise, several times I've asked for feedback on my blog (such as
how to display generics
, general
feedback on the ICorDebug API
for the next version, and
what to do about Cordbg
). I can't emphasize how important any feedback I get from such posts is. The feedback I get here goes straight to the front lines of the technical discussions. For example, I'll be in an argument with somebody and they'll say "our customers want X, not Y", and then I'll go write a blog post asking "Do you want X or Y?" The feedback is then your chance to participate in the discussion. If I get a lot of feedback, that evidence is directly consumed. If I get little feedback, we figure people don't care.
In the fate-of-cordbg case in particular, we actually asked
Brad Abrams
to
blog
about it because we really wanted a lot of feedback and he has the most popular CLR blog by a large margin. The feedback from Brad's + my blog entries on Cordbg directly contributed to our decision to cut Cordbg and
ship Mdbg in the SDK
.
1 Comments
Random
Blog - Comment List MSDN TechNet
Comments
Loading...