Бизнес планы в ms project

Бизнес планы в ms project thumbnail

Инструменты для планирования в digital — вечная тема для споров. Не весь софт одинаково полезен, а нужный бывает сложным. MS Project как раз такой.

Знакомьтесь, это Microsoft Project, сложное ПО для управления проектами. Помогает менеджеру в текущих задачах: планировать, распределять ресурсы, анализировать сложность проекта. Автоматически делает отчеты и считает сметы. Если в нем разобраться, может стать незаменимым.

Программа похожа на MS Excel, но содержит больше функций. Визуально выглядит так: в левой части — таблица с данными: задачи, время и трудозатраты. В правой — графики, например, диаграмма Ганта.

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

Новый проект до внесения данных

Они зависят от типа проекта. Сначала пропишите общие этапы, а потом разделите на конкретные. Для примера будем делать простой интернет-магазин. Этапы могут быть такими: аналитика, главная страница, каталог товаров, интеграция с сервисами оплаты и доставки, личный кабинет.

На верхней панели выберите блок Задача и найдите кнопку Суммарная задача. С ее помощью создайте все общие этапы. Позже добавьте подробностей.

Общие этапы проекта

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

Сведения о задаче

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

Сведения о задаче Агрегация требований

Добавьте задачи в таблицу. У нашего интернет-магазина они будут следующие.

Для аналитики:

  1. агрегация требований;
  2. прототипирование;
  3. техническое задание;
  4. проектирование базы данных.

Для главной страницы и каталога товаров:

  1. дизайн;
  2. верстка;
  3. разработка.

Для оплаты и доставки:

  1. подключение PayPal;
  2. подключение СДЭК.

Для личного кабинета:

  1. авторизация;
  2. регистрация;
  3. восстановление пароля;
  4. бонусная система;
  5. отложенные заказы;
  6. персонализация;
  7. интеграция с Axapta.

Декомпозиция задач

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

Длительность задач

Пока вы вносите начальные данные о проекте в таблицу слева, справа автоматически строится диаграмма Ганта. Чтобы она отображалась корректно, установите зависимости между задачами. Например, чтобы сделать прототип интернет-магазина, сначала нужно собрать требования. То есть, третья задача списка зависит от второй. Все задачи программа нумерует автоматически по мере их появления.

Проставьте зависимости в графе Предшественники. Получится так.

Зависимости между задачами

Теперь раздайте задачи команде и отразите это в таблице. В правом нижнем углу есть пять разных вкладок. Диаграмма Ганта (большую часть времени вы будете проводить в ней), Использование задач, Визуальный оптимизатор ресурсов, Лист ресурсов и Отчет.

Выберите Лист ресурсов. В него внесите всех сотрудников, которые работают на проекте, их ставки за час работы и график. Укажите должности или фамилии, если в команде несколько сотрудников занимают одинаковую позицию. Так вы сможете избежать путаницы.

Допустим, что в команде по одному сотруднику на каждую должность. Вот, что получится.

Лист ресурсов.

Вернитесь во вкладку Диаграмма Ганта. Найдите графу Ресурсы и проставьте должности исполнителей напротив каждой задачи.

В проекте по созданию интернет-магазина аналитик отвечает за все задачи по аналитике, дизайнер — за дизайн, верстальщик — за вестку, программист — за разработку.

Задачи с проставленными ресурсами

Если какой-то ресурс перегружен, программа это покажет: слева от задачи появятся красные человечки.

Перегруженные ресурсы

Для этого перейдите в Визуальный оптимизатор ресурсов. Он выглядит так.

Визуальный оптимизатор ресурсов

Видно, что перегружен программист. Вернитесь назад в Диаграмму Ганта. На верхней панели выберите вкладку Ресурс, а потом кнопку Автоматическое выравнивание ресурсов. Программа сама перераспределит задачи так, чтобы разгрузить программиста. Но учитывайте, что время работы над проектом при этом увеличится.

Программа автоматически выровняла ресурсы

