posts - 76, comments - 26, trackbacks - 0

The Entity Framework team should talk to the MVC team

Two product efforts at Microsoft have spun up this year and both are new implementations of very old ideas:

  1. ASP.NET MVC Framework - Microsoft's upcoming implementation of a Model View Controller architecture for their web application platform. MVC has been around for a long time on other development platforms, but only recently has there been a push in the .NET community demanding for this.
  2. ADO.NET Entity Framework - Microsoft's next rev of data access technology (ADO.NET) contains a lot of new ways to work with data. EF is their implementation of an Object-Relational Mapping framework. Again, OR Mapping has been around for a very long time on other development platforms such as Java, but only recently has there been a push in the .NET community asking for this.

My personal opinion is the recent increase in the popularity of Agile development methods has had a large part in driving out these products from Microsoft. Agile development tends to accentuates everything in a development ecosystem - the good and the bad. Agile teams using the .NET platform have been feeling a lot of pain in certain areas - namely, data access and web app development. Writing automated-test-friendly code using these parts of the framework has been a nightmare for me personally, and I know there's scores of people that feel the same way.

To be fair, there's a large part of the .NET community that just doesn't care about any of this. By and large, they don't care about Agile and they don't care about automated test friendliness and they think the current implementations of ASP.NET and ADO.NET are just fine. I'm not going to argue with any of that because those people are in the best position to know what's best for them. However, there are people out there that loudly crying for change, and I'm one of them (though most of my crying is done in my own head).

What's really interesting I think is to watch how the MVC team has went about this charge in comparison to the EF team. I pay a lot more attention to the MVC stuff just because I've been a long time reader of Scott Hanselman, Phil Haack, and Rob Conery (the 3 main guys Microsoft hired to make lead the MVC effort). If you read through these guy's blog's and the content they're producing to support this product, their "this is for a certain set of people with a certain set of concerns that doesn't apply to everyone and we want this product to delight those people" attitude is obvious, which is very refreshing. Scott posted some very cool video's of his talks on MVC at Mix this year. This refreshing attitude shines thoroughly repeatedly in these talks.

Dan Simmons from the Entity Framework team posted a break down of the data access technologies in ADO.NET and compares and contrasts them for different types of jobs. As expected, the Agile/TDD zealots are pounding on him (i.e. Jeremy Miller and the CodeBetter crew). The zealots don't like the EF team's model and they take every opportunity to remind them of that. The EF team seems view these folks and their viewpoints as a small subset of the community. They seem to be applying the 80/20 rule, and they seem to think that if only 20% of the community is pissed, then that's pretty good.

What I think Dan is missing here, unlike the MVC team, this 20% of people that are displeased with their model, is the majority of people that care about this stuff. The other 80% are the people that don't care about Agile and don't care about automated-test-friendliness. They are the people that are more than happy cranking out dataset based app after dataset based app. I would argue, they are the definitely NOT the people that are creating conceptual data models for reuse across their domain (the EF's big selling point). I think the EF team needs to watch the MVC team and start listening to the zealots. Those zealots are your customer.

My prediction:

  1. ASP.NET MVC Framework: Huge Success
  2. ADO.NET Entity Framework: Huge Failure

I would love to be wrong about #2. #1 seems to already be in the bag :)

Print | posted on Wednesday, May 21, 2008 12:00 AM | Filed Under [ microsoft .net development ]

Feedback

No comments posted yet.

Post Comment

Title  
Name  
Email
Url
Comment   
Please add 6 and 6 and type the answer here:

Powered by: