Большинство проектов взаимодействуют с Внешними сервисами. Например, авторизуют пользователей через социальные сети или рассчитывают стоимость доставки товара. Для этого разработчики выполняют интеграцию через API. Подробности в главе 10.
Наконец, в зрелом проекте обязана быть Документация. Ее главная задача отчуждение знаний о проекте из голов конкретных исполнителей. Документация снижает риски.
1.1.1. Прогулка по картине мира
Итак, мы героически вляпались в задачу «довести сайт до ума». Как бы я действовал (кое-где чужими руками)?
Жуть, этот план даже читать больно! А ведь вам завтра крутить окровавленную и облитую слезами ручку digital-разработки:)
Поинтересовался, почему расстались с предыдущим разработчиком, на какой ноте, кто это был. Навел бы справки. По возможности переговорил с разработчиком, составил свое мнение.
Получил от клиента предварительный список требований и задач. Рассказал всю процедуру и описал риски. Запланировал время на то, чтобы вникнуть в чужой код. Возможно, его придется полностью удалить, и все написать по новой. Первое время наша скорость будет ниже, чем у предыдущей команды, и у нас будет больше ошибок, потому что мы не знаем всех взаимосвязей. Также обсудил условия, при которых можно попробовать взяться за задачу.
Грубо оценил стоимость проекта (вилочно, от-до), получил подтверждение бюджета у клиента.
Согласовал работу по Time & Material. Работать с чужим проектом по Fixed Price самоубийство. Выяснил, сколько примерно часов готов выкупать клиент в будущем и какие дальнейшие планы на сотрудничество. Разовый, короткий контракт, отношения на одну ночь меня бы не заинтересовали в этом случае посоветовал бы закончить проект с предыдущей командой.
Запросил доступы к коду.
Провел код-ревью процедуру анализа и оценки качества кода.
Изучил текущую документацию. Если документации нет это тоже показатель.
Принял решение, можно ли работать с текущим кодом или нужно выбросить и все делать с нуля.
Подписал контракт.
Получил предоплату.
Еще раз уточнил требования. Собрал их в бэклог. Отсортировал по приоритетам. Организовал работу спринтами.
Нарисовал прототипы. Сдал клиенту.
Нарисовал дизайн, если задача это предполагает. Также сдал клиенту.
Еще раз проговорил голосом результат с заказчиком, убедился, что мы все одинаково понимаем.
Доформировал требования на уровне задач в тикет-системе с учетом изменений, которые появились в дизайне и прототипе. Обычно это мелочи, но иногда все разворачивается на 180°.
Дал вычитать требования разработчикам.
Проговорил задачи голосом с командой, ответил на вопросы. Получил оценки от команды, например, методом Planning Poker (подробнее в главе 3).
При необходимости провел рисерч. Это нужно для задач, с которыми команда никогда не сталкивалась.
Запланировал разработку в календарном плане.
Написал тест-кейсы или критерии приемки по каждой из задач.
Запрограммировал. Следил за ходом работ, решал «затыки».
По итогам разработки провел код-ревью нового кода.
Протестировал, исправил баги.
Проверил производительность.
Сдал заказчику проект на тестовом сервере, получил и обработал обратную связь. Мелкие недочеты исправил сразу, остальное перенес в будущие спринты.
Провел ретроспективу с командой, посмотрел, что можно улучшить в проекте и процессах работы.
Актуализировал документацию.
Провел деплой (выкладку на боевые сервера).
Обновил контент.
Проверил работу на боевом сервере.
Подписал акты, получил постоплату.
Выяснил, что еще хотел бы клиент, повторил бы цикл. Сам предложил улучшения проекта: по коду, функциям, дизайну, удобству и простоте использования.
Организовал работу по мелко-срочным отвлекающим тикетам (по более дорогой ставке), выполнение которых клиент не готов ждать.
В общем, у менеджера тут много дел. Причем, ценность большинства из них воспринимается клиентом весьма гадательно. И хорошо бы что-то делегировать.
Час нормального проджекта должен стоить не менее часа нормального психолога.
1.1.2. Кривая роста мастерства
1.1.2. Кривая роста мастерства
Как выглядит кривая роста компетенций и профессионализма руководителя? А это действительно кривая.
Кривая роста мастерства
1. Бурный рост
Для человека все ново, он заинтересован и очень быстро осваивает то, что называется «язык отрасли». Это как игра на гитаре, мальчики поймут: вам показали пять аккордов, вы освоили их за три дня и, в принципе, большинство песен во дворе уже можете петь под гитару. Все девушки ваши.
Хотя уже и на этом этапе часть людей отвалится, потому что поймут это не для них. Такой начальный профессиональный сплит-тест «да-нет».
2. Страшно и ни черта не понятноДальше расти сложнее. Надо барре ставить, табулатуры разбирать, или (боже упаси) ноты учить. И получается, что усилий нужно прилагать все больше и больше, а видимых достижений все меньше и меньше. Уменьшается и количество людей, которые могут оценить ваши успехи. Страшно и ни черта не понятно.
Здесь-то многие и сдаются. Особенно юные быстро обучаемые дарования. Интересней нахвататься по верхам, стать лучшим математиком среди гуманитариев или лучшим менеджером среди программистов. Лучшим летчиком среди парашютистов и так далее.
В психологии известен эффект Даннинга-Крюгера. Смысл его в том, что дилетант ведет себя, как правило, очень самоуверенно. Он чего-то нахватался, каких-то догм, и свою уверенность строит на этих догмах.
В свою очередь более профессиональный человек начинает терзаться сомнениями, поскольку уже отходит от догм, видит их ограничения, исключительные ситуации и нюансы. Начинает думать не так категорично. Поэтому со стороны порой кажется, что знания новичка, его повадки более убедительны, чем знания профессионального специалиста, который говорит с большим количеством оговорок. Но со временем, с опытом, если человек прогрессирует неуверенность уходит. Когда человек становится экспертом он не так категоричен, как новичок, но уже точно знает, что сработает, а что нет.
В росте компетенций менеджера такие перепады настроения от ощущения всемогущества до ощущения собственного бессилия абсолютно нормальная история. Более того, если вы таких перепадов не испытываете значит, перестали расти.
Что делать? Просто продолжать, несмотря на страх и неясность. В какой-то момент картинка встанет на место. У кого-то этот путь занимает полгода, у кого-то год. При этом нужно уделять больше времени практической работе на боевых проектах, а не теоретизированию.
3. Ясность мыслиИтак, после того, как с «детскими болезнями» разобрались, менеджер постепенно начинает набирать авторитет, опыт, компетенции. Вырабатывает, что называется, стиль.
Он хорошо знает правила компании, методологии, и мало-помалу начинает успешно вести проекты.
И вот тут, после первых нескольких успешных кейсов, его ждет ловушка. Дело в том, что многие вещи для менеджера уже привычны. Если раньше, например, он кропотливо работал по правилам, старательно фиксировал договоренности, мало импровизировал то с какого-то момента он начинает чувствовать себя уверенным и крутым. И начинает эти правила нарушать.
4. ЯмаМенеджер не справился с управлением, но вовремя ушел на больничный.
Стратегия полу-управленцаМенеджер почувствовал силу и начинает экспериментировать с правилами и подходами. И в какой-то момент у него начинают «сыпаться» проекты.
Например, сначала, работая с клиентами, вы все им подробно объясняли. Потому что вам самим нужно было проговорить, что и как будет. А потом вам это стало ясно-понятно. И вы перестали объяснять. И врезались в стену непонимания. Вам все очевидно, а клиенты стали как-то тупить (так это будет выглядеть для вас) и стали несговорчивыми. Причем, резко, все разом. Обычно критическая масса косяков копится, и все они вываливаются на разных проектах, но примерно в одно и то же время.
Как-то один из наших руководителей проектов пожаловался, что клиенты не понимают очевидные вещи: что такое верстка, чем она отличается от дизайна и программирования. Начались недопонимания за что выставляется каждый конкретный счет. Приходится тратить время на урегулирование этих непониманий, а времени лишнего нет. Как выяснилось, руководитель проекта где-то поймал установку «раз уж мне очевидно значит и клиенты должны знать, как все устроено». Однако это так не работает. Мы разобрали ситуацию. Поняли, что без резкого снижения нагрузки на менеджера нам не вырулить. Передали два проекта другим руководителям и составили «график некидалова» недельные планы, в которых менеджер имел права заниматься не более чем двумя проектами в день. Но полноценно и сосредоточено, с созвонами, отчетами и временем на обучение клиента. Примерно через 6 недель ситуация стабилизировалась: менеджер стал меньше уставать, клиенты начали ставить хорошие оценки за этапы. Но если бы ситуацию пустили на самотек менеджер вряд ли справился бы самостоятельно.