Можно озвучить две крайности при проектировании интерфейсов.
- Вообще ничего не проектировать. В двух словах описать задачу, набросать на салфетке эскизы и отдать программистам, чтобы что-нибудь поскорее сделали. Предоставить разработчикам максимальную самостоятельность — лишь бы выполнялась основная функция проекта.
Такой подход хорошо сработает, когда нужно быстро проверить простую гипотезу и заранее знаешь, что даже в случае успеха всё нужно будет неоднократно переделать. Когда проект настолько маленький, что работа по проектированию скорее замедлит движение к результату, чем поможет избежать правок на этапе разработки.
- Досконально всё спроектировать. Согласовать интерфейсы и документацию со всеми участниками проекта, составить точный календарный план работы. Давать разработчикам минимум свободы выбора решений.
Этот подход хорош в уже существующих проектах, которые нужно доработать. Или в новых проектах, которые нужно выполнить строго в соответствии с запросом, а не проверять гипотезы, будет оно работать или нет (например, когда нужно автоматизировать производственные процессы на каком-нибудь предприятии).
Между этими двумя подходами существует множество промежуточных вариантов. В зависимости от обстоятельств необходимо определиться, какой из них больше подойдёт с экономической точки зрения:
- Не тратить много ресурсов на проектирование, потому что правки на этапе разработки стоят недорого (небольшой проект, мало разработчиков, тестирование гипотез), а подробное проектирование только замедлит процесс.
- Тратить много ресурсов на проектирование, потому что на этапе разработки каждая правка может стоить значительно дороже, чем месяц работы проектировщика (большой растянутый во времени проект, команда разработчиков с большим ежемесячным фондом оплаты труда, нужен конкретный результат, а не перебор гипотез).
Я предлагаю клиентам ту методологию и детализацию проектирования, которая лучше всего подойдёт в каждом конкретном случае с точки зрения экономики проекта, а не топлю за что-то конкретное, к чему привык в процессе работы над первыми задачами.
В остальных профессиях примерно та же история. Выбор способа решения задачи должен быть экономически обоснован. И грустно, когда специалисты предлагают привычный способ ведения дел клиентам, для которых это будет необоснованной тратой ресурсов. Ведь клиенты зачастую не могут самостоятельно сделать правильный выбор.