Anyone dealing with Software Development come across problems popping up during the planning of large-scale, long term projects where multiple teams are involved: client is often not 100% sure of their needs or expected outcomes, so new ideas and changes are requested during course of project development. This results to often disappointed clients due to mismathc of their expecations.