February 11, 2014

Вывести на чистую воду

Об успехе программного проекта можно судить по двум характеристикам: а) качество; б) срок выполнения. Если одна из этих характеристик неудовлетворительна, то возникает несколько интересных вопросов:

1. Насколько добросовестно разработчик выполняет свои обязанности?
2. Насколько разработчик компетентен?

Если у проджект-менеджера нет технического образования, то очень легко можно оказаться в ситуации, когда ты уже как бы и не проджект-менеджер, а вешалка для лапши разработчика.

Предлагаю относительно простой метод получения ответов на эти вопросы: попросите программиста задокументировать текущий технический долг по проекту. Для этого следует выделить один рабочий день. Зачем столько много времени? Столько времени нужно для двух вещей: а) дать понять, что задача серьезная; б) достаточно времени, чтобы еще раз пройтись по всему проекту, и подробно все описать.

В результате может быть несколько ситуаций.

Хороший вариант — это когда разработчик просто фонтанирует идеями, что в этом проекте можно было бы переделать: модель улучшить, отрефакторить, написать тесты. Здесь важно, что разработчик не просто кидается модными словами, а имеет конкретный план, в каких местах и что нужно сделать. Не забываем, что времени было дано не пять минут. С таким разработчиком можно и нужно продолжить диалог на предмет понимания ошибок в проекте, извлечения уроков.

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

Проджект-менеджеры, не стоит благодарности.