Срок

Никак не получается научиться правильно оценивать время, которое мне нужно, чтобы сделать работу.

Если задача, кажется, на пару дней, то обычно ошибаюсь на полдня. Задеплоить в 18 часов? Ок, 18:40, готово. Фигня какая-то. Любой дедлайн у меня съезжает. Иногда и сутки потерять не страшно, но когда-нибудь пролёт на 10 минут капитально мне всё сломает (так вижу).

Решение, вроде бы, простое — закладывать побольше времени. Но и это не помогает: подушка безопасности незаметно испаряется вместе с основным временем. Возможно, недостаточно закладываю.

Сколько времени нужно добавлять, чтобы не облажаться? Как быть с задачами на несколько часов? За счёт чего можно ускориться?

20 comments
Аркон Елизаров

Закладывать больше времени не работает, просто будешь ориентироваться на больший срок.
Из личного опыта:

  1. Если не можешь точно назвать сроки, прямо бери и закладывай время на то, чтобы их узнать. Порой достаточно посидеть и поизучать задачу полчаса, чтобы лучше оценить срок.
  2. Не называй цифры по ощущениям и с потолка. Приучи себя ориентироваться на конкретные данные по срокам. Нет конкретных данных — заложи время на поиск конкретных данных. (п. 1)
  3. Бей задачи на подзадачи как можно и как нельзя. Когда разобьешь, бей ещё. Когда уже нельзя разбить дальше, на самом деле можно.
  4. Почитай «Цель» Голдратта о поиске узких мест, книга местами сложновата, но хорошо вправляет мозги и учит расставлять приоритеты.
Стасис Чепулис

Сгруппировать задачи, чтобы не было слишком коротких итераций и был умеренный мультитаскинг.

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

Динислам Хуснутдинов

Ускориться можешь амфетаминами.

Димарик Слоупочных

Всё просто: прикидываешь сроки, умножаешь на 1,5 и говоришь конечную цифру.

Константин

Начать с себя, а не со времени на проект. Вспомнить Н. А. Заболоцкого («Душа обязана трудиться и день и ночь, и день и ночь...»).

Владимир Беляев

Мне помогало закладывать 2 срока. Всегда.

Александр Савочкин

Два срока, да. Если это много — стоит подсчитать среднюю задержку, прибавить к ней ещё 15% и получится годный коэффициент. Но он окажется где-то в районе 1,8, так что проще сразу удвоить — лучше переобещать и выполнить работу раньше.

Иван Иващенко

Проблема в том, что ты мыслишь днями/часами и упускаешь детали. Попробуй написать по задаче подробный план так, чтобы каждый пункт занимал не больше часа, в идеале – 15 минут. Скорее всего, если ты оценишь по времени каждый пункт, то суммарное время выполнения задачи будет превышать время на нее же, когда ты оценивал задачу в целом. Если следовать потом этому плану, скорее всего окажется, что ты действительно решаешь небольшие задачи за то время, которое и ожидал. Но в то же время появятся задачи, которые ты просто не учел, расписывая план. У каждого они свои. Программисты часто забывают о тестированни и внедрении, оценивая только время реализации. Именно из-за системного забывания об этих стадиях сроки при оцениваем задачи в целом сильно занижены.

Аркон Елизаров

«прикидываешь сроки, умножаешь на 1,5»
«Мне помогало закладывать 2 срока»
«проще сразу удвоить — лучше переобещать и выполнить работу раньше»

Удивительно, что многие советчики советуют стрелять из пушки как можно дальше вместо того, чтобы постараться научиться стрелять в цель. Искусственное увеличение сроков значительно снижает производительность команды. Результат — вялая производительность, либо просиживание лишних часов в Фейсбуке, либо односложное занятие странными делами, которые не были запланированы, а глобальный результат — команда, которая не умеет вписываться в авральные сроки.

К сожалению, нет возможности наказывать за выполнение работы раньше срока — в этом случае разработчики просто будут искусственно тянуть время — поэтому здесь важна в первую очередь честность перед самим собой. Нельзя за секунду научиться называть суперточные сроки, но ещё хуже — давать советы по саботажу рабочего процесса.

Александр Савочкин

Совет про удвоение сроков — это не стрельба из пушки как можно дальше. Это поправка на встречный ветер. Назначая удвоенный срок, нужно помнить, что это не повод работать вдвое медленнее. Это просто поправка на то, что первая оценка срока всегда ошибочна, а удвоенный срок и есть истинный.

Удвоенный = умноженный на коэффициент ошибки.

