Сегодня обсуждали с коллегами вопросы качества продукта, и я заметил одно противоречие.
1. С одной стороны есть конкретные клиенты, у которых есть конкретные претензии к продукту. Прямо сейчас они не довольны работой определенного функционала, за который уже заплатили.
2. При этом коллеги заняты решением глобальных проблем в разработке, и все их слова звучат разумно — разделение кода на модули, корректные практики код-ревью, качественные критерии приемки и в целом сильная аналитика и прочее.
При этом подразумевается, что конкретные претензии клиентов — это мелочи, которые будут появляться, пока не решим глобальные проблемы. Надо сформировать сильную команду, сделать идеальный код,
Но как именно и когда будут решены конкретные претензии клиентов — не понятно.
Когда я учился в школе и у меня были уроки программирования (на С++, между прочим!), меня тоже учили писать код абстрактно. Так, чтобы задача решалась в общем виде. Частные решения считались дурным вкусом — костылями.
Но мы уже давно не в школе, и я не программист, и скажу следующее:
1. Именно эти клиенты платят нам деньги, и не написать идеальный код, а решить их проблемы, сделать так, чтобы продукт прямо сейчас работал у них хорошо — главный результат нашей работы.
Костыли никому не нужны, но и решения глобальных проблем без конкретных целей и понятных результатов в прикладных задачах — трата времени команды.
2. Лучшие продуктовые решения возникают не тогда, когда продакт уходит в пещеры и витает в облаках, изобретая гениальные фичи. А когда он глубоко погружается во все нюансы жизни клиента, понимает его работу как свою собственную — и в результате предлагает самые лучшие и рабочие фичи.
Так и с техническими решениями — решать глбальные проблемы важно и нужно, но понятным и первым результатом этих решений должны быть решенные конкретные претензии и качественная работа продукта у действующих клиентов.
Глобальные решения должны быть контекстом, который создает руководитель, но в котором команда как можно скорее решает то, за что нам платят конкретные клиенты.
Дизайнеры это давно поняли и говорят об этом как о пользе ограничений.
Начни с простого: мысли глобально — действуй локально.
@startwithease