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.