Мы немного познакомились с MS Project. Теперь с ее помощью вы можете планировать, распределять задачи и анализировать работу. Это только базовые навыки. Программа сложная, в ней много разных функций, некоторые никогда не пригодятся. Другие здорово упрощают жизнь, но не так просто их найти и научиться ими пользоваться.

Начинающему менеджеру проектов не обойтись без опытного наставника. На курсе Skillbox вас научат правильно работать с программой MS Project. Покажут, как ее использовать, чтобы упростить не только планирование, но и весь контроль над проектом.

Курс «Управление Digital-проектами»

Курс поможет вам оценить себя как менеджера: разобраться и понять, почему у вас что-то не получается. Определить, какие навыки и знания нужно подтянуть. И сделать это, выполняя практические задания.

  • Живая обратная связь с преподавателями
  • Неограниченный доступ к материалам курса
  • Стажировка в компаниях-партнёрах
  • Дипломный проект от реального заказчика
  • Гарантия трудоустройства в компании-партнёры для выпускников, защитивших дипломные работы

Источник

Я хочу поделиться своим опытом использования MS Project для управления проектами по разработке программного обеспечения. Я уже лет 10 занимаюсь управлением проектами,
и в результате у меня родилась некоторая методология использования MS Project, которая позволяет получить от него немалую пользу и при этом меньше зависеть от его недостатков.

Небольшое введение

Вся методология — это просто набор простых методов и рекомендаций по использованию MS Project для решения прикладных задач руководителя проекта. Сразу оговорюсь, что методология не претендует на универсальность, и применима только при некоторых ограничениях, которые я буду упоминать по ходу повествования.

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

Перед началом проекта

Перед началом проекта от руководителя проекта обычно требуется ответить на два вопроса:

  1. сколько проект займет времени
  2. сколько проект будет стоить

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

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

В процессе выполнения проекта

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

При завершении проекта

При завершении проекта руководитель обычно оглядывается назад и подводит итоги проекта. Чаще всего требуется оценить насколько проект выбился из плановых графиков и почему это произошло.

Что умеет MS Project

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

Разберем вкратце свойства сущностей.

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

Ресурс имеет много описательных свойств, но самое главное — для него можно
задать доступность во времени, для этого используется календарь. Ресурс может быть
назначен на задачу.

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

Как это использовать

Примечание Чтобы было понятнее, я уточню некоторые общие свойства проектов,
с которыми я работал. Итак, речь идет о проектах по разработке программного обеспечения,
которые состоят из нескольких этапов. В конце каждого этапа мы должны получить некоторый
осязаемый результат, который будет предъявлен заказчику, поэтому для нас важно оценить
срок не только проекта в целом, но и каждого этапа. Повторяю, единственный вид ресурсов
который требуется — это люди, причем мы не нанимаем специалистов со стороны, а используем
возможности уже работающих сотрудников.

Подготовка плана

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

  1. Сколько времени займет этот проект?
  2. Сколько (и каких) специалистов для этого потребуется?
  3. Какие примерно трудозатраты ожидаются по этому проекту?

Для этого мы готовим прикидочный план выполнения проекта в MS Project. Т.е. просто последовательно выписываем задачи, которые необходимо выполнить. Методика превращения техзадания в набор задач — это отдельная история, я не буду на ней сейчас останавливаться.
Подготовка плана выполняется в несколько этапов:

  1. Готовим список задач
  2. Выставляем зависимости между задачами
    (результат какой задачи необходим для перехода к следующей?).
  3. Назначаем исполнителей задач
  4. Выравниваем загрузку ресурсов
  5. Балансируем то, что получилось

Общие рекомендации

