Оплата может быть:
1) почасовой;
2) сдельной за весь проект;
3) за объем работы (см. индусский код :))
4) месячная оплата труда вне зависимости от объема работы
За работу программиста, как впрочем и дизайнера, строителя и т.п. лучше платить по второму варианту, так как контролировать работу такого плана легче по результату, чем по ее процессу.