A couple of days ago I was listening to a recent episode of Hanselminutes (a great podcast BTW) about
Distributed Caching with Microsoft's "Velocity", and the only thing I could think of was:
How is this different from memcached?
This is why MS should be broken up into smaller divisions: to keep them from reinventing the wheel. Of course their development methodologies / QA process has a lot of benefits, but those must be applied anyway and it is a waste or resources to write something from scratch and make it go through the QA process, compared to taking something already available and doing the same (eventually adding pieces like VS/IIS integration for example).