Рауф Алиев: План управления «релизной» разработкой ПО, шаблон и методика

Рауф Алиев

Сегодня я хочу поделиться своей методикой планирования времени в релизной разработке ПО, которая может быть очень быстро внедрена в небольших коллективах. Она очень проста во внедрении и «поддержке», чем показала себя очень эффективной.

В разное время, имея разные задачи и разные ограничения в управлении разработкой, я испробовал все: от Microsoft Project и онлайн-сервисов до «самописных» решений. У каждого варианта есть свои недостатки и преимущества, и каждый из них заслуживает отдельной статьи. Сегодня речь пойдет о наиболее простом варианте — управление релизной разработкой в Excel-е. Также я поделюсь шаблоном этого плана, который каждый может доработать «под себя».

Стоит сразу сделать несколько оговорок, чтобы предупредить ненужный флейм. Описываемое мною решение задачи подходит не для любой команды разработчиков, не для всех задач, не для любого класса программных проектов и не для каждой методики разработки. У него есть очевидное преимущество — может быть внедрено в нулевое время, не требуется никаких серверов, специального ПО, вообще ничего не требуется, кроме офиса. Правда, желательно майкрософтовского. И, самое главное, это — пластилин, из которого каждый волен «вылепить» то, что подходит под его нужды.

Итак, задача: упорядочить процессы разработки и поддержки продуктов компании при следующих условиях: основную часть задач составляют задачи длительностью от дня до трех недель, каждая затрагивает одного разработчика и одного тестировщика, разработка ведется на «релизной» основе — раз в неделю оттестированные модули включаются в очередную версию, каждая задача имеет конкретного внутреннего «заказчика» (менеджеры), которому, конечно, важна дата релиза, где появится его задача, общее число параллельных задач в производстве — от десяти до пятидесяти.

Как я уже говорил выше, я испробовал разные способы упорядочивания работы с такими проектами. Microsoft Project, например, не обладает достаточной степенью гибкости в управлении изменениями в плане, так как он предназначен для управления связанными в проект задачами, в которых их очередность объясняется их сущностью, а не порядком поступления или срочностью. Менять задачи в плане MS Project местами довольно неудобно, особенно, если это нужно делать часто. Да и вообще, для описанной задачи там все неудобно.

Использовать сервисы web-based, как онлайновые, так и инсталлируемые на офисный сервер — лучше, потому что среди них выбор больше. Например, на прошлом месте работы я внедрил JIRA и мы ее очень активно использовали. Но минусов у нее хватает… Решения, которое нужно было мне, я среди них не нашел. Если кто-то может его подсказать, буду рад. Возвращаясь к теме планирования задач с использованием Microsoft Excel.

Вот так выглядит план:

Итак, строки плана — задачи. Столбцы имеют следующую структуру:

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

Внизу автоматически суммируются часы по всем задачам одного типа на неделю. Предполагается, что задачами одного типа занимаются программисты одной специализации, поэтому эти часы можно соотнести с доступными часами этих программистов. Как рассчитывать доступные для планирования часы — у каждого по-своему, например, можно заложить процентов 20 на исправление багов и на непредсказуемые срочные доработки, а 80 оставить для планирования. Прошедшие недели «сворачиваем» минусиками сверху. Новые недели добавляем копированием предыдущей недели на следующий период. При копировании можно автоматически пересчитывать даты и номер недели. Как только задача полностью выполнена, в блоке сделано ставим «Да». Настраиваем фильтр так, чтобы он не показывал сделанные задачи (снимаем галочку с «да» в первом столбце). Очень удобно, что при всем при этом работает фильтрация (Filter в «Excel») по строке 5, с заголовками.

Это позволяет отвечать на вопросы:

  • Все задачи одного «заказчика» (фильтр по Заказчик)
  • Все задачи на указанную неделю (фильтр по Total части «План» недели)
  • Все сделанные задачи (фильтр по «сделано») и все задачи, которые еще предстоит сделать (фильтр по «сделано»)
  • И многое другое…

Как только задач становится больше 50, или задачи более сложны по структуре, или исполнителей много, или вы чувствуете, что Excel — слишком сложный или неподходящий инструмент для планирования, тогда нужно искать что-то более подходящее, благо на рынке довольно много готовых решений. Для относительно простых ситуаций (а их все-таки большинство) данного инструмента, imho, было бы достаточно… если бы не следующий абзац.

Теперь я опишу решение, которое для меня было бы идеальным. Я не нашел нигде реализации похожей концепции и буду рад, если кто-то может ее подсказать:
Строки — исполнители (люди, группы или целые отделы), столбцы — время. Приходит новая задача — падает в «неразобранное». Я ее оттуда перетаскиваю на нужную строку, она либо раздвигает стоящие там уже задачи, либо перетаскиваю в хвост этих задач у конкретного исполнителя, и она цепляется в «водопад» после последней. Перетаскиванием я могу произвольно менять порядок очередных задач для исполнителя, но задачи для него всегда выстраиваются в «водопад». Либо могу переносить задачу с одного исполнителя на другого, тогда перестраивается «водопад» у обоих. После нажатия на кнопку «Применить » мне демонстрируется перечень изменений (заказчик — задача — старая дата — новая дата) и по нажатию на кнопку «Разослать» происходит уведомление заказчиков и исполнителей об изменениях. Текущая задача может быть в любой момент прервана, ее остаток может быть пересмотрен по времени и поставлен куда-нибудь в будущее или перенесен в блок «неразобранное» или вообще удален. Что происходит в этом случае? Все следующие задачи сдвигаются.

Вот иллюстрация:

 

 Шаблон плана управления релизной разработкой можно найти в блоге автора или в разделе «Полезное» на личном сайте

Расскажите коллегам:
Эта публикация была размещена на предыдущей версии сайта и перенесена на нынешнюю версию. После переноса некоторые элементы публикации могут отражаться некорректно. Если вы заметили погрешности верстки, сообщите, пожалуйста, по адресу correct@e-xecutive.ru
Комментарии
Участники дискуссии: Борис Зверев
Консультант, Москва
Как рассчитывать доступные для планирования часы — у каждого по-своему, например, можно заложить процентов 20 на исправление багов и на непредсказуемые срочные доработки, а 80 оставить для планирования.
Вот это грамотно, одобрям-с. Я в своё время проанализировал реальное время, затрачиваемое на ''внеплановые'' задачи, получилось сначала немного больше, но потом применил ''административный ресурс'' (сработал в роли прокси-сервера), и трудоёмкость внеплановых разработок и ''ожидаемых багов'' именно к упомянутым 20% (примерно) и вернулась.
Оставлять комментарии могут только зарегистрированные пользователи
Статью прочитали
Обсуждение статей
Все комментарии
Дискуссии
3
Евгений Равич
Хороший пример конспирологии. Есть реальные примеры? Просьба заодно уточнить, что такое "не понр...
Все дискуссии
HR-новости
Больше 70% россиян работают по выходным и во время отпуска

97% россиян регулярно задерживаются на работе.

В каких городах России наибольший прирост вакансий

В целом по России спрос работодателей за год вырос на 36%.

Исследование: какую зарплату хотят получать россияне

Пожелания по заработной плате мужчин и женщин коррелируются в зависимости от возраста соискателей.

80% работодателей отмечают нехватку квалифицированных работников

В целом слишком долгое закрытие вакансий волнует 45% представителей бизнеса.