Speed vs. Maintainability

time to read 1 min | 177 words

I recently had several discussions about the usage of Castle / NHibernate in projects. The argument almost always revolve around the following issues, which both sides agree on:

  • It can take time to start start developing with Castle/NHibernate. To learn the libraries, to learn the things you should not do, etc.
  • After you learn to use the libraries, the cost of change goes down, usually radically.
  • It takes some time for a new developer to be productive*.

What do you think of this issue?

* I had three new developers trickle into my team and start working with an application that I wrote using NHibernate. I won't say that they now understand the full application stack, but they were productive after about a week, and most of the time was understanding the domain, not NHibernate.