Current situation: developing / customizing Dynamics 365 is a nightmare in terms of tracking changes and customizations done to a given instance/environment. There's no way to see what was done to a given object There's no way to see what previous iterations of a given object looked like There's no way to roll back an object to a previous iteration There's no way to track the actual changes in a solution. Solutions will only ever contain the latest version of an object. All of this makes managing a customized instance incredibly hard, and creates huge risks when it comes to releasing updates (as in "move stuff from a development instance to the productive instance") as you basically are unable to control which state you'd like to move. Development by multiple people is almost impossible due to that. Requirement: Take a look at how other platforms manage changes to their objects, such as the ServiceNow platform: Each change to a version is tracked and stored, and during development you select which "Update Set" (=Solution, basically) is currently active for your user session. All the changes are automatically added to that Update Set - and nothing else! If someone else has to customize e.g. the Opportunity primary form later on, the changes done will NOT be forced into the Update Set you created earlier, but that second developer will have their own Update Set, recording these new changes. Dependency tracking will - at times - prevent you from importing the second update set without having the first update set present, but at least you're able to go step by step and have the ability to roll back changes that didn't turn out the way you expected them to - which is a rather common occurence in modern development practices, as SCRUM encourages an iterative approach and is one of the most popular methods right now.