It does happen. The real domain is so mismatched with the 'domain' of the code that it is easy to see huge holes once the analysts are talking. It's not just about introducing a pattern here or there, it's a substantial chunk of code. Of course, it could be done through the course of iterations. What if - for some reason - this change is the point of the current project?
Let's not go beyond the above parameters, because those are the hard, absolute constraints. For the moment. So, how do we do this?
- Develop the new model in isolation and plug it in in the end.
- Change in-situ - change existing, working code, to 'gradually' conform to the hoped-for model.
More on this as I find out...