Умножение на коэффициент ошибки не означает, что можно забить на исследование задачи, разложение на подзадачи и т.п. Проделав всё это, как раз и нужно умножить срок на коэффициент.

Илья Харитонов

Никогда не помогает закладывать больше времени. Ну то есть кому-то, с хорошей самоорганизацией может и помогает, а у меня бесполезно. Думаешь справиться за три дня, называешь шесть — и расслабленно начинаешь (если вообще начинаешь) что-то делать, потому что впереди то еще шесть дней, епта… Закладывать больше должен руководитель проекта, если он есть, а исполнителям об этом не говорить :-) Ну или взрастить у себя качественное раздвоение личности и скрывать от самого себя реальный срок задачи :-)

У меня тоже стабильно съезжает дедлайн любой задачи, которая занимает больше одного дня работы. Я неорганизованный лох :-)

Коля Митин

Проблема решается очень просто. Задача делится на этапы: технической реализации, приёмки, согласования и запуска.

Например, рассылку нужно отправить в понедельник, поэтому её нужно сделать в четверг, сдать и согласовать в пятницу, разослать в понедельник. ;-)

Принимать работу можно и у самого себя. Главное этот срок назначить.

Второй приём — сфокусироваться не на списке дел, багов или фич, а на пользе от решения задачи. Так проще флексить.

Аркон Елизаров

Александр Савочкин, нет, нет и нет. Закладывание двойных сроков — это саботаж.
Напомню цитату из моего первого комментария: если не можешь точно назвать сроки, прямо бери и закладывай время на то, чтобы их узнать. Порой достаточно посидеть и поизучать задачу полчаса, чтобы лучше оценить срок.

Не можешь оценить срок? Не закладывай двойной, заложи время на изучение, даже если по факту это будет равно двойному сроку. Изучил и всё равно не понял? Заложи ещё. Изучил, думал, что понял, но всё равно опоздал? Ну ок, учти для себя и попробуй в следующий раз.

Время на изучение и двойной срок — это не одно и то же. Время на изучение учит дисциплине и точности, тогда как тупое закладывание двойного срока учит расхлябанности и бестолковому формальному подходу к любой задаче. Время на изучение учит ориентироваться на конкретные данные, а закладывание двойного срока не ориентируется ни на что, кроме «авось так успею».

Выделять время на изучение — это рассчитывать поправку на встречный ветер, а потом стрелять. Закладывать двойной срок — это ебашить из пушки с двойной силой в надежде попасть в цель на авось. Иногда даже случайно можно попасть.

Вадим Юмадилов

Аркон, я не уверен, что правильно тебя понял, но мне кажется, что у тебя есть ошибка в одном месте. Почему тебе кажется, что первый срок, который потом умножается на два, указывается наобум?
Нет никакой проблемы в том, чтобы исследовать задачу, назвать первый срок, а потом уже увеличить его так, чтобы исключить проеба из-за ЧП. Если ты будешь работать и проблем никаких нет, то ты просто сделаешь задачу быстрее.

Аркон Елизаров

Вадим, менять сроки по мере работы — это речь уже со всем о другом. У большинства советчиков речь шла об автоматическом увеличении всех сроков всех своих задач («проще сразу удвоить», «прикидываешь сроки, умножаешь на 1,5»). Такой подход к работе приводит меня в бешенство. Смотри, что я имею ввиду:

Сразу отрубать голову:
— Сколько это займёт времени?
— (мысленно: «Два дня») Четыре дня.

Полное говно:
— Сколько это займёт времени?
— Два дня.
(прошло два дня)
— Ну чё?
— Наверное, не управлюсь, надо ещё два дня сверху.

Говно:
— Сколько это займёт времени?
— Два дня.
(прошёл день)
— Ну чё, как там идёт?
— Наверное, не управлюсь, надо ещё два дня сверху.

Куда лучше:
— Сколько это займёт времени?
— Два дня.
(прошёл день)
— Наверное, не управлюсь, надо ещё два дня сверху.

Охуенчик:
— Сколько это займёт времени?
— Вроде два дня, но в последнее время я часто проёбывал сроки, поэтому решил брать время на исследование задачи. Давай через час скажу точно.
(прошёл час)
— Четыре дня.

Рассмотрел не все комбинации, составные можно составить и оценить по этой шкале самому :-)

Аркон Елизаров

Заметь, результат везде одинаковый — четыре дня. Но подход к работе сразу отличает ответственного и умного чувака от незаинтересованного идиота.

