Ты был бы рад, если бы тебе написали программу, которая сломается уже завтра, будет иметь кучу багов, тормозить и нихуя не работать так, как надо?
Для аутсорса сначала подписал бы договор в котором есть конкретное ТЗ и условия оплаты человека часов
Для компании (если штатный прогер) скинул бы ему ТЗ и сроки работы
В обоих вариантах указал бы что прога должна работать идеально