I am looking for some inputs to manage version controlling in CRM. Currently, we are using a single development Org and maintaining the CRM Solution in TFS using Solution Pacakger. We check-in the entire solution in TFS alongwith its extract (extracted via Solution Packager). By this, we can know what all changes went in between any two solutions by comparing the extract files.
The issue with this approach is that we don't have low-level tracking of who made the specific customizations/configurations. Understanding the constraints of CRM as a product, I think one possible solution to this problem would be to setup a parallel development process where individual developers would make changes to their respective Orgs and check-in the changes (after merging). By this approach, we can track the individual customizations done by developers since they would check-in each of their changes individually.
Is there any other approach by which we can achieve this without setting up multiple Orgs for each developer?