Андрей Гурылёв
  1. Для сложных задач отдельно беру время на оценку. Я могу сказать, что мне нужно полчаса на оценку, изучить самое сложное поверхностно и потом выдать ценник.
  2. Оцениваю каждую мелочь. Совсем каждую и совсем мелочь. Пример: мне прислали дизайн лендинга. Я оцениваю вначале вёрстку каркаса, т.е. без проработки ховеров, паралаксов, транзишнов и прочего, т.е. за сколько времени я сверстаю каждый пунктик меню, каждый слайдерик, каждый блок. Потом добавляю к этому времени проработку красивостей типа плавных ховеров и т.п. (это совсем мало, но время). Потом добавляю время на фолбеки. Тоже чуть-чуть.
  3. Договариваюсь с клиентом о двух временных рамках. Одна – та, что я планирую. Вторая – если не уложусь. Главное не расставлять их очень далеко.

“тупое закладывание двойного срока учит расхлябанности и бестолковому формальному подходу к любой задаче”
Совершенно не согласен. По крайней мере не в моём случае. Я закладываю второй срок из-за ситуаций, когда натыкаюсь на необходимость делать действия, в которых не являюсь профессионалом. Например, надо прогать на php или что-то сложное на js. Я верстальщик, у меня на программирование больше времени уходит и оценивать его точно ввиду неопытности в этой области я не могу. Без него иногда нельзя, а подключать больше специалистов почти никогда не получается, потому что всем нужно платить и всё равно это занимает больше времени. Но причину второго срока я обязательно объясняю. Мол, я вообще верстальщик, но вот тут придётся прогать, это МОЖЕТ увеличить срок на столько-то.
Я уже не говорю про упомянутые выше случаи с ЧП, некоторые из которых нельзя отнести к форс-мажорным из договоров.

“но в последнее время я часто проёбывал сроки”
Меня бы как клиента эта фраза убила, я бы перестал доверять, даже для оценки. Только мне кажется это адекватным?

p.s. Мне понравился совет Динислама Хуснутдинова. Или энергетиками.
p.p.s. “взрастить у себя качественное раздвоение личности и скрывать от самого себя реальный срок задачи”  – тоже офигенный вариант

Илья Страйков

«Меня бы как клиента эта фраза убила, я бы перестал доверять, даже для оценки. Только мне кажется это адекватным?»

Честность — это хорошо.

Аркон Елизаров

«Меня бы как клиента эта фраза убила, я бы перестал доверять, даже для оценки. Только мне кажется это адекватным?»

Тут я имел ввиду работку в офисе, где все и так знают, что ты проёбывал сроки. Фриланс-клиенту я бы такое конечно не сказал.

Андрей Гурылёв

А, ну в офисе ок, согласен, сам такое практикую.

Антон Ловчиков

Работая на последней работе «в офисе» сроки ставили за меня менеджеры, поэтому тут ничего не расскажу. Расскажу, как я уже полгода, работая на фрилансе, научился ставить сроки и влезать в них почти точно. Под сроком я подразумеваю абсолютное количество часов, необходимое на проект, а не календарную дату релиза, так как календарная дата зависит и от заказчика тоже.

  1. Начиная оценку проекта, я называю примерную стоимость проекта или этапа. Стоимость формируется на основе примерной оценки сроков на основе ТЗ или любого другого описания задачи.
  2. Если заказчика устраивает вилка цен, начинаю визуальное проектирование и прототипирование. В терминологии Аркона — это «взять время на исследование задачи». Как правило, у меня на это уходит день—два. Да, это работа, за которую я ещё не взял денег и заказчик может отказаться, но для меня это залог того, что я сделаю точную финальную оценку.
  3. После того, как детальнейшие прототипы готовы, я оцениваю объём работы в часах и в деньгах — это и есть финальная оценка.

По такой схеме я посчитал и выполнил 3 проекта. По итогам я получил такие расхождения оценки от реальных сроков:

  1. Закладывал 50 часов, вышло 28 — 44% лишнего времени заложил. Первый проект по такому методу, поэтому, сам того не желая, перестраховался.
  2. Закладывал 75 часов, вышло 58 — 23% лишнего времени. Заложил лишнего «за вынос мозга» из-за небольшой кондовости заказчика, который оказался довольно лоялен и восприимчив.
  3. Закладывал 67 часов, вышло 76,5 — 14% неучтённого времени. Недооценил время на работу с арт-директором.

Мне кажется, этот же метод годиться и для офисной работы, а главное даёт куда более реальные сроки на выходе. Мои самые фейловые 44% — это меньше чем ×1,5 и уж тем более ×2. При достаточной сработанности с заказчиком и незначительности задачи визуальное проектирование можно заменить ментальным.

Your comment
won’t be published


Ctrl + Enter
Popular