Es geht darum, die Risiken zu teilen. Ein Entwickler hat das Risiko, dass er wochenlang arbeitet und der Kunde das Projekt am Ende absagt, ohne etwas zu bezahlen. Der Kunde hat das Risiko, dass der Entwickler schlechte Arbeit leistet und trotzdem bereits am Anfang entlohnt wird. Daher macht es Sinn, sich in der Mitte zu treffen. So kann garantiert werden, dass beide Seiten motiviert arbeiten können.