Loving to Win / Hating to lose

Thursday, June 30, 2011

Recently I was playing around with the new Asp.Net MVC3 bits, specifically around getting a working endpoint for getting push notifications from the Amazon Simple Notification Service (SNS). I spent most of the time fighting with IIS 7.5 just trying to get something other than a directory listing to show up. Of course it turned out to be some obscure setting that had to be flipped that had nothing to do with MVC3. With deployment stories like that, it’s no wonder folks are leaving the .Net platform for others. A playful Sunday morning of coding turned sour because IIS won’t play nice.

It actually reminds of the recent NBA finals. Wait, here me out. I’m not a big pro basketball fan but I catch some sports radio here and there and I heard something that kind of stuck with me. The discussion was about Lebron James and how he had been struggling to close out games late in the fourth quarters when he is so talented and has so much talent around him. Then someone, a caller or one of the host pundits said something to this effect: Lebron loves to win. Kobe and Dirk and Durant and others hate to lose.

That concept shouldn’t be that foreign to anyone doing the whole agile thing. It’s built around the idea of success through failure. Fail early, adjust, and get better. Rinse, repeat.Have a continuous integration build that makes you smile when it runs without errors and 100% tests passing, but you don’t immediately drop everything and fix it when tests fail or someone checks in some broken code? You’re loving to win, but tolerant of losing.

Back to Microsoft. It seems like DevDiv is turning the corner on hating to lose. Most non-Microsofties would consider early versions of Entity Framework to be failures, even early versions of MVC, while promising, didn’t hit the spot for a lot of people.Now we’ve got EF Code-First, a more mature MVC, and Nuget, all big wins coming out of DevDiv. Then we’ve got the product teams which I assume are not part of DevDiv. The SharePoint teams and the TFS teams, even in 2010 are publishing APIs that are chock full of sealed classes, static methods, with no interfaces leaving any developer actually interested in unit testing against said API left out to dry. It’s really telling that MVC has projects adding bells and whistles, while TFS has projects that only exist to wrap the untestable API itself. One’s winning, one’s losing.

Do you hate to lose or love to win? What about your team? Your organization/company?

top