Наверное, я не буду слишком оригинальной, повторяя, что управление подразумевает измерение. Особенно актуальна эта тема для больших компаний.
Эта статья не претендует на абсолютную полноту и на абсолютную истину. Меня тут недавно просто попросили по-человечески предложить список метрик, которые нужно измерять в проектах, и подумать, какие из них можно давать высшему руководству для оценки ситуации. Статью можно рассматривать как первую итерацию моих предложений.
Любые замечания, дополнения и предложения со стороны приветствуются.

Основные идеи


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

Факторы риска — это не сами риски. Это причины, лежащие в основе появления рисков.
Для своего проекта (разработка информационной системы для внешнего заказчика) можно определить следующие основные факторы риска:
  • Риски, связанные с текучестью кадров (в отрасли, в компании)
  • Ограничения по срокам, бюджету и времени
  • Ограничения, налагаемые требованиями к качеству
  • Внутренние политические факторы (внутренняя политика в к��мпании заказчика и в вашей компании, которая может помешать выполнению проекта)
  • Внешние политические факторы (могут быть важны при работе с крупными государственными заказчиками)
  • Недостаточный уровень технологической экспертизы в команде
  • Человеческий фактор: люди, избегающие ответственности, имеющие негативный опыт в предыдущих проектах
  • Низкий уровень организационной зрелости в компании

Не все эти факторы можно всегда положить в основу численных метрик. Однако, поставить своеобразные «индикаторы положения дел» в тех рисках, которые вы пока еще не можете выразить количественно, но можете оценить качественно («всё пока хорошо/плохо/ужасно»), по-моему, не помешает.
Основные типы метрик

В общем случае, для проекта я считаю вполне разумным начинать определять следующие типы метрик:
  • Показатель текучести кадров
  • Показатель утилизации ресурсов
  • Показатели, связанные со сроками и бюджетом проекта
  • Показатели, позволяющие оценить качество разрабатываемого продукта
  • Интегральные показатели прогресса проекта

В целом, можно использовать следующий подход к выбору метрик для проекта:
  1. Метрики этапов ЖЦ и календарного плана: Следить за графиком работ по этапам ЖЦ и сравнивать фактические и запланированные значения.
  2. Метрики расходов по проектам / добавленной стоимости: Следить за значениями кумулятивной величины расходов в сравнении с бюджетом, а также общей стоимости проекта, постоянно обновляя данные по мере реализации проекта.
  3. Метрики отслеживания изменений в требованиях: Число изменений в требованиях в масштабах проекта.
    Метрики процесса разработки: Следить за числом реализованных в модели требований в сравнении с общим числом требований в проекте.
  4. Метрики типов отказов: Отслеживать причины отказов ПО.
  5. Остальные метрики по дефектам: Графическое представление числа отказов в месяц по месяцам на протяжении всего времени выполнения проекта.
  6. Обзор метрики эффективности: Отслеживать плотность ошибок по фазам и использовать диаграммы для определения «пиков» и «провалов» на кривой, а также превышений предельно допустимых значений.

Анализ состояния проекта

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

Для того, чтобы понимать, какие проблемы ждут нас впереди, и что может получиться в итоге, можно подготовить для анализа несколько цифр:
  • Запланированный объем работ, бюджет, ресурсный план.
  • Аналогичные цифры (объем работ, бюджет, ресурсный план) для других проектов того же профиля — для сравнения (сильные вариации должны указывать на проблемы)
  • Фактор сложности проекта — величина, характеризующая общий объем всех внешни�� артефактов проекта, умноженная на коэффициент сложности, определенный для каждого из внешних артефактов.
  • Суммарный риск, связанный с расписанием — суммарная величина, отражающая изменения расписания в проекте, с учетом вероятности их возникновения (выражается в человеко-часах). Например, можно оценить, сколько времени ваша проектная команда проведет на больничном, и сколько времени будет находиться в отпусках. Можно попробовать оценить, на сколько времени задержит поставку оборудования поставщик, вечно опаздывающий с поставками как минимум на три недели.
  • Общий риск, связанный с бюджетом — суммарное значение всех непредвиденных расходов по проекту, на основании плана бюджета на непредвиденные расходы, с учетом вероятности их возникновения. Например, можно включить сюда компенсации непредвиденных изменений трудозатрат, накладных расходов и т. п., возникающих в ходе работы над проектом.
  • Сложность плана проекта — число взаимосвязей и взаимозависимостей между различными работами в плане-графике, отнесенное к общему числу всех работ в плане-графике. Влияет на резерв времени, который нужно заложить в проект для учета сдвига сроков выполнения задач, неожиданно «подвинутых» за счет связей. Кроме того, в проект с большим числом взаимосвязей бывает очень сложно добавлять новых людей, и делать это нужно (как правило) не раньше, чем удастся упростить план проекта — например, за счет реорганизации бизнеса.
  • Плотность проекта — отношение суммарной продолжительности всех работ в плане-графике при их последовател��ном выполнении к сумме ее же и общего запаса (резерва) времени для всех запланированных работ. Чем выше плотность, тем сложнее будет выполнить проект. Не просто выполнить в срок — тем будет сложнее вообще выполнить проект.
  • Независимость проекта — отношение между числом зависимостей для внутренних работ проекта и общим числом зависимостей, включающим зависимости от внешних работ и поставщиков. Думаю, здесь все очевидно: чем независимее проект, тем больше шансов на успех. Жаль только, что такие проекты в IT-индустрии в последние 10 лет практически не встречаются.
  • Людские ресурсы: максимальное число участников проекта (время подумать: а есть ли у нас вообще необходимое количество людей? а есть ли «запасные» на непредвиденный случай?)
  • Суммарный запас времени: общий запас (резерв) времени для всех запланированных работ.
  • Оценки требований SLA или требований к качеству, минимально удовлетворяющих требованиям для разрабатываемого продукта, системы или сервиса.

Разумеется, все эти цифры:
а) берутся не с потолка. Они вырисовываются на основании известных вам фактов (например, плана-графика отпусков, среднегодового количества дней, проведенных на больничном каждым из членов вашей проектной команды, и прочих статистических данных о ее работе).
б) регулярно обновляются. И вообще могут быть достаточно корректными только после того, как у вас подошла к концу фаза анализа.
Думаете, все это настолько тривиально, что совершенно не стоит упоминания? Тогда те менеджеры проектов, кто в любой момент времени ��ожет ответить, не вышел ли он за пределы бюджета на непредвиденные расходы по своему проекту, пусть расскажут, как они это делают. Как расчитывают непредвиденные расходы бюджета по портфелю проектов, находящемуся в их управлении? Кто умеет составлять ресурсные планы с точностью до 10% — как он делает это?
Диагностические метрики

Основные метрики, позволяющие вам оценить, что происходит:
  • Бюджет выполненных работ (плановый и фактический): постоянно изменяющаяся величина (с нарастающим итогом) суммарной стоимости всех запланированных работ по проекту, завершенных на настоящий момент.
  • Отношение фактического бюджета к плановому бюджету: если этот коэффициент не превышает 1, то проект укладывается в бюджет в среднесрочной перспективе; если нет, то, вероятнее всего, бюджет будет перерасходован.
  • Дисперсия издержек: разность между запланированным бюджетом работ, которые должны были быть завершены на текущий момент согласно календарному плану, и фактическим бюджетом, позволяющая оценить размер перерасходов или неосвоенного бюджета в проекте.
  • Исполнение расписания: отношение фактических трудозатрат на выполнение завершенных работ, к запланированным на выполнение этих работ трудозатратам (планируемой трудоемкости). Этот параметр используется для оценки рисков возможности несоблюдения графика.
  • Дисперсия календарного плана: разность между фактическими трудозатратами для выполненных работ и планируемыми трудозатратами. Это абсолютное выражение того же параметра, который представлен в виде коэффициента.
  • Отставание от графика: суммарная продолжительность времени задержки задач, не уложившихся в план-график.
  • Коэффициент закрытых работ: отношение числа завершенных (закрытых) работ к общему числу запланированных к завершению на данный момент работ.
  • Производительность труда, вычисляемая как отношение объема работ к затраченному времени (отклонение от запланированных значений)
  • Фактические значения результатов проверки требований SLA или требований к качеству для разрабатываемого вами программного продукта или сервиса. Об SLA я когда-нибудь расскажу подробнее.

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

Я думаю, всем понятно, почему важно их собирать. Разделение между диагностическими и ретроспективными метриками — в том, что первые используются для анализа ситуации «здесь и сейчас» с целью экстренного реагирования, а ретроспективные служат для оценки прошедших событий и сравнения со светлым будущим.
  • Коэффициент надежности оценки: отношение произведения стоимости проекта на его продолжительность к кумулятивному значению нарастающей ошибки планирования.
  • Отношение фактической производительности труда к запланированной, вычисленное по фактическому и запланированному графику: разница вычисляется в процентах от запланированного графика.
  • Процент трудозатрат, приходящихся на фазу проекта/отдельную группу задач
  • Отношение объема работ в тестировании к общему объему работ

Пожалуй, на сегодня все.
Есть ли у кого-то еще свои соображения по поводу метрик, относящихся непосредственно к области управления проектом?