Итак, мы по локоть вляпались в задачу “довести сайт до ума”. Как бы я действовал?
На этот план даже смотреть страшно. А ведь его еще и исполнять придется.
- Надо выяснить почему ушел предыдущий разработчик. Как с ним расстались? Кто это был? Навел бы справки. По возможности переговорил бы с ним и составил собственное мнение о происходящем
- Получил бы от клиента список требований и задач по проекту.
- Рассказал бы всю процедуру работы и описал риски.
- Запланировал время чтобы вникнуть в чужой код. Возможно его придется полностью удалить и все написать заново.
- Первое время скорость разработки точно будет ниже чем у предыдущей команды и ошибок будет явно больше, потому что мы не знаем зависимостей в проекте.
- Обсудил бы условия при которых мы могли бы взяться за задачу.
- Грубо оценил бы стоимость проекта (от и до), получил бы подтверждение бюджета у клиента.
Согласовал бы работу в почасовую. Работать с чужим кодом по Fix-price - это самоубийство. Выяснил бы сколько часов в месяц готов выкупать клиент и какие планы на будущее. Разовые, короткие контракты не интересны. В этом случае посоветовал бы закончить проект с предыдущей командой.
- Получил доступ к коду.
- Провел code-review - процедура анализа и оценки качества кода.
- Изучил техническую документацию. Если документации нет - это маячек.
- Принял бы решение, можно ли работать с текущим кодом или нужно все сжечь и делать с нуля.
- Подписал бы договор.
- Получил предоплату.
- Еще раз уточнил требования. Составил Backlog, отсортировал по приоритетам. Организовал работу по спринтам.
- Подготовил бы прототипы. Сдал клиенту.
- Отрисовал дизайн, если задача это предполагает. Сдал клиенту.
- Еще раз проговорил результат с заказчиком, убедился что мы все одинаково понимаем.
- Оформил требования на уровне задач в Jira с учетом изменений, которые появились в дизайне и прототипе. Обычно это мелочи, но иногда все меняется кардинально.
- Дал вычитать требования разработчикам.
- Проговорил бы задачи с командой, ответил на вопросы. Получил предварительные оценки от команды.
- При необходимость провел research. Это нужно для задач с которыми никогда не сталкивались.
- Разработал календарный план.
- Написал бы тест-кейсы или критерии приемки по каждой задаче.
- Отдал в разработку. Следил бы за ходом работ, решал “затыки”.
- По итогам разработки code-review.
- Протестировал бы, исправил баги.
- Проверил производительность
- Сдал задачу на тестовом сервере, получил обратную связь. Мелкие недочеты сразу на доработку, остальные в будущие спринты.
- Провел ретроспективу с командой, посмотрел что можно улучшить в проекте и процессе работы.
- Актуализировал документацию. Написал инструкции администраторам и пользователям.
- Провел деплой на боевой сервер.
- Обновил контент.
- Проверил работу на боевом сервере.
- Подписал акты, получил постоплату.
- Выяснил, чего еще желает клиент, повторил бы цикл разработки. Сам предложил бы улучшения по проекту, по коду, функционалу, дизайну, удобству пользования.
- Организовал бы работу по внезапным срочным тикетам по более дорогой ставке, выполнение которых клиент не готов ждать.
Как мы видим дел у менеджера проекта очень много. Если клиент говорит о том, что ему не нужно участие менеджер в проекта, то скорее всего мы откажемся от такой работы.
Час нормального проджекта должен стоить не менее часа нормального психолога! =)