Читаем Agile: оценка и планирование проектов полностью

Новые agile-команды нередко не знакомы с написанием автоматизированных модульных тестов или не имеют опыта в этом. Необходимый опыт нарабатывается в процессе первых нескольких итераций. В течение этого периода я предлагаю программистам идентифицировать и оценивать задачи по модульному тестированию в явном виде. Программист может, например, сказать, что кодирование новой функции займет восемь часов и что написание ее модульного теста потребует пять часов. Позднее, когда модульное тестирование войдет в привычку, программист будет заполнять только одну карточку на кодирование новой функции и давать оценку, включающую время на автоматизированное модульное тестирование. Когда что-то вроде модульного тестирования становится привычкой, его можно включать в другую задачу. До этого, однако, оценка в явном виде помогает не забывать о важности данной задачи.

<p>Учет совещаний (которых будет множество)</p>

Необходимо идентифицировать, оценить и включить в задачи совещания, связанные с проектом. При оценке совещания не забудьте учесть время всех участников, а также время, затраченное на его подготовку. Предположим, команда намечает провести совещание для обсуждения обратной связи от пользователей. На этом часовом совещании собираются присутствовать все семь членов команды, а аналитик планирует потратить два часа на его подготовку. Оценка для этой задачи составляет девять часов. Я обычно включаю такую оценку в план итерации в виде отдельной девятичасовой задачи, а не как отдельные задачи для каждого члена команды.

<p>Программные ошибки</p>

Agile-команды стремятся устранять все ошибки в той итерации, в которой они обнаруживаются. Это становится возможным с приобретением опыта работы в режиме коротких итераций, в частности в результате применения автоматического тестирования. Когда программист дает оценку задачи по кодированию чего-либо, он включает в нее время на устранение ошибок, выявленных в процессе реализации, или выделяет этот процесс и оценивает его как отдельную задачу («Устранение ошибок»). Я предпочитаю представлять это в виде отдельной задачи, но не считаю ее завершенной до тех пор, пока не будут выполнены все тесты.

С дефектом, обнаруженным позже (или не устраненным во время итерации, в которой он был выявлен), поступают точно так же, как и с пользовательской историей. Устранение дефекта следует приоритизировать в последующей итерации так, как приоритизируют любую другую пользовательскую историю. За пределами итерации идея дефекта в целом начинает сходить на нет. Устранение ошибки и добавление функции становятся двумя разновидностями описания одного и того же.

<p>Подход к работе с взаимозависимостями</p>

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

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

В качестве примера допустим, что естественный порядок для веб-сайта SwimStats предполагает реализацию функций, которые позволяют пользователю добавлять новых пловцов в систему, а затем реализацию функций, позволяющих пользователю просматривать лучшие результаты каждого пловца в соревнованиях. Было бы странно выискивать лучшие результаты до получения окон для добавления пловцов в систему. Это, однако, может быть сделано, если владелец продукта и команда захотят разрабатывать функции в таком порядке. Для этого, конечно, необходимо в достаточной мере проработать базу данных так, чтобы она могла накапливать информацию по пловцам и их результатам. Команде также придется ввести в базу данных информацию как минимум об одном пловце и его результатах. Поскольку это часть функции, которую она не хочет разрабатывать в первую очередь, придется добавлять пловца (и его результаты) в базу данных напрямую, а не через пользовательский интерфейс и разработанную программу.

Перейти на страницу:

Похожие книги

Свой путь
Свой путь

Стать студентом Университета магии легко. Куда тяжелее учиться, сдавать экзамены, выполнять практические работы… и не отказывать себе в радостях студенческой жизни. Нетрудно следовать моде, труднее найти свой собственный стиль. Элементарно молча сносить оскорбления, сложнее противостоять обидчику. Легко прятаться от проблем, куда тяжелее их решать. Очень просто обзавестись знакомыми, не шутка – найти верного друга. Нехитро найти парня, мудреней сохранить отношения. Легче быть рядовым магом, другое дело – стать настоящим профессионалом…Все это решаемо, если есть здравый смысл, практичность, чувство юмора… и бутыль успокаивающей гномьей настойки!

Александра Руда , Андрей В. Гаврилов , Константин Николаевич Якименко , Константин Якименко , Николай Валентинович Куценко , Юрий Борисович Корнеев

Фантастика / Современная русская и зарубежная проза / Попаданцы / Юмористическая фантастика / Юмористическое фэнтези / Деловая литература
42 истории для менеджера, или Сказки на ночь от Генри Минцберга
42 истории для менеджера, или Сказки на ночь от Генри Минцберга

В своей новой книге выдающийся теоретик менеджмента Генри Минцберг предлагает радикально переосмыслить существующие стратегии управления организацией. Противник формального подхода в любой работе, автор рассуждает на «неудобные» темы: отсутствие «души» в современных компаниях; важность традиций перед лицом инноваций; ответственность за качество товаров и услуг; контроль над положением дел на «низших» уровнях иерархии.Как всегда, Минцберг предлагает дерзкие и резонансные решения, иллюстрирующие извечную мудрость: «Всё гениальное – просто». А предложенная автором стратегия «сообщественности» – шанс для многих руководителей вдохнуть в свою компанию новую жизнь.Адресовано менеджерам любого звена, государственным служащим на руководящих должностях и всем, кому небезразлична судьба команды, в которой они работают.В формате a4.pdf сохранен издательский макет.

Генри Минцберг

Деловая литература / Зарубежная деловая литература / Финансы и бизнес