Как быть с законом Хофштадтера?

при оценке задач, как можно вырваться из хватки закон Хофштадтера?

12 ответов


Если вы можете политически: оценить небольшими кусками, работать в небольших итерациях и сосредоточить внимание на том, что вызвало отклонение от оценки, чтобы сделать следующую оценку лучше.

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

другая основная причина плохого оценок фиктивных оценок. Оценки искусственно занижены, чтобы выиграть торги. Единственный способ, которым консалтинговая фирма может разорвать этот цикл, - дать хорошие оценки и выиграть достаточно проектов и выполнить оценки, чтобы заработать репутацию, которую они достигли. Достаточно клиентов будут уважать это, чтобы сделать из этого разумный бизнес, но построить это будет трудно.


  1. оцените, сколько времени что-то должно занять для кода.
  2. умножить на pi.
  3. удивляйтесь, как часто это ближе к тому, сколько времени это на самом деле занимает.

(это также не следует принимать за научный метод, но это еще один способ выразить, как трудно правильно оценить время. Правда, иногда я им пользуюсь...)

:)

Edit:
Метод, который немного более научный: укажите время для абсолютного минимума и максимального времени для задачи, например, что это определенно займет от 5 до 30 часов. (Разделите на подзадачи, чтобы, возможно, несколько сузить временной промежуток.) Вы получаете очень широкий промежуток времени, но, по крайней мере, он более надежен, чем предположение.


в то время как" закон Хофштадтера " немного язычок в щеку, есть несколько методов, которые могут помочь вам, в частности, для первого прохода/большой оценки элемента:

  • оценка в относительных размерах. Это означает, что вы не говорите, что элемент занимает время X, вы говорите, что элемент A в два раза больше, чем элемент B, и что элемент B примерно в 4 раза больше, чем элемент C.

  • соберите данные из предыдущих оценочных раундов и используйте их в качестве базовой линии. Так что когда ты оцениваете проект и замечаете, что элемент A примерно такой же большой, как элемент B из предыдущей итерации/проекта, и вы знаете, что элемент B занял 2 дня, вы знаете, что элемент A, скорее всего, займет примерно столько же времени

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

Если вы хотите узнать больше об этом вы можете начать смотреть Презентация Майка Кона (Часть 1 и Часть 2) и/или читать его книги. Хотя это не конец-все,быть-все оценки, он представляет некоторые хорошие практики и лучше всего, рассуждения за практикой.


посмотреть Планирование На Основе Фактических Данных. Существует уже так обсуждение некоторых из его подводных камней здесь.


Я использовал кости. Открыто. Перед моим менеджером. Обычно я использую 3 стандартных шестигранных кубика.

босс:


база вы оцениваете прошлую производительность, а не на лучших сценариях. Это требует, чтобы вы отслеживали время, потраченное на ваши проекты. Мне все равно, если вы "знаете", что это займет всего "6 недель", чтобы закончить, если вам потребовалось 3 месяца, чтобы завершить аналогичный проект в прошлый раз, это, вероятно, займет у вас 3 месяца в следующий раз.


+1 для @Yishai-одним из преимуществ гибкой методологии, такой как scrum, является то, что люди фактически получают обратную связь о точности своих оценок.

вы никогда не получите лучше в чем-то, если вы никогда не знаете, если вы не правы...


Мне нравится этот метод:

  1. сделайте честную оценку усилий, необходимых для выполнения задачи.
  2. применить множитель к оценке. Не менее 1,5 наверно 2.0. Со временем, сравнивая фактические усилия с оценочными усилиями, вы сможете рассчитать истинный множитель.

сбор оценочных и фактических усилий являются ключевыми для улучшения ваших оценок.


Agile оценка всегда использует "идеальные часы", который неявно учитывает закон Хофштадтера. Так что тебе не нужно выдумывать.

Если вы отвечаете как работник ...

"Ну и дела, босс, в идеальном мире это займет X дней. Давайте добавим расслабься, и я сделаю все, что смогу. доставьте его вам за это время. Если оценка изменится, я позволю тебе Узнай немедленно."

Это музыка для босса уши!

Если вы отвечаете как владелец бизнеса ...

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


оценить это искусство, как вы знаете и есть суб искусство-это искусство оценки сопряженности. :) Чтобы правильно оценить непредвиденные обстоятельства (как правило, % от общей оценки), нужно понять риски и способы их снижения. В принципе, вы умножаете риск того, что что-то произойдет с ущербом, который он может сделать, чтобы придумать фактор риска. Затем вы суммируете все свои факторы риска и оцениваете общий риск. Непредвиденные обстоятельства должны колебаться от 15% для проектов очень низкого риска (Я никогда не опускаюсь ниже 15% непредвиденных обстоятельств) до 50% для очень высокого риска (по моему опыту, очень немногие клиенты будут, кроме оценки выше 50% непредвиденных обстоятельств).


закон Хофштадтера - это просто еще один намек на то, как печально известна саморефлексия !..... тонкий юмор имеет далеко идущие последствия. Оглядываясь назад, этот закон подтверждает, что каждый закон/принцип/аксиома, которая структурирована логикой, является неполной (Godel like), таким образом, даже принимая во внимание такие законы, логика никогда не может быть полной. Чувство бесконечности-это снова игра из парадокса Зенона (черепаха против Ахилла).... бесконечное время для Ахилла, чтобы завершить гонку ....так далее.... это иллюстрации всемогущего зла самоотчуждения, которое загрязняет всю аффинную логическую структуру.