Статья для тех, кто испытывает трудности в прогнозировании времени, которое будет затрачено на выполнение задачи.
Раньше я сам был таким человеком
И не мудрено - никто не рождается с навыком идеально точного планирования.
Сейчас я довольно точно, в некоторых случаях даже до минуты, могу оценить сколько времени займёт у меня выполнение той или иной задачи, что при прежних попытках планирования казалось чем то невозможным.
Прежде чем я расскажу как этому научиться, я назову два основных плюса которые нам даёт этот навык:
1. Глубокий контроль над собственным временем
Если вы не контролируете своё время, вы не контролируете свою жизнь. Работа и прокрастинация заполняют всё пространство, а на то, что вы действительно хотели бы сделать, и вовсе не остаётся времени. Чтобы начать заниматься спортом, каким то хобби, начать изучать что-то новое, и действительно это сделать, это нужно запланировать на конкретное время.
Зная, сколько времени занимают у вас ваши задачи, можно составить чёткий план на день, и уже в начале дня знать, какие задачи будут сделаны, и что будете делать в перерывах. И именно знать, а не «наивно полагать», как это часто бывает, когда только начинаешь планировать. Это в разы улучшит качество жизни, и вы будете успевать больше жить для себя, не смотря на то, что часов в сутках останется столько же.
2. Определение реалистичных сроков для заказчиков
Бывает нужно оценить срок выполнения проекта или его части. Если ошибиться с оценкой, или хуже того - ошибаться регулярно, в глазах заказчика вы будете человеком, которому нельзя верить, который всегда заваливает срок, какой бы он не назвал. Отношение будет соответствующее, и по возможности заказчик предпочтёт более ответственного и пунктуального исполнителя.
Напротив, если вы всегда укладываетесь в оговоренные сроки, вас будут ценить на вес золота.
Особенно это актуально если вы работаете по почасовой ставке: в этом случае вас могут избавить от «глаза Саурона» - необходимости использования тайм-трекера, фиксирующего всё что происходит у вас на рабочем столе.
Например я работаю по достаточно высокой часовой ставке, и стоимость фиксирую ещё до начала работ. Везде в командах где использовались тайм-трекеры, от меня не требовалось его использование, так как важен результат а не сверхконтроль.
Сверхконтроль лишь мера для тех, кто не способен оценить свои времязатраты - а я способен, к тому же я не люблю когда меня сверхконтролят, будто над душой стоят, это скорее мешает работе, нежели помогает.
Как же научиться точно оценивать собственные времязатраты на задачи?
Делюсь способом, который на моём примере доказал свою эффективность:
Приучите себя засекать время прежде чем приступать к какой либо задаче, и по её завершению останавливать таймер.
Не для того чтобы кому-то показать потом, только для себя. Сделайте своей целью на каждый день фиксировать на таймер всё, чем бы вы ни занимались. Используйте удобные программы, предназначенные специально для этого.
Я использую Clockify (для всех устройств, к тому же бесплатно), там можно написать над чем именно ведётся работа каждый раз при запуске таймера, и подсчитать сколько всего времени было затрачено на проект в целом.
Поверьте, это не так то просто - вспомнить что нужно запустить таймер, и даже сразу же по завершению задачи остановить его.
Но это того стоит! Вопреки ожиданиям, я не предложу читать свою историю фиксирования времени, и зубрить сколько уходило времени на те или иные задачи. Удивительным образом, каждый раз, когда вы засекаете время, в голове откладывается результат. И через пару месяцев, а то и нескольких недель регулярной фиксации времени, вы сможете навскидку определять сколько времени потребует от вас та или иная задача. И что самое главное - действительно попадать в цель. И не один из двадцати раз, а как минимум восемь из десяти.
Повторюсь, я сам был удивлён эффективностью этого метода, когда угадывал с точностью до минуты, сколько займёт у меня задача.
Более того, несколько раз я с точностью до минуты угадывал сколько займёт событие не зависящее только от меня - например командное собрание, длительность которого могла варьироваться от часа до шести часов. Это удавалось за счёт того, что я посещал их достаточно длительное время, и на основе всех фактов которые у меня были, а также вышеописанного навыка.
Попробуйте, игра стоит свеч!
Если вам интересна тема планирования - дайте знать в комментариях, и тогда в одном из следующих постов я расскажу как планировать день, чтобы план совпадал с реальностью, а не разочаровывал своим существованием.
Как у вас дела с оценкой время-затрат?
Ответьте на вопрос и поделитесь в комментариях. Может быть вы знаете ещё какой либо хороший способ прокачки этого навыка?
Комментарии (56)
ss-nopol
12.04.2023 14:25+5Если пишешь что-то новое или работаешь со своим или очень знакомым кодом, то оценить время часто вполне реально. Но если требуется нырнуть в какое-то неизвестное легаси, то оценить время трудно и любая мелочь может потребовать больших затрат.
whoisking
12.04.2023 14:25+2Если пишешь что-то новое ...--//--... то оценить время часто вполне реально.
Как?
ss-nopol
12.04.2023 14:25+1Имеется в виду, если уже известно что и как делать, требуется только реализовать в коде. К примеру, есть программа, которую ты же и написал, требуется добавить новую функциональность, которую понятно как именно это реализовать, либо модифицировать существующее что-то.
Ключ для успеха - отсутствие взаимодействия с чужим кодом, особенно с легаси.
buratino
12.04.2023 14:25если уже известно, что и как делать - это заведомо не новое, это скорее кут энд паст, и то при этом подходе полно сюрпризов
HiDiv
12.04.2023 14:25+4Полностью согласен с предыдущем комментарием. Мне по работе очень часто приходится оценивать задачи, причем как для себя, так и других сотрудников. Если рассматривать какую-то "типовую задачу" или любую доработку, для которой можно применить какую-то известную и проверенную метрику, то оценка почти всегда точная. Например, известно, что добавление одного "мета-описания поля к сущности" занимает в среднем 15 минут, но если этих полей более 10, то время можно уменьшить до 10 минут (эффект "копипаста"), то итоговая оценка получается весьма точной. Если же приносят задачу, решение которой весьма не очевидно, либо возможно придется проверить несколько (1, 2 или 5?) вариантов решения, то можно называть любую цифру! Единственная метрика тут, что "за неделю" (две, месяц) должен сделать (но не факт!)... А если заказчик просит за пару часов оценить новый проект, который будет длиться возможно год или два с точностью "хотя бы до месяца", то вообще можно сказать цифру в зависимости от того "чешется сейчас правая или левая нога".
Подводя итог, хочу сказать, что почитать про опыт в точной оценке было бы очень интересно, но для "исследовательских задач" или "больших объемов работ" точно сказать (и обосновать!) что-то конкретное практически нереально (IMHO)...
Proydemte
12.04.2023 14:25+13Я могу всегда точно до секунды — оцениваешь раза в три-четыре больше чем требуется. Если задача сложная, то в десять раз.
Потом ставишь в крон вызов jira api, которая закрывает задачу в нужную секунду. Важно — секунд за тридцать, до вызова метода закрывающего задачу, ставишь вызов парочки методов, которые получают данные по этому тикету, чтобы прогреть jira, иначе сложно добиться секундной точности.
Rikkster Автор
12.04.2023 14:25-3Я скорее о реальном выполнении задачи, для себя а не для отчётности. Я когда начинаю делать задачу, в гугл календаре выделяю время для неё. И несколько раз когда я заканчивал задачу, возвращаюсь в календарь чтобы скорректировать время - а закончил в точности когда заканчивается событие в календаре. И это всегда меня очень удивляло. Поэтому решил написать статью об этом.
Proydemte
12.04.2023 14:25Это вообще то сарказм. Обычному человеку вот этот таймтрекер и минутные предсказания, никуда не упёрлись.
Rikkster Автор
12.04.2023 14:25-3Безусловно есть такие, кому это ни к чему. Эта статья не для них. Лично мне очень помогает этот навык, я одновременно делаю несколько проектов, и точно знаю когда я буду делать один а когда другой, и когда отдыхать при этом. Эффективно двигать прогресс, укладываясь в сроки. И в частности благодаря этому мне удаётся отдыхать 6-7 часов каждый день, работая 8 часов каждый день. Не думаю, что многим фрилансерам удаётся вообще как в принципе отдыхать. Этот навык - первый шаг.
lair
12.04.2023 14:25И в частности благодаря этому мне удаётся отдыхать 6-7 часов каждый день, работая 8 часов каждый день
Гм. 8 часов работы, 8 часов сна - 16 часов. Остается 8 часов, из которых вы 6-7 отдыхаете. Если у вас нет других дел, то это не удивительно. А если есть другие дела, то удивительно, но к оценке времени задач отношения не имеет.
Rikkster Автор
12.04.2023 14:25-3На самом деле имеет, объясню почему: человек который не умеет оценивать сроки, как правило обозначает меньшее время, чем необходимо. Поэтому ему приходится работать целые сутки, а иногда и засиживаться в ночь, чтобы хоть как то впритык успеть сдать работу. Большинство фрилансеров так и живёт, и я сам этот путь проходил. Да, тут поправка, что речь идёт про удалённый график, а не про то, что к определённому времени явился на работу, и по окончании рабочего дня ушёл.
lair
12.04.2023 14:25+1На самом деле имеет, объясню почему: человек который не умеет оценивать сроки, как правило обозначает меньшее время, чем необходимо. Поэтому ему приходится работать целые сутки, а иногда и засиживаться в ночь, чтобы хоть как то впритык успеть сдать работу.
То есть дело не в том, что вы отдыхаете 6-7 часов, работая 8, а в том, что вы просто работаете 8 часов, а не больше.
А теперь сюрприз: когда я недооцениваю задачу (что тоже бывает), я все равно не работаю больше, чем обычно. Потому что недооцененная задача - часть рабочего процесса. А когда переоцениваю - не работаю меньше.
Так что работать 8 (или сколько там комфортно) часов - это само по себе часть рабочей этики и правил, а корректная оценка задач к этому перпендикулярна.
Rikkster Автор
12.04.2023 14:25-1Если ваш заказчик или работодатель спокойно относится к тому что вы вылезаете из сроков, это скорее исключение чем правило. Тем не менее, если постоянно укладываться в сроки, это явно улучшит впечатление о вас у всех, кто с вами будет работать.
lair
12.04.2023 14:25А откуда вы взяли "постоянно" или "непостоянно"? Речь же не об этом. Речь о том, как себя вести, если это случилось (потому что это рано или поздно случится).
lair
12.04.2023 14:25Вопреки ожиданиям, я не предложу читать свою историю фиксирования времени, и зубрить сколько уходило времени на те или иные задачи. Удивительным образом, каждый раз, когда вы засекаете время, в голове откладывается результат. И через пару месяцев, а то и нескольких недель регулярной фиксации времени, вы сможете навскидку определять сколько времени потребует от вас та или иная задача.
Ну вот я пользуюсь таймером (сравнительно аккуратно), и не читаю его историю - т.е. ровно то, что описывает автор. Так вот, вопреки тому, что описывает автор, у меня в голове никакой результат не откладывается. Откладывается только если смотреть на конкретные задачи и сравнивать план с фактом (да и то ненадолго).
При этом, что забавно, я все равно достаточно (для заказчика, не до минуты) точно оцениваю свои задачи.
Rikkster Автор
12.04.2023 14:25А как долго? У меня далеко не сразу начало получаться, сначала долго практиковал засекания, не меньше месяца фиксировал каждое действие
lair
12.04.2023 14:25"Как долго" что? Таймером пользуюсь? Несколько лет.
Rikkster Автор
12.04.2023 14:25Что-ж все люди разные. Видимо не для всех это так работает. С другой стороны если хотя бы один человек прочитает эту статью, и у него получится - значит я не зря её писал.
lair
12.04.2023 14:25Ну, если вам не важны эмоции десяти остальных, которые прочитали, потратили силы, и у них не получилось - то да, не зря.
Rikkster Автор
12.04.2023 14:25-1Я отталкиваюсь от того, что если получилось у меня - получится и у других. При этом осознаю, что это может быть не 100% прочитавших. Что теперь поделать, все люди разные, как я уже говорил.
lair
12.04.2023 14:25-1При этом осознаю, что это может быть не 100% прочитавших.
А что будет у тех, у кого не получилось, вас не волнует?
saboteur_kiev
12.04.2023 14:25Мне кажется, вы лукавите.
Оценивать ЛЮБЫЕ задачи с точностью до минуты - это вы прям сверхуверены. Скорее всего у вас просто нет задач по инвестигейшену, и практически все время занимаетесь задачами, которые уже не раз были сделаны.Как можно оценить задачу, которую еще никогда не делал? Как можно оценить время на оценку задачи, которую никогда не делал?
Rikkster Автор
12.04.2023 14:25Я не говорил, что оцениваю ЛЮБЫЕ задачи с точностью до минуты, конечно это не так. Если внимательно прочитать, можно увидеть, что я написал - "довольно точно, в некоторых случаях даже до минуты".
Не рекомендую вообще браться за коммерческую задачу, если ничего подобного не приходилось делать ранее. Исключение, если не приходилось, но есть примерное понимание каким образом она будет решаться. В этом случае можно оценить время, может не с точностью до минуты, но с некоторым запасом, чтобы не вылезти из сроков.
doctorw
12.04.2023 14:25+1Не рекомендую вообще браться за коммерческую задачу, если ничего подобного не приходилось делать ранее.
Откуда взять опыт, если его не было? Оценка времени при примерном понимании как решать имеет точность на уровне случайного угадывания, а то и ниже, и оценка получается бесполезной.
saboteur_kiev
12.04.2023 14:25+1Не рекомендую вообще браться за коммерческую задачу, если ничего подобного не приходилось делать ранее.
Прекрасный совет. Давайте остановим разработку всего нового, оставим только обычное формошлепство.
Ksoo
12.04.2023 14:25Типовые задачи я могу оценить, глянув оценку прошлых задач. Не типовые , все оценки приблизительны получаются.
AndreyAlin
12.04.2023 14:25Странно, что нет варианта ответа "Постоянно уходит меньше времени, чем я думал(а)! "
Rikkster Автор
12.04.2023 14:25-2Уважаемые коллеги, если минусите, то хоть напишите в комментариях, что именно не понравилось ????
Proydemte
12.04.2023 14:25+4Статья кишит самолюбованием и выражениями типа
Это в разы улучшит качество жизни, и вы будете успевать больше жить для себя, не смотря на то, что часов в сутках останется столько же.
Сомнительные утверждения. Многим вместо улучшения качества жизни — получат высокий уровень тревожности и чувство вины.Более того, несколько раз я с точностью до минуты угадывал сколько займёт событие не зависящее только от меня — например командное собрание, длительность которого могла варьироваться от часа до шести часов.
В реальной жизни это выглядит примерно как забукали переговорную на пару часов, потом там митинг у следующей команды, они пришли вас выперли оттуда, ты такой — «точно два часа, я же грёбанный настрадамус!»Rikkster Автор
12.04.2023 14:25-2С чего вы взяли, что если человек научится точно определять время, которое ему понадобится на задачу, у него будет тревожность и чувство вины? Навык планирования всегда улучшает качество жизни, это вам и я, и любой человек, научившийся планированию подтвердит. Другой вопрос что это не легко. Но не так мало людей, кто смог.
Забавный пример, но вы не угадали. Лично у меня это выглядит так: я когда начинаю делать задачу, в гугл календаре выделяю время для неё. И несколько раз когда я заканчивал задачу, возвращаюсь в календарь чтобы скорректировать время - а закончил в точности когда заканчивается событие в календаре. И это всегда меня очень удивляло.
Это же нужно для себя в первую очередь делать (учиться оценивать времязатраты). Не для того чтобы перед кем то отчитаться или выпендриться. Но и не всем это нужно. Эта статья для тех, кто хотел бы научиться.
Proydemte
12.04.2023 14:25+5Эта статья для тех, кто хотел бы научиться.
Рецепт этой «учёбы» от вас:Приучите себя засекать время прежде чем приступать к какой либо задаче, и по её завершению останавливать таймер.
Всё! Просто надо только засекать время задач и у вас появится «волшебный навык» оценки задачи с минутной точностью. А пацаны то не знают, мучаются.
Мне вот надо задачу сделать на пару дней, я такой — ну тут примерно 12 часов 34 минуты. В календарь занёс, закончил, прихожу отмечать — 12 часов 33 минуты и ты такой, вот чёрт промазал, переоценил. Заказчика обманул.
Или у вас задачи уровня «сходить в туалет» — 3 минуты 26 секунд? Через три минуты закрыл таску.с точностью до минуты угадывал сколько займёт событие
Ключевое слово «угадывал» — не знал, а просто угадывал, как бабка-гадалка.
Если у вас задачи механического уровня и в среднем они занимают час, плюс минус пять минут, то один раз из десяти задач, конечно угадаешь. Как это относится к обычным таскам, например программиста, когда сегодня надо круглое носить, а завтра квадратное покатать, не очень понятно.
lair
12.04.2023 14:25+2Собственно, крупная проблема оценки времени на задачу - это как понять, (а) с какой из предыдущих задач надо сравнивать, и (б) как оценить изменения по сравнению с этой задачей. Ничего из этого в статье не описано, просто "записывайте время, и всё будет".
stackjava
12.04.2023 14:25+2Ну... Как сказать...
Когда человек заморачивается за минуты до какой то фанатичности - ну это не норм...
И людям, которые не живут работой,а таких много, это не нужно, слишком заморичесто.
А самая неприятная ситуация,что если вы руководите или будите руководить людьми, и будете их к этому толкать или с них требовать... то это просто кошмар.
buratino
12.04.2023 14:25Заголовок не соответствует содержанию
Не дано определение, хотя бы примерное, того, что понимается под "задачей". Вот например, есть "задача" научится водить авто. Выполнение этой задачи сильно индивидуально и реально может отличаться в раз от, допустим, плана занятий в автошколе. И эта задача выполняется ровно один раз. С другой стороны, есть типовая задача проехать из пункта А в пункт Б, для оценки времени решения этой задачи есть какой-нибудь яндекс-навигатор, но и он совсем не гарантирует прохождения маршрута с точностью до секунды. В вашем случае под задачей не определяется даже что-то вроде "говнокодирование на XXX для YYY", при этом не дается понять связано ли это YYY с реальным физическим миром либо это какая-то глубокая абстракция из мира сферических коней в вакууме...
tkutru
12.04.2023 14:25+3Все эти планирования задач с точностью до секунды взялись из-за неуемного (и часто бессмысленного) желания "эффективных" менеджеров контролировать работу разработчиков по принципам конвейера. Умственно затратной деятельностью таким образом эффективно управлять и контролировать почти невозможно. Предлагаю всем соответствующим "оценщикам" сменить место работы на более соответствующее, типа предприятия по шитью варежек.
Travisw
12.04.2023 14:25А вот например задача изучить язык программирования и фреймворк к нему(на уровень чтобы устроится на работу), сколько уйдет времени? Я хз, с учетом того что я даже не знаю будет ли у меня завтра время и желание хоть сколько то времени этому уделить.
Myclass
12.04.2023 14:25Сверхконтроль лишь мера для тех, кто не способен оценить свои времязатраты - а я способен,
И не мудрено - никто не рождается с навыком идеально точного планирования.
какая "самокритика"! Вот ведь бывает такое?! Вы пишите небольшой эссе, где в каждой строчке восхваляете себя, но ничего конкретного не сообщаете. Это первое. Второе. Когда дело касается именно одного человека, тем более - находящего в вакуме и живущего только для себя (без семьи, без детей, без соц. обязанностей или интересов) - то спланировать и время и сроки - ума много не надо. Но когда идёт командная работа или/и есть зависимости от других (как приватного так и бизнесс-характера), то и наши планы нужны в постоянной корректировке. Поэтому выставлять себя выше времени - выдавать желаемое за действительное.
Audrius
12.04.2023 14:25Сразу узнать продолжительность будущего проекта очень просто, надо время которое заявил разрабочитк умножыть на число пи. Бюджет тоже елементарно - все деньги заказчика умножыть на число пи и добавить НДС !
Myclass
12.04.2023 14:25умножыть на число пи..
Все знаки после запятой учитывать (шутка) или округлить до целого числа - 4.
pon007
12.04.2023 14:25А кто-нибудь подскажет, как планировать время, когда во время выполнения задачи прилетает еще 2, которые "надо вчера" ?
Rikkster Автор
12.04.2023 14:25а) доделать текущую задачу, только после этого приступать к новой
б) переключиться на новые задачи, предупредив, что это повлияет на сроки текущей
doctorw
12.04.2023 14:25В случае трудоёмкой задачи, на закончить может не быть времени и придётся переключаться. Если переключится, то будет выход за пределы оценки.
javalin
12.04.2023 14:25+3Если все задачи получается очень точно оценивать, то это всего лишь говорит о не высоком уровне задач.
ktarasov
12.04.2023 14:25+1Ну вообще для более точной оценки давно придуман метод, которому даже в ВУЗах раньше обучали (не знаю как сейчас). Метод называется - декомпозиция задачи. Т.е. если задачу сразу трудно оценить, то разбивается на более мелкие, и так далее до тех пор, пока каждая часть не будет вызывать затруднения в оценках.
Но этот метод, как и другие не дает 100% попадания в сроки, хотя и очень приближает к реальному времени.
Gosha-22
12.04.2023 14:25Для меня самый действенный способ совладать с дедлайнами, это банальный график и структура рабочих действий по дням, да, еще должна быть тишина во время работы, вот и все.
gymlyg
12.04.2023 14:25Бывает полезно фиксировать время выполнения задач, так как это помогает настроиться на рабочий лад.
В моём случае невозможно долгое время делать тайм-менеджмент, так как надоедает.
Точную оценку той или иной задачи вполне можно дать и без тайм-менеджмента, а просто выполнив подобные задачи несколько раз. Можно попробовать разбить большую задачу на части, подогнав их под уже знакомые. Либо использовать формулу "прикинуть примерное время, затем умножить его на 2 и ещё прибавить 2 недели".
Kostik_s_v
Хорошо когда оценка времени касается тебя лично, еще много проблем с оценкой времени при работе в команде, всегда находится тот кто сорвет дедлайн…
Rikkster Автор
Можно отправлять таким людям эту статью ????
Вообще в команде тимлид должен хорошо знать особенности каждого члена команды, и исходя из них планировать время. Обычно таким людям называют дедлайн раньше, чем он на самом деле должен наступить, т.е. с запасом. И когда они выбиваются из графика, это является частью плана.
mc2
Hardware workload как планировать?)
А нюансы платформ?