There are many new concepts to learn for a typical asp.net webform developer who is happy with their event driven, drag and drop world where the code behind is abstraction enough.
What is the best way to introduce the concept of mvc, unit testing, loose coupling, dependency injection and continuous integration whilst still maintaining efficiency in the day to day project work.
I believe it would be foolish to try and introduce all the concepts at once. The learning curve is quite steep and the chances are you will end up confusing them and they will not grok the concepts. This could lead to a lack of confidence & apathy leading to the whole learning process failing resulting in a team of confused & demotivated developers.
I was thinking to find some time for a side project, maybe a collaborative rewrite of an existing system that is not too involved. However to be a worthwhile exercise then serious time needs to be invested and it cannot be a done using half a day per week.
How to break the concepts down, what should be introduced first? What are your experiences?