Руководители (неглупые, конечно) догадываются, что оценка небольших задач в человекочасах без привязки к конкретному человеку станет дополнительным источником погрешности: когда некий Вася говорит, что задача займет четыре часа, скорее всего, он имеет в виду четыре «Вася-часа», что совершенно не обязательно равно четырем «Коля-часам». Даже у одного и того же человека в течение дня минуты будут разными. Несложно поверить, что утром наши десять минут не такие, как вечером
[141]. Если мы за ночь отдохнули, то можем выполнить какое-либо дело в разы (а то и в десятки раз) быстрее, чем когда мы голодны, хотим спать и еще у нас что-нибудь болит.
Если измерять все наши трудозатраты только в часах, без учета интенсивности самих трудозатрат, получится то же самое, как если мы будем оценивать расстояние в днях пути. Давным-давно, когда средства передвижения были не столь разнообразны, это было оправданно; сейчас же указывать расстояние в днях пути без конкретизации способа передвижения уже неуместно. Расстояния, которые вы преодолеете за четыре часа пути пешком, на автомобиле и на самолете, отличаются на порядки. Так же как и эффективность получаса работы свежим и уставшим…
При оценке проектов в гибких методологиях разработки ПО используются относительные единицы трудозатрат (story points). Вся идея оценки основывается на том, что человек достаточно легко и точно оценивает не абсолютную, а относительную сложность или трудоемкость задач. Нам проще сказать, что задача A примерно такая же сложная, как задача B, а задача C примерно вдвое сложнее задачи B. Оценка тех же самых задач в абсолютных единицах времени будет содержать бо льшую ошибку{80
[142]. Конечно, методика оценки и планирования в гибких методологиях была разработана для командной деятельности
[143], но ее применение для планирования собственной работы тоже дает хорошие результаты.
Таким образом, если вам очень хочется в чем-то оценивать и планировать свою работу — попробуйте относительные story point (сторипойнты, можете дать им любое другое название, например: мозговатточасы или мыслетопливограммы). Чтобы вам было легче перейти на относительные единицы трудозатрат, вы можете по-прежнему оценивать задачи в «часах», но будьте готовы к тому, что за день вы будете выполнять задач не на 8–10 этих условных «часов» (как вы можете ожидать изначально), а на 1,5–2,5 (и это в продуктивный день). Еще один важный момент — следите за тем, чтобы динамический диапазон оценок (разница между наибольшей и наименьшей оценками) был невелик. Этот момент больше важен для командной работы, так как на задачи в нашем личном списке задач уже наложено правило «быть понятным даже обезьяне» (см. параграф 3.4) и подавляющее большинство задач будут более-менее схожи по сложности. Оценивая время, требующееся для выполнения задачи, я предпочитаю использовать буквально три категории: 15 минут, 30 минут, 1 час (это все не настоящие часы, а условные). Если внутренний голос говорит вам, что задача заслуживает больше, чем час, это сигнал задуматься:
1. Все ли, касающееся этой задачи, мне понятно? Мы нередко оцениваем как затратное не то, что реально требует много сил и времени, а то, чего мы не понимаем. А оценка непонятного может содержать в себе ошибку на порядки.
2. Действительно ли эта задача — первый шаг? Может быть, перед тем, как к ней приступить, надо выполнить что-то еще? Если так, тогда это «что-то» должно войти в наш список.
Конечно, в какой-то момент вам надо будет перейти от относительных единиц к абсолютным, то есть к дням или неделям, но на практике вы довольно легко найдете курс пересчета ваших относительных единиц в единицы времени. И, подобно курсам валют, этот курс не будет (и не обязан быть) стабильным и неизменным. Об этом пойдет речь в следующем параграфе.
4.3.5. Законы впихивания и разумная многозадачность
Один из тех случаев, когда использование метрик и оценок задач может быть оправданным, — это планирование своей работы с целью не набрать ее слишком много. Очень сложный момент в планировании и причина многих бед заключается в том, что мы ставим в план столько задач, сколько нам надо выполнить, а не столько, сколько мы можем выполнить
[144]. В подавляющем большинстве случаев нам надо сделать намного больше, чем мы способны. В результате нам приходится иметь дело с законом впихивания, столь же жестоким, как закон всемирного тяготения и прочие законы физики — их не обмануть и взяткой от них не откупиться.
Закон впихивания состоит из двух частей, эти части также можно назвать первым и вторым законами впихивания.
При попытке впихнуть невпихиваемое:
1) выпихивается ранее впихнутое;
2) уменьшается предел впихиваемости.
Первый закон впихивания утверждает, что по достижении некоего предела дополнительная работа начинает вытеснять предыдущую работу и шансы вытесненной работы быть доведенной до конца начинают стремиться к нулю (эффект, схожий с эффектом дырявого стека; см. параграф 2.3.2). Второй закон впихивания более суров, поясню его подробнее. Предположим, за неделю я способен выполнить задач в общей сложности на 10 мозговатточасов (или любых других относительных единиц трудозатрат, см. параграф 4.3.4). Пока мы предположим, что 10 мозговатточасов в неделю — это моя средняя производительность, она стабильна и не меняется от недели к неделе. Это, конечно, не так, потому что ничего стабильного не бывает, но вопросы флуктуаций будут обсуждаться в следующем параграфе. Так вот, если при такой моей производительности мне впихнут задач на 5 мозговатточасов, то я смогу выполнить их все и даже буду готов сделать что-то дополнительно. Если мне впихнут задач на 10 мозговатточасов, я тоже выполню их все — это верхний предел моей производительности. Но если мне будут пытаться впихнуть объем работы, превышающий мой предел впихиваемости, скажем, 12 мозговатточасов, то я уже выполню задач не на 10 мозговатточасов, а на 8 или 7. Чем больший объем работы мне впихивается, тем меньше полезной работы я смогу сделать (рис. 56). Фактически этот эффект схож с эффектом неэкономии масштаба из параграфа 2.3.4.