How to document Changes

Greetings Developers,

My Instance have stacked up a lot of modifications on a lot of fronts (multiple workflows that depends on one another, old workflows, bussiness rules, schedulers, logic hooks, etc).

What are the best practises to document it all for quick adjustment on future Sugar releases?

Regards, Giovanni