При подготовке плана придерживаемся следующих рекомендаций:

  1. Не используем суммарные задачи для декомпозиции.
    Все задачи помещаем в один линейный список. Сначала это может показаться неудобным,
    но зато избавляет от многих проблем в дальнейшем. Для управления структурой задач
    используем настраиваемые поля (см.ниже).
  2. Очень часто для управления зависимостями задач используют Drag&Drop. Когда задач много это быстро становится неудобно. Я рекомендую в этом случае не использовать перетаскивание, а явное указывать номера задач-предшественников. для этого можно добавить в таблицу столбец «предшественники» и вписывать номера задач вручную.
  3. Срок каждой задачи не должен превышать двух недель.
    Если срок задачи превышает неделю — это уже повод задуматься о её декомпозиции. Я придерживался очень простой методики оценки: примитивная задача — 2 дня, средней
    сложности — 1 неделя, сложная задача — 2 недели. При этом сложных задач не должно быть много. Такой подход дает возможность подготовить оценочный план довольно быстро.
    С одной стороны, полученная оценка, конечно, не будет точной, но, с другой стороны — а какая из них точная? По опытку практического применения могу сказать, что на
    больших проектах погрешности оценок отдельных задач обычно нивелируются, а на малых часто можно (и нужно!) использовать и более точные оценки.
  4. Всеми силами избегаем задач, у которых несколько исполнителей. Для каждой задачи должен быть назначен только один исполнитель. Двух исполнителей имеет смысл назначать
    только если они действительно работают вдвоем (например, вы практикуете парное программирование). В прочих случаях лучше декомпозировать задачу.
  5. При назначении исполнителей руководствуемся их профессией и квалификацией, пока не беспокоясь о равномерности загрузки.
  6. Используем суммарные задачи для разделения задач на этапы. Ставим зависимости между этапами, чтобы они шли последовательно. Разделение на этапы пока достаточно приблизительное.

Список задач, разделенный на этапы

Балансировка проекта

Самым главным в методике является именно балансировка. Цель этого процесса — подготовить план, в котором работы достаточно равномерно разделены между исполнителями на всем протяжении.

После первичной подготовки плана обычно получается полное безобразие, а не проект. Поэтому начинаем приводить его в порядок. Приведение в порядок заключается в ручной балансировке назначений исполнителей и разделений на этапы. Для этого используем группировку задач по исполнителям, чтобы увидеть как разложились задачи. Для удобства просмотра рекомендую сортировать задачи по дате начала.

Группировка задач по исполнителям

Примечание. Теоретически, для оценки загрузки полагается использовать графики
загрузки пользователей. Эти графики хороши (наверное) для начальства, когда они
оценивают готовый проект. Но они непригодны на этапе создания плана, так как показывают
что все плохо, но совершенно не дают информации почему это так и что можно сделать.

Дальше начинается магия балансировки. Требуется минимизировать сроки выполнения каждого этапа путем обеспечения более-менее равномерной нагрузки на всех участников проекта. Для этого мы выполняем следующие действия:

  1. Сменить исполнителя задачи.

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

  2. Перенести задачу в другой этап.

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

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

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

Учет рисков

Теперь — последний штрих: учет рисков. Честно признаюсь, я не занимался серьезным управлением рисками, но учитываю возможность возникновения определенных форсмажоров (таких как болезни исполнителей, забытые работы и т.п.). Для этого я добавляю в каждый этап фиктивную задачу с минимальным приоритетом, под названием «прочие работы» для каждого ресурса. После выравнивания ресурсов эти задачи оказываются в конце этапа. Длительность этих задач зависит от вероятности возникновения и степени вляния рисков, она зависит от способа определения оценок длительностей задач, здоровья членов команды и степени паранойи руководителя проекта. Обычно я выставлял длительность «прочих работ» примерно от трети до четверти длины этапа.

В результате всех перечисленных манипуляций у нас получается план выполнения проекта, с которым можно работать.

С этим планом мы можем:

  1. Назвать сроки выполнения проекта и его этапов. Аргументированно и с высокой степенью
    достоверности.
  2. Оценить примерные трудозатраты по проекту

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

Работа с планом

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

  1. Выдавать задания исполнителями
  2. Отмечать выполненные задания в плане
  3. Корректировать план в случае значительных отклонений

