Про цели, метрики и вакуум

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

Например вы написали программу, протестировали приложение, прочитали семинар или  приготовили макароны. Как вы определите, что достигли желаемого результата?

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

Если не вдаваться в сложные рассуждения на тему абстракций, то у нас мало  первоначальных метрик для оценки подобных заданий. Главное о чем мы можем  спросить себя: “Доволен ли тот, ради кого мы старались?”. Если этот кто-то ваш  начальник — вам продложают платить зарплату, если партнер, то продолжается работа по  контракту и проект развивается.

Следующий шаг — ответить на вопрос: “Что делает его довольным?” Ответы могут быть  такими:

  • 80% фич по проекту поставляется во время.
  • Рентабельность проекта держится на уровне 20%.
  • Знания в компании накапливаются.
  • Текучесть кадров снижается на X%.
  • И т.п.

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

Часто мы не имеем первого и последнего этапа этой цепочки. Если изначальная цель не сформулирована — задачи формулируются исходя из каких-то личных представлений о цели, которую мы “вроде бы достигаем”. В этом случае наступает то, что я называю “вакуум целей”: отсутствие базиса для принятие решений. Простейший пример вакуума целей — ориентированность на бюджет. Если мы формулируем цель проекта, как “рентабельность не ниже….”, то так или иначе в процессе реализации проекта мы сталкиваемся с необходимостью принимать решения о качестве проекта, о мотивации проектной команды и наша единственная изначальна я цель либо не дает ответа, не задает базиса для принятия решений, либо (что хуже) заставляет принимать решения во вред проекта.

Вот здесь мы можем сформулировать еще одно важное утверждение. Формулирование целей решает две задачи:

  1. Задает базис для принятия решений и формулировании задач.
  2. Позволяет валидировать и верифициаровать результат. Т.е. по сути принять еще одно решение — цель достигнута.

Если говорить о процессе разработки проектов, то целями в этом случае являются фичи, которые разрабатываются и поставляются клиенту. В этом случае:

  • Цель – фича, набор фич, итерация.
  • Задача – задачи по разрботке, документированию, внедрению, поставке ПО.
  • Валидация/верификация задачи — тестирование, тестовые сценарии и т.п.
  • Валидация/верификация цели — Definition of DONE.

Цель — это и метрика и отправная точка.

Post Author

This post was written by who has written 293 posts on Yuri Shilyaev. Blog..

Руководитель образовательных программ в EPAM Systems Belarus, тренер в области управления проектами, SCRUM/Agile (CSM). Основатель сообщества Agile.by.

  • http://vk.com/id53572298 Konstantin Reido

    А что значит красная стрелка от поставленной цели к достигнутой?

    Вообще как-то очень кстати подвернулся пост, у меня сейчас штук 8 листов формата А4 исписаны какими-то, понятными только мне, словами и фразами… Получается, все что нужно сейчас, это определиться чего хочу (цели), сгруппировать записи с листов (задачи) и получить вектор на ближайшее время =)

  • http://ivan.vedenin.net Ivan Vedenin

    Не всё понятно с формулировками. Например:
    Цель – это что-то определённое и измеримое. Итерация – это вот что? Как проверить, что итерация совершена?

    Есть ещё одно красивое описание правильно описанной цели – это хорошо сформулированный результат. :)

  • http://yuri.shilyaev.com Yuri Shilyaev

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

  • http://yuri.shilyaev.com Yuri Shilyaev

    @Ivan
    У нас есть цель завершить итерацию. Мы можем ввести некоторые измерения этой цели:
    * >80% запланированных фич поставлены клиенту
    * Все фичи документированы
    * Проведена ретроспектива
    * Акт по приемке фич подписан клиентом

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

  • http://devprom.ru Евгений

    Кстати, постановка целей и их верификация как раз являются частью Agile практики под названием “проведение ретроспективы”. Именно на этом этапе команда ставит себе цели (проектные, качественные, количественные и др) на очередную итерацию (спринт), а также проводит анализ результатов достижения целей, поставленных на предыдущей ретроспективе.

  • http://yuri.shilyaev.com Yuri Shilyaev

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