Преджде чем браться за любую работу (делать тренинг, проект или просто составить перечень вопросов для опросника) я пишу цели, которые хочу достичь. Это очень важно.
Например вы написали программу, протестировали приложение, прочитали семинар или приготовили макароны. Как вы определите, что достигли желаемого результата?
Если нам надо вырезать из металла на токарном станке 20 деталей определенного качества за день — это уже хорошая цель, измеримая и достаточная. Но что делать с довольно абстрактными заданиями, которые не так-то просто измерить? В нашей отрасли таких большинство.
Если не вдаваться в сложные рассуждения на тему абстракций, то у нас мало первоначальных метрик для оценки подобных заданий. Главное о чем мы можем спросить себя: “Доволен ли тот, ради кого мы старались?”. Если этот кто-то ваш начальник — вам продложают платить зарплату, если партнер, то продолжается работа по контракту и проект развивается.
Следующий шаг — ответить на вопрос: “Что делает его довольным?” Ответы могут быть такими:
- 80% фич по проекту поставляется во время.
- Рентабельность проекта держится на уровне 20%.
- Знания в компании накапливаются.
- Текучесть кадров снижается на X%.
- И т.п.
Часть из этих подцелей будет измерима довольно просто, для части надо придумать метод измерения. Каждая цель и подцель разбиваются на задачи, определяющие достижение цели. В качестве пояснения я изобразил такую картинку:
Часто мы не имеем первого и последнего этапа этой цепочки. Если изначальная цель не сформулирована — задачи формулируются исходя из каких-то личных представлений о цели, которую мы “вроде бы достигаем”. В этом случае наступает то, что я называю “вакуум целей”: отсутствие базиса для принятие решений. Простейший пример вакуума целей — ориентированность на бюджет. Если мы формулируем цель проекта, как “рентабельность не ниже….”, то так или иначе в процессе реализации проекта мы сталкиваемся с необходимостью принимать решения о качестве проекта, о мотивации проектной команды и наша единственная изначальна я цель либо не дает ответа, не задает базиса для принятия решений, либо (что хуже) заставляет принимать решения во вред проекта.
Вот здесь мы можем сформулировать еще одно важное утверждение. Формулирование целей решает две задачи:
- Задает базис для принятия решений и формулировании задач.
- Позволяет валидировать и верифициаровать результат. Т.е. по сути принять еще одно решение — цель достигнута.
Если говорить о процессе разработки проектов, то целями в этом случае являются фичи, которые разрабатываются и поставляются клиенту. В этом случае:
- Цель – фича, набор фич, итерация.
- Задача – задачи по разрботке, документированию, внедрению, поставке ПО.
- Валидация/верификация задачи — тестирование, тестовые сценарии и т.п.
- Валидация/верификация цели — Definition of DONE.
Цель — это и метрика и отправная точка.