Выдача заданий исполнителями может выполняться по разному. Можно разбить выполнение на короткие итерации, формировать пул задач на итерацию и по окончании итерации отмечать результаты. Можно сразу озвучить лнителям набор задач на этап, выдать каждому по экземпляру диаграммы Ганта и периодически опрашивать о прогрессе. Можно использовать интеграцию MS Project и TFS и загрузить проект непосредственно в TFS. Суть не в средствах. Главное — это регулярное обновление плана. Я делаю это примерно раз-два в неделю. Это дает возможность достаточно быстро увидеть проблемные участки.
Для определения проблемного участка удобно использовать различные группировки — по исполнителями, по компонентам и др. Часто может оказаться, что проект в целом идет даже с опережением, но в определенном разрезе наблюдается отставание, например один из разработчиков неожиданно уткнулся в серьезную системную проблему, которая привела к отклонениями. Использование только средней метрики не покажет этой проблемы — она всплывет только в конце этапа, когда что либо делать будет уже поздно.

Отслеживание выполнения с группировкой по компонентам

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

Есть другая стратегия — внесение изменений в сроки задач, «выталкивая» невыполненные задачи вперед. При таком подходе для отслеживания отклонений от плана можно использовать другую полезную функцию MS Project — базовый план. Базовый план — это просто сохраненный снимок состояния задач. Его можно сделать в начале проекта. Для сравнения текущего плана с базовым, открываем «диаграмму Ганта с отслеживанием». Для динамичного плана, когда порядок выполнения задач часто меняется, это может оказаться неудобным, поэтому я вставляю в проект контрольные точки, отражающие некоторые важные результаты проекта, и отслеживать отклонения от базового плана только для них.

Диаграмма Ганта с отслеживанием

Управление структурой задач с помощью пользовательских полей

Я категорически рекомендую не использовать суммарные задачи в MS Project для функциональной декомпозиции или категоризации задач. Дело в том, что иерархия задач в MS Project сильно завязана на их последовательность. А часто хочется посмотреть на задачи в разной последовательности, при этом вся структура «рассыпается». Для управления структурой задач я рекомендую использовать Пользовательские поля. MS Project имеет предопределенный набор полей с неопределенным заранее поведением, которые мы можем использовать так, как нам удобно. Например, для разбивки задач по компонентам нужно на основе текстового поля Текст1 создать поле Компонент и задать для него список значений, соответствующий компонентам системы.

Создание пользовательского поля

После этого мы получаем возможность указать для каждой задачи компонент, к которому она относится, и, используя группировку задач по компонентам, отслеживать как идут дела.

Группировка задач по компонентам
Пользовательские поля позволяют разделять задачи по нескольким категориям, например, я разделял задачи по типу работ: Разработка, Тестирование, Документирование.
Упомяну для любопытных, что в MS Project также можно задать правила рисования диаграмм на основе свойств задач. При желании, можно сделать так, что задачи по разным компонентам будут иметь разные цвета, причем цвет будет определяться только свойством задачи, его не нужно задавать вручную для каждой задачи. Такие настройки не требуют написания сриптов, а делаются штатными средствами настройки диаграмм.

Использование пользовательских полей, а также встроенные в MS Project функции фильтрации, сортировки и группировки задач позволяют получить самые разные представления, которые позволяют получить ответы на многие вопросы, которые возникают у руководителя проекта.

Завершение проекта

В конце проекта мы получаем план, в котором все задачи выполнены. Обычно я стараюсь сохранять также и исходный план, хотя бы в качестве базового. Честно говоря, на этом этапе от MS Project мало проку, так как интересуют не плановые значения, а фактические. Какие-то решения этой проблемы предлагает MS Project Server, там есть возможность учитывать фактические трудозатраты, но это уже за пределами данной статьи.

Заключение

Я попытался обобщить свой опыт использования MS Project для практического решения задач, которые возникали передо мной, когда я руководил проектами по разработке ПО. Описанная методика не претендует не универсальность, но она, как мне кажется, достаточно проста и логична, при этом позволяет решать практические задачи руководителя проекта.
Использование этого подхода позволило мне успешно и в срок завершить не один проект.
Правда, случались и сбои. Это происходило, как правило, тогда, когда плохо была проведена подготовительная часть проекта, а именно — постановка задачи. Т.е. в результате проекта получалось не совсем то, что требовалось, а понимание этого приходило слишком поздно.

Наверняка я что-то упустил, не стесняйтесь задавать вопросы.

Источник