What would you say if I wanted to write my own… OR/M / IoC / Web Framework / Etc ?


Occasionally I get asked this question, and the answer I give is usually along the lines of: Why?

This is not a mocking question ( 🙂  ), it is the criteria that I use to answer this question.

  • Are you doing it because you want to and it is fun?
  • Are you doing that to solve your own problems, and you decided that you will get better return of investment by building your own custom thing?
  • Are you doing it to solve a specific problem, without an off-the-shelf solution?

If it is any of the above, I would tell you to:

  • Have fun,
  • But look at the existing stuff first, see what the reasons for this is.

If it is something along the lines of:

  • Building it seems simpler than investing the time in learning how to use existing stuff
  • You have a policy of From-Vendor-XYZ-Or-Built-In-House
  • You need new challenges and haven’t written a framework in a week or two

Then you really want to consider this twice or thrice.

I once had a client reject NHibernate and ask me to build their own custom OR/M implementation, because it didn’t come from Microsoft, and they had a policy that all their stuff is either Microsoft or their own. NIH in its purest form. After showing some metrics about cost, supportability and bus factors, I have been able to convince them that this is not a really good idea, and they have been using NHibernate with great success for the last two years.

Jimmy Nilsson has some more thoughts about this subject.

What would you say if I wanted to write my own… OR/M / IoC / Web Framework / Etc ?

Explore posts in the same categories: Data Access, O/R Mapping

One Comment on “What would you say if I wanted to write my own… OR/M / IoC / Web Framework / Etc ?”

  1. Damon Carr Says:

    Good post. Far too many ignore this.

    NHibernate is an imperitive in my opinion on anything non-trivial. People should be shot for using code-genrators or hand-writing a DAL layer. It is not only stupid, it wastes money, time, quality, and reduces bandwidth. Same with Continuous Integration, but I cannot say that IoC is an imperitive (but a damn good idea).

    OBVIOUSLY if you are not doing TDD, then just stop, take a cold shower, meditate and then snap the F! out of it. You cannot come close to the overall levels of goodness without it. Sure, you can get by, even not raise eyebrows in mediocre organizations. Have fun. I want no part. I could go on but I am really sounding like a mean old fart.

    And not to be all negative but this is the second time I have heard a similar story about a client’s refusal on the old NHib…. To any client such as this I say ‘good luck sucking as I would prefer to not;’.

    Ha ha.. I just ammused myself there.

    Damon Carr

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: