Сколько времени тратится на оценку задач программирования?


9

Например, если я разбиваю проект на n отдельных рабочих продуктов (скажем, классов, функций или компонентов), будет ли время t такое, что n * t - это подходящее количество времени, которое нужно потратить на оценку?


9
Это просто. Просто запланируйте некоторое время, чтобы посмотреть на вашу рабочую нагрузку и приблизительно оценить, сколько времени займет оценка, и ... ох, подождите.
joshin4colours

Поскольку ваши оценки все время будут неверными, нулевой возврат инвестиций = ноль затраченного времени. Ох, кроме боссов заставит вас создавать фиктивные оценки. Быстрые оценки, когда вы выбираете какое-то случайное число Фибоначчи в некоторой случайной единице измерения без единиц измерения, называемой BogoEstimons, или что-то еще, кажутся лучше, чем оценки в реальных единицах рабочего времени человека.
Уоррен П

Оцените время для оценки задачи. Позвольте начать оценку
пользователь

Ответы:


13

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

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

В любом случае, не тратьте много времени на оценку. Они не являются полезными или достаточно точными, чтобы стоить усилий.


3
+1. но я не согласен, что оценки не очень полезны. Они помогают лучше планировать и, следовательно, быть более продуктивными.
SuperM

4
@superM: я не говорил, что они не были полезны вообще. Они конечно есть. Я сказал, что они не стоят много времени. Работающее программное обеспечение гораздо полезнее, поэтому тратите на это большую часть своего времени.
фунтовые

@superM: Вы когда-нибудь сравнивали свои оценки с реальными значениями? Это расскажет отличный урок о реальной ценности догадок (оценка по определению). Оценка - это классическая вещь Парето: вы получаете довольно хорошую оценку в 20% случаев. Потеря времени сделает его только на 5% лучше.
JensG

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

2

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

Как только вы сломали их, чтобы сделать это, вы сделали достаточно; независимо от того, что на самом деле эти вещи.


2

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

Я очень рекомендую использовать эту методику, основанную на консенсусе, если вы пытаетесь сделать оценку для команды разработчиков.

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

Прочти это и попробуй!

Также, как правило, ни одно задание в пользовательской истории не должно превышать 7,5 часов (один рабочий день). Если это так, вам нужно разбить задачу на более мелкие задачи.


1
Планирование покерных оценок Очки, которые вообще не указаны. Какой вид делает их аналогом того, как на самом деле являются оценки; Дикий Зад Guessery.
Уоррен П

1
Идея состоит в том, что если мы знаем, что задача в 1 балл займет, например, 7,5 часов, то мы можем сказать, что пользовательская история из 5 баллов займет 30 часов, а пользовательская история из 10 баллов займет 60 часов. Например, мы могли бы выбрать одну из самых маленьких задач, и предполагаемое время может быть назначено в качестве значения отдельной истории пользователя. Затем мы можем использовать эту пользовательскую историю в качестве основы для оценки более крупных задач. Если мы думаем, что другая задача займет вдвое больше времени, мы назначим 2 пользовательских балла (15 часов) и так далее.
Кьяран Галлахер

1

Я думаю, это зависит от того, что вам нужно. Если, например, от этого зависит распределение ресурсов вашего проекта (как это иногда было здесь), лучше сделать это осторожно. С другой стороны, если вы делаете проект, в котором нет такой необходимости, вы можете не вдаваться в подробности. Тратить слишком много времени на это не очень хорошая идея, потому что сделать точную оценку очень сложно.

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


1

Что вы получаете от своих оценок?

В зависимости от того, над чем вы работаете, могут иметь значение точные индивидуальные оценки (клиент платит вам в конце недели или задание / история блокирует других, и требуется точное ETA) или нет (вы получили 200 историй в отставании, никто не умрет, если история переместится на неделю, и вы рассчитываете на то, что ошибки оценки усредняются по большому количеству из них).

Просто потратьте минимальное количество времени, чтобы получить оценку, достаточную для ваших нужд. Там нет формулы.

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


0

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

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


0

Хорошие оценки основаны на фактах, а не на предположениях.

Таким образом, если у вас уже был похожий проект (ы) и вы использовали предыдущее время оценки, это может послужить хорошей базой для оценки . Однако, в зависимости от масштаба вашего проекта, могут быть неизвестные артефакты , которые лучше уточнить у BA или владельца продукта как можно скорее.

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

  • Люди, которые делают работу, должны участвовать в оценке проекта
  • Привлечь экспертов: экспертное суждение имеет решающее значение для успеха проекта
  • Оцените большие куски как диапазон
  • Используйте Delphi Technique: это метод, который помогает сблизить мнения команды в случае конфликта в оценке проекта программного обеспечения.
  • Имейте в виду стоимость
  • Имейте в виду выделенные ресурсы, доступные для выполнения работы

Я никогда не наблюдал команду или отдельного человека, которые делали оценки, которые обычно (более 50% времени) оказывались точными в течение 10% фактического времени, проведенного. Другие люди в других местах утверждают, что успехи, которые мне трудно представить, когда-либо происходили где бы я ни работал.
Уоррен П

«Точно в пределах 10% от фактического затраченного времени» - на самом деле очень плохой результат. Также следует учитывать предел погрешности, который увеличивается в зависимости от сложности и внешних зависимостей проекта.
Юсубов

Это то, что я говорю. Оценка отстой.
Уоррен П

да, это действительно большой удар, чтобы иметь «точность в пределах 10% от фактически потраченного времени» ...
Юсубов
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.