При обсуждении сроков выполнения задач или достижения целей нельзя не вспомнить еще один эмпирический закон – закон Паркинсона: «Любая работа увеличивается в объеме, чтобы заполнить все отпущенное на нее время». Из личного опыта скажу, что, когда у задачи нет срока, она вытесняется срочными делами и шанс, что до нее когда-нибудь дойдут руки, падает, поэтому при постановке любой задачи необходимо устанавливать срок исполнения.
Срочность целей тесно связана с достижимостью: чем меньше срок исполнения задачи, тем более она труднодостижимая, что надо учитывать при постановке задач (табл. 3.7).
Концепция ограничения по срокам встроена в Scrum: итерации всегда фиксированного размера и команда четко знает, когда будет проводиться демонстрация результатов спринта.
Лишняя функциональность
Может показаться, что большое количество функций является конкурентным преимуществом, но почти всегда это не так. Более того, таким продуктом обычно сложно пользоваться, сложно его разрабатывать, да еще его очень сложно поддерживать.
Насколько дорогой окажется поддержка, сильно зависит от длительности проекта. Проиллюстрирую это следующим графиком, на котором по горизонтальной оси отложена длительность проекта, а по вертикальной – стоимость. Если стоимость разработки новой «фишки» фактически не зависит от длительности проекта, то стоимость поддержки в длительных проектах вырастает. В некоторой точке эти графики пересекутся.
На практике понять, где находится эта точка (и соответствующая длительность проекта), очень сложно, так как ее расположение будет зависеть от многих факторов. С другой стороны, ясно, что для проектов, которые достаточно коротки, выгодной стратегией будет создание «фишек» без оглядки на стоимость поддержки в противовес проектам с длинным жизненным циклом.
Зависимость стоимости разработки и поддержки от длительности проекта
Если со стартапами все понятно, то для анализа проектов с жизненным циклом, длительность которых измеряется годами, можно рассмотреть следующую формулу стоимости разработки и поддержки «фишки»:
FC = StoryPoints × StoryPointCost + SupportCost
Она фактически иллюстрирует графики в аналитическом виде: первое слагаемое, которое представляет собой стоимость разработки, при увеличении длительности проекта не изменяется, второе же растет.
Зависимость стоимости разработки и поддержки от времени жизни проекта
Из этого можно сделать следующие выводы:
• в бесконечном проекте важна только стоимость поддержки;
• чем длительнее проект, тем важней стоимость поддержки;
• в долгосрочных проектах нужно оценивать стоимость поддержки, а не разработки;
• чем длительнее проект, тем выгодней вырезать ненужные «фишки».
Обратите особое внимание на четвертое следствие, которое практически обязательно для длительных проектов, тогда в определенный момент вам не придется переписывать продукт с нуля.
Глава 4. Управление командой
Если хочешь построить корабль, то не собирай людей, чтобы они принесли лес, и не распределяй задания, а лучше пробуди в них тоску по бескрайней дали моря.
Антуан де Сент-Экзюпери
Гибкие методологии опираются на людей и взаимодействие между ними, поэтому грамотное управление людьми выходит на первый план. В этой главе мы выясним, как мотивировать команду, оценивать и развивать ее в сторону гибкости.
Что такое команда
Определений команды существует несколько десятков. Будем придерживаться следующего, которое дал Майкл Армстронг.
Команда – это небольшая группа людей, взаимодополняющих и взаимозаменяющих друг друга, которые собраны для совместного решения задач производительности и в соответствии с подходами, посредством которых они поддерживают взаимную ответственность.
Этапы командообразования
Чтобы группа людей превратилась в сплоченную команду, она должна пройти несколько этапов. Наиболее распространенной моделью командообразования является модель Такмана.
Этапы командообразования
В своем развитии команды проходят несколько этапов.
1. Формирование.
На данном этапе происходит создание команды и постановка целей, распределение и закрепление ролей (в том числе социальных). Отдельные члены команды еще не очень понимают цель и задачи, которые перед ними поставлены.
Отсутствие направленности к цели у членов команды
2. Бурление.
На этом этапе участники осознают свои цели и определяют вектор движения. Обратите внимание, что векторы разнонаправлены между собой и с направлением, которое необходимо для достижения цели.
Разнонаправленность членов команды