все упирается в человекочасы. они в свою очередь рассчитываются из классности(качество кода), производительности(объем кода) и уровня потребностей разработчика. в это берется с учетом долговременности отношений с клиентом. однозначно не стоит забывать о упрощении работы при использовании уже имеющихся наработок. ну а потом ставишь "справедливую" по твоему мнению цену на продукт и смотришь честными глазами на заказчика =D