Некоторые небольшие особенно аутсорсинговые софтверные компании работают без технических спецификаций. В этом случае если заказчик сам четко не представляет себе, что он хочет, и все время меняет требования, жизнь программиста превращается в ад. А если еще и руководство неумное, виноват во всем всегда бывает программист.
Ха! А в какой ад тогда превращается жизнь менеджера!