Что такое предсказуемость выполнения задач и как ее понять?
Когда обыватель задумывается о том, что же такое предсказуемость, он может привести следующее пояснение: «Это то, на сколько полученный результат совпадает с тем как это было запланировано, задумано». И тут его поджидает большая ошибка, так как он привел лишь частный случай предсказуемости. Чтобы понять что такое предсказуемость, нужно определиться с тем, что же такое результат. А результат является итогом — любым конечным итогом, какого-то процесса. Любым.
Представим, что обыватель сформировал план, качество и определил время на получение результата. И, действительно, это все необходимо для получения результата, чтобы задать вектор движения, запустив сам процесс. Но достаточно ли будет построенного плана чтобы реализовать задуманное? Конечно, нет. Сам по себе процесс созидания будет подвержен непредсказуемым явлениям, что вполне может привести к отклонениям от того, что было запланировано. В рамках интеллектуальной деятельности такие непредсказуемые явления довольно часты, а значит созданный план может совершенно не совпасть с тем процессом, которым добывается результат, как и сам результат отличаться от исходного представления.
Тогда что же представляет собой предсказуемость? На самом деле это ничто иное, как мера близости получаемого результата к схожему результату при использовании одного и того же процесса его получения.
А это приводит нас к удивительному открытию — сама по себе предсказуемость никак не связана с формулируемым планом, она связана лишь с самим процессом и вероятным количеством возникающих событий, влияющих на процесс получения результата. Понимая что же такое предсказуемость в вашей системе, вы вполне властны уместно формулировать план и критерии получения результата и воздействия на процессы для проведения изменений в них к тому результату, который вам необходим.
Отсюда можно смело сделать несколько выводов:
- Любые действия, которые производятся, нужно воспринимать как эксперименты;
- Определить критерии желаемого необходимо, чтобы была точка отсчета;
- Анализировать получаемый результат необходимо;
- А так же по результатам ваших экспериментов потребуется и коррелирование ваших критериев.
Давайте перейдем к примерам.
Пример Лучника. Допустим мы поставили задачу двум лучникам попасть точно в цель мишени размером в монету с расстояния в 12 метров. На результат этого действия будет влиять как опыт лучника, так и ветер, его снаряжение, освещенность солнца, и даже влажность воздуха. В новых для себя условиях лучник обязательно попросит провести опыт «пристрелки», чтобы несмотря на свой опыт понять, как сочетание текущих условий повлияет на результат.
Первый лучник делает «пристрелку» и на мишени видим следующую картину
А у второго лучника после «пристрелки» получается вот такой результат
Из этого результата мы видим, что шансы попасть у первого лучника куда больше чем у второго. Так как первому лучнику достаточно скорректировать свой прицел. А вот второму лучнику, необходимо перепроверить свое оборудование или иные параметры и условия для того чтобы попасть в цель.
И уже сейчас мы можем сказать о том, что у первого лучника предсказуемость больше чем у второго. При этом мы можем даже задать меру этой предсказуемости по кучности того как он попадает в цель.
Как же можно определить предсказуемость в выполнении интеллектуальных задач?
В интеллектуальных задачах мы можем определить ожидаемое качество и сформулировать необходимый результат, но часто плохо можем определить время решения этих задач. Однако вполне можем задать меру, на основании которой можем выработать критерии о предсказуемости и эта мера во времени будет называться Lead Time.
Lead Time — время от момента соглашения (commintemnt) о взятии задачи в работу, до момента ее решения.
Допускаю, что вы уже научились измерять время решения задач. А так же научились строить частотный график Lead Time и умеете строить график Control Chart.
И вы уже в курсе того, что время решения задач подчиняется законам логарифмического распределения в следствии того, что не имеет возможности показывать отрицательные значения или ходить вспять. О чем повествовал я в докладе на Flow Days 22.
Но что нам дают эти графики?
Как и с примером мишеней лучников, мы можем обратить внимание на «кучность» или «моды» наших типовых задач. А типы задач стоит определить как схожие действия при решении этих задач. Теперь мы можем определить какое количество задач решается за какое количество времени. Тем самым определить процентиль от количества соответствующему отрезку времени Lead Time для каждого отдельного типа задач.
Давайте посмотрим на эти графики
Мы уже визуально можем понять, что предсказуемость у графиков слева выше, чем те, что находятся справа, потому что в графике слева «разброс» меньше, чем «разброс» справа. Итак, если мы понимаем, что мера предсказуемости — это определение количественного измерения разброса по этой мере, тогда давайте определим выбор формулы для нашей предсказуемости.
В частотном графике мы можем определить статистические параметры распределений таким образом:
- Возьмем медиану — это время за которое решается 50% задач
- И 98 процентиль, что соответствует времени решения 98 процентов задач.
И если возьмем отношение времени решения задачи по 98 процентилю к медиане, то получим меру разброса этого распределения. T(98%)/T(50%) = R, это безразмерная величина, определяющая величину разброса по нашему результату времени решения задач, которую мы можем назвать предсказуемостью.
Эмпирически (найденное опытным путем) мы можем определить конкретное значение для этой предсказуемости и сказать, что если «R» будет меньше значения «k», тогда наш результат является предсказуемым. Так коллеги из Kanban Univercity в рамках предложенной работы «Illustrated Essential Kanban Codenced Notebook» задали такое значение как «5.6».
Те, кто работает с частотными диаграммами, связанными с логарифмическими распределениями, используют понятия «Толстый хвост» и «Тонкий хвост». Раскрытие этих понятий не входит в мой план изложения, однако вы уже понимаете их практический смысл. Для более глубокого понимания практического значения этих понятий рекомендую прочитать книгу «Черный лебедь» Нассима Таллеба.
Верно ли будет использовать это значение для вашего процесса? Это вопрос к тому, как организован ваш процесс. На самом деле вы самостоятельно, исследуя свои процессы, можете определить критерий предсказуемости, основываясь на своей эмперике.
Например, исследуя показатели в нашей компании, мы обнаружили, что показатель 98% может быть очень большим и по-этому для применения в текущей операционной работе отношение 50% к 98% плохо применим. Это оказалось связно с тем, что существует большое количество задач, которые были взяты в работу по причине простого желания поработать над ними и эти задачи оставались без внимания в случае получения задач, которые имеют большую ценность для бизнеса. На случайные выбросы, могут влиять и другие факторы, которые непременно стоит изучить и понять каким образом вас стоит митигировать такие риски.
И в нашем случае некоторые менеджеры стали брать отношение 85% к 50% как более устойчивый показатель. Константу для определения предсказуемости так же определили на основании своего же исследования, ответив на вопрос — на сколько удовлетворяет спросу результат исследуемых процессов.
Так измеряя это отношение T(98%)/T(50%) = R или T(85%)/T(50%) = R, можно создать свертку данных по отрезкам времени чтобы определить какие значения есть за этот период у процентилей, можем получить динамику значений для нашей предсказуемости «R». Вот пример двух графиков предсказуемости одного и того же сервиса:
- По отношению 98%/50%
- По отношению 85%/50%
На этих примерах видна разница влияния «выбрасов» в задачах этого сервиса.
Есть ли другой способ определить предсказуемость?
Да, конечно, есть. Так в статистике имеется и другие инструменты. Например, инквартильный (межквартильный) размах, который определяется разницей между 75% и 25%, T(75%) — T(25%) = IQR.
А в производстве, при определении качества продукции, используется метод трех сигма, критерии которым так же были определены эмпирически, только это уже называется не предсказуемостью, так как не связано со временем, а связано с размерами. Более подробно про этот математический аппарат можно прочитать в книге «Статистическое управление процессами«.
Так же стоит упомянуть пример, который взяли на вооружение в компании Atlassian, для своего Issue Traker «JIRA», где на графике Control Chart показывается голубая зона разброса, которая рассчитывается по верхнему пределу в 85%, а по нижнему в 25% относительно скользящей средней (Rolling Average).
И предсказуемость в этом графике определяется мерой разницы между этими значениями R = T(85%) — T(25%). Чем уже эта область, тем выше предсказуемость.
Что нам дает предсказуемость?
Предсказуемость показывает действительную область с высокой степенью вероятности получаемого результата и меру разброса этого результата. Вы можете ее принять как факт того, как работает ваш процесс.
В случае, если наша предсказуемость не совпадает с желаемым планом, то это драйвер к проведению изменений в ваших процессах , а значит это один из важнейших показателей для Delivery Manager и других менеджеров изменений. Определив критерий предсказуемости, вы можете ориентироваться на него, чтобы получить узкую область временных показателей Lead Time, не стремясь сократить время решения, а увеличить точность по времени решения. Что будет являться качественным произведением улучшений системы.
Вы можете добиться хорошего результата по предсказуемости поставки, улучшая качество самого процесса, а не стремясь лишь сократить время на решение, что может привести к плохим последствиям. Ведь присказка о том, что девять женщин не может родить одного ребенка за 1 месяц часто актуальна при взаимодействии бизнеса и производства.
С дугой стороны, если же вы понимаете, что важнее сократить время решения, а не улучшить точность поставки, тогда вам нужно улучшать не качество работы, а менять всю систему. О чем хорошо может повествовать книга «Цель» Элияху Голдратта.
Небольшой итог
- Принимайте любой результат работы как эксперимент, который дает вам информацию о том, как работает ваша система и как влияют на нее внутренняя и внешняя среда. Ограничивая влияние этих сред, вы можете корректировать ваш результат.
- Предсказуемость — это повторяемость результата ваших экспериментов, а так же качественная мера вашего текущего процесса. Сначала научитесь улучшать этот показатель, а уже потом стремитесь уменьшать показатель времени всей системы.
- Критерий предсказуемости — это эмпирическое значение, которое в разных средах может быть выбрано свое. Хотя никто не мешает использовать значения других практиков.
- Планирование необходимо коррелировать с учтем фактических показателей предсказуемости в случае сильного разброса, вероятно ваша система не готова к инструменту «Dead Line» и вам сначала нужно повысить предсказемость. Сначала научитесь просто попадать в одну область, а уже потом корректировать прицел.