Лучше разбить все на самостоятельные задания, доведенные до какой-то точки. И потом получать денюшку по завершению каждого из них. Так и заказчику понятнее, что дело движется, и видно, за что платит. И исполнителю гарантированно идет оплата. В любой момент обе стороны могут приостановить выполнение заданий и никому не будет обидно. И другой разработчик будет в курсе, на каком этапе остановились.