FAQ про управление разработкой

Есть обширные руководства по управлению разработкой. Но, как оказалось, там не всегда есть прямой ответ на те вопросы, которые возникают по управлению разработкой на практике. В этой статье на основе того, что попадалось мне, ответим на такие вопросы:

  • Как должна быть организована коммуникация с разработчиками?
  • Что необходимо для наиболее продуктивной работы разработчиков?
  • Что делать с системной ошибкой оценки разработки?

Коммуникация с разработчиками

Коммуникация может быть поделена на 2 вида:

  • Оценка планового срока разработки
  • Уточнение деталей по конкретной задаче

За оценку планового срока отвечает тим лид. В этой оценке тоже может содержаться системная ошибка, о которой позже. Тем не менее, это лучше других вариантов:

  • Оценка каждого разработчика – тут получаем случайные величины
  • Оценка бизнес-аналитика – аналогично

В последнем случае всё намного хуже, потому что к тем факторам, которые давят на разработчика, примешиваются факторы, которые давят на аналитика: желаемые сроки и тому подобное. В итоге часто желаемое выдаётся за действительное.

В деталях по конкретной задаче коммуникацию нужно максимально спрямить, то есть разработчик и бизнеса-аналитик (постановщик задачи) должны общаться напрямую. Если необходимо, тим лид может участвовать на встрече, в этом проблем нет.

Условия продуктивной работы разработчиков

Если разработку представить, в идеальном случае, как ритмичный конвейер, то для его чёткой работы необходимы:

  • Команда
  • Постановка задачи
  • Минимум совещаний

Команда означает, что есть общее поле для общения и вне работы: менеджеры, бизнес-аналитики, тестировщики, разработчики. Самый простой способ наладить такое общение – запланировать встречу именно для неформального общения. И даже не так плохо, если такие встречи будут проходить в рабочее время. Пересечение интересов, выяснение общих ценностей сближает людей и сглаживает общение по работе.

Постановка задачи означает чёткое описание того, что должно быть сделано, но при этом без деталей реализации, которые должен продумать сам разработчик. В целом внедрение качественной постановки задачи – отдельная история, которая предполагает:

  • Обучение бизнес-аналитиков
  • Обсуждение проблем с постановкой задач вместе с разработчиками
  • Разработку и внедрение шаблонов для разных видов задач, повторное использование успешных примеров

Минимум совещаний означает, что разработчики должны быть заняты разработкой технических решений и написанием кода. И их не должны волновать:

  • Ограничения по срокам (которые кто-то установил и свалил)
  • Юридические или налоговые ограничения решения; задача аналитика – перевести их в технические ограничения задачи
  • Подробности организации внедрения: как обучают пользователей и т.п.

Иногда кажется, что если "все будут знать всё", то будет как-то легче. В моей практике "все будут смотреть за всеми" не работает, должно быть разделение не только труда, но и ответственности за разные части проекта.

Что делать с системной ошибкой оценки разработки

Часто разработка раз за разом показывает стабильную ошибку, оценка, естественно, меньше. В целом, стабильность, – это уже неплохо. Потому логично просто в следующий раз корректировать на эту ошибку. Но не всё так просто: руководитель проекта должен встать между разработкой и заказчиком.

  • Оценку разработки нельзя показывать заказчику
  • Оценку для заказчика нельзя показывать разработке
  • В целом оценка, скорректированная на ошибку – это всё равно "впритык", поэтому хорошая практика – прибавлять ещё 20%

Хуже системной ошибки может быть несистемная (кто-то употребляет наркотики?). Но хуже несистемной может быть только отсутствие данных об ошибках, тогда вместо обсуждения фактов обсуждаем оценки и мнения. "Я считаю, что разработка делает всё вовремя", "А я считаю, что не вовремя". Пожалуйста, не делайте этого, поставьте систему учёта план-факта.

@Константин Овчинников
Теги: #управление проектом

Комментарии