Sanjay,
Your post is very informative. We don't have nearly that much resource to spend on this project. My understanding of your set up is that you've created a process that "mirrors" the development and production environment by breaking the source codes and dbs into smaller pieces and match them piece by piece, only when it is necessary to make a match between the two. For instance, you don't clone the user accounts from production back to dev, but you do clone the db entries from dev to production if a new module is registered in the framework by a developer. Of course, a lot of work is done to ensure you are not stepping onto something in the production environment.
I am interested in how you deal with the source control issues.
We use Visual Source Safe plus VS2005. Now the problem is, for example, the skin files need to be checked out from Source Safe before they can be parsed by the web UI. Otherwise, if the files are checked in, then they are read only and can't be parsed through the web ui. Another example would be, you upload a file through the UI, it puts that file in the web root somewhere, then VS2005 doesn't know that file is a part of the solution. Developers have to manually add it back to the solution, or the file stays local to that developer and others can't see it in Source Safe. Another would be install a module through the web ui, then in your vs2005 solution, a bunch of DLLs are created. But the references are not added through the VS2005 environment, this causes VSS to check in all these DLL files, which again, puts a read only on them. (the last example might have more to do with VSS than DNN) If you compile at this moment, you will fail for lack of access to these files.
How do you deal with these problems? Let the developers having a local copy is not an option because we need to be able to share files.
Thanks,
Kevin