Практическая задачка про командную разработку

Практическая задачка про командную разработку

Допустим, есть тимлид и он поставил разработчику задачу. Достаточно сложную. Описал концепцию, предложил известный метод А для решения.

Разработчик изучает концепцию и молча избирает для решения метод Б (тоже известный). Выкатывает результат. Тимлид читает, удивляется смене концепции, но видит, что метод Б может сработать как минимум не хуже А. Поэтому пропускает результат в тестирование, тем более что проверить уже реализованный метод Б быстрее, чем сразу требовать вернуться к A.

В ходе тестирования метод Б не срабатывает из-за конфликта с внешней системой S, с которой у разработчика было мало опыта (разработчик, обычно решающий задачи интеграции с S, недоступен). При этом сам метод Б корректен, но интеграция с системой S является необходимым условием задачи. Способов предсказать совместимость Б и S до реализации — нет.

Разработчик переключается на изначально предложенный метод А. Метод А срабатывает как ожидалось, задачу удается решить, но с превышением оценки на ~80% из-за потраченного на Б времени.

Система S — внешняя, узконишевая, почти безальтернативная и довольно инновационная. Найти разработчиков с опытом в ней непросто. Документация к S есть, но неполная. Как водится, её неполнота усугубляется с каждым обновлением. По сути разработчики работают с S раз в жизни — если придётся. У тимлида есть прямая линия с CEO системы S, но она не предполагает ежедневных бесед по любому поводу.

Проджект менеджер недоволен превышением оценок и необходимостью это объяснять клиенту. Видимо, произошла чудовищная ошибка. Но какая?

Какие чудовищные ошибки произошли?
Разработчик не должен был молча менять метод решения. Нужно усилить коммуникации.
Тимлид не должен был соглашаться на смену метода и сразу отвергнуть результат. Сэкономил бы бюджет.
Нужно было упороться и написать костыль для интеграции Б и S.
Все задачи, связанные с S, нужно оценивать в 2 раза дороже, мало ли что.
Никакая ошибка не произошла, нормальная инженерная работа. Просто не повезло.
Есть вариант получше, напишу в комментариях.
1 комментарий