Is A Better-But-Later Entity Framework Worth It?

It’s been something like a week since the Entity Framework controversy started. For those who don’t know, here’s a recap: Microsoft has been developing one of many products that would eventually become an O/RM tool. But while the other efforts (LINQ for SQL for instance) are accepted with good will, the EF has drawn a lot of fire from developers over time. And when I’m saying developers, what I actually mean is early adopters. Because EF is not out yet.

The last round started last week when a No Confidence Vote on EF was published as an open letter to the EF team in MS. Until now, (28-Jun-08) more than 350 have signed it, including several MVPs. You wouldn’t be surprised if I told you prominent members from the Alt.Net community were among the first to sign. I feel that EF is an easy target to pick on, and some people are trying to ride this wave for personal gains, in part of how I feel things will resolve eventually.

Some of the reasons of dissatisfaction with the tool are valid. It goes against DDD and TDD and doesn’t have persistence ignorance support.  Of course, it’s not the first time MS does it “their” way, ‘cause they know better. This always causes some resentment. And as professional software developers, we all agree that this is feedback on a beta prior to release, and earlier feedback is good for the product.

(I have a unique view here because Typemock is a tool provider. There’s a lot to learn from what MS is doing, and how their doing it. But I’ll keep that to another post).

On the other hand, let’s look at it this way: We’re talking about one of the more complex problems of our times here: In business perspective, we need to provide the developers with the simplest tool in order to maintain business solutions containing databases. Microsoft developing a product like this is an admission that there is a current need for such a tool.

So should MS scrap V1 and listen to the protesters? MS was not deterred, and promised that they will release v1 as it is, and they’ll make adjustments in v2. We all know that 1st releases from MS are not all that… good. They get better with time. It boils down to a business problem – developers can have average quality tools now or better tools later. Guess what? Business rules dictate the 1st. And if MS won’t participate in the game, they will lose to the competition. That’s business for you.

Here’s my prediction: Initially, there will be no winners here. MS will come out with a mediocre EF. Adoption will be slow but constant, since after all it”s an MS product, and VS integration will follow. Protests from the Alt.Netters will increase, and MS will find itself defending the product. It will be a crippled launch. But 5 years later? it will probably be the de-facto tool. Microsoft can afford to take the heat now.

My point: Software is a tool for solving business problems. Do we demand better tools? You bet, always. Do we wait for the greatest tools ever? usually not. We use what we have now. We try to make the best of what we can. For our business.