IMHO, стараемся придумать то, что давно уже придумано.
Стандартные этапы процесса разработки:
1. формализация бизнес-требований
2. разработка архитектуры решения
3. оценка временнЫх затрат
4. разработка
5. тестирование
6. передача в эксплуатацию
Поправьте, если что забыл из существенного.
Программист (если он "чиста программист") должен принимать участие в п. 2-4 (или 2-5).
Эти пункты
не предполагают непосредственного общения с пользователем / заказчиком etc.
Другое дело, что такие "чиста программисты" в области EPR крайне редки, все больше что-то смешанное...
А вообще - еще MS Solution Framework была дивная табличка - какие роли на проекте можно совмещать, а какие - низзя... Так вот, роль программиста там считается
несовместимой ни с чем. И неспроста, видимо
Голосую за "в случае крайней необходимости". Исходя из собственного опыта исключительно