Подтвердить что ты не робот

Оценка оценок программного обеспечения: уверенные признаки нереалистичных цифр?

Отвечая "Работа с ужасными оценками", отправленный Ash, я поделился несколькими советами, которые Я узнал и лично использовал, чтобы определить слабые оценки. Но я уверен, что должно быть еще много!

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

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

4b9b3361

Ответ 1

  • Один человек, выполнивший оценки, вместо того, чтобы использовать оценку на основе консенсуса (чтобы полностью понять подразумеваемый объем требований), например Широкополосный Delphi.
    • Особенно верно, если человек, выполняющий оценку, не является человеком, выполняющим реализацию!. Я когда-то работал над проектом, оцененным кем-то еще за 60 дней до того, как были выполнены какие-либо требования. Давайте просто скажем, что я не был счастливым кроликом.
  • Нет времени для документации.
  • Нет времени для наращивания (с точки зрения обучения и размера команды).
  • Отсутствие списка рисков и их влияние на временные рамки.
  • Отсутствует буфер для непредвиденных - с точки зрения требований к позднему взлому и рисков.

Ответ 2

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

Я знаю, что этот ответ - это то, чего люди не хотят верить, но оценка всегда является предположением. Чаще всего разработчик не может предсказать, сколько они достигнут к концу дня. Вы ожидаете, что они будут угадывать все месяцы/годы в будущем на том, что они не уверены даже в том, что действительно задействовано.

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

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

Ответ 3

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

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

  • Архитектура высокого уровня;
  • Время тестирования;
  • Время разгона;
  • Дефектные процессы;
  • Время для документации;
  • Соответствующая подготовка;
  • Допущение;
  • Зависимости (например, команда A не может делать то, что им нужно, до тех пор, пока команда B не выполнит фазу 1);
  • Критический путь (какие части могут определить, скользет ли проект и на сколько); и
  • Риски.

Чем больше тех вещей, которые отсутствуют, тем более нереалистичными (или рискованными) оценками.

Второй вид оценки задачи, который обычно намного ниже. Для такой оценки это должен быть просто разбивка задачи (без заданий больше, чем 5 дней).

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

Другие сообщения упомянули, что время тестирования должно равняться или превышать время dev. Я категорически не согласен с этим. Я видел, что 8-часовые задачи для разработчиков приводят к 100-часовому тестовому времени, а 80-часовые задачи для разработчиков приводят к менее чем 2 часам тестирования. В обоих случаях время тестирования было вполне разумным. Абсолютная корреляция между ними не существует. В лучшем случае есть свободное соединение.

Ответ 4

  • Является ли оценка, что руководство хотел быть рассказанным?
  • Есть ли оцените запланированная дата отгрузки для следующего выпуск?
  • Награда за управление люди, которые дают хорошие новости больше люди дают плохие новости?
  • Был ли предварительная оценка, прежде чем знать, кто будет работать над проектом?
  • Сделал кто-то, кто хотел этого функционально реализованные оценить?
  • Есть ли история программное обеспечение опоздало?
  • Это нормально для разработчики должны быть перемещены на другие задачи частично, хотя проект?
  • Есть некоторые или все разработчики отказались от комментируя плохие оценки как потеря времени?

Подсчитайте количество вопросов, на которые вы получите ответы "да" или "возможно"....

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

Ответ 5

Ничего себе... Мне очень нравится ответ инструментария.

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

Я придумал еще несколько индикаторов опасной оценки:

  • Нет перекрестной ссылки. Если оценка не может быть проверена по крайней мере двумя разными способами, она, вероятно, будет ненадежной. Например, последние оценки, которые я сделал, я смог разбить работу на мелкие фрагменты функций и подумать, как долго наша команда выполняла аналогичные функции. Затем я смог посмотреть на сумму этих затрат и посмотреть, насколько большой объем был относительно других проектов, над которыми я работал. Это два способа проверки.
  • Фон оценки - если это оценка программного обеспечения, сделанная аппаратным парнем, который никогда не писал код, очень бойтесь. Более тонко - чем ближе оценка к технологии и проблемной области проекта, тем лучше.
  • Подробнее - как сказано несколько разных способов в нескольких разных сообщениях - мне нравится видеть детали как для отдельных функций, так и для задач, необходимых для завершения каждой функции. Большинство оценок, которые я вижу, не показывают детали в официальном представлении, но если вы спросите человека, который сделал смету, у них должен быть файл где-нибудь. Надеюсь, это не задняя часть бумажной салфетки, окрашенной пивом и кетчупом.:)
  • Документированные допущения. Любой оценщик должен был бы сделать некоторый набор предположений о задаче. Они должны быть документированы где-то, как правило, в официальных документах. Я всегда немного волнуюсь, когда вижу короткое предложение с небольшим количеством задокументированных предположений. Либо они были продуманы, либо не доведены до сведения клиента, или они не были продуманы. Я не уверен, что хуже. Само собой разумеется, что предположения также должны быть разумными.
  • Сбалансированный жизненный цикл. Однако задача разбита, каково соотношение дизайна, кода и теста? Как насчет документации, интеграции с внешними системами и поддержки после выпуска? Как насчет тех дополнительных вещей, которые так важны (системные администраторы, гуру CM, управленческие усилия)?
  • Slack. Я уверен, что корпоративные демоны дешевизны придут и убьют меня, но график и стоимость должны иметь некоторый слабину. Если оценка выглядит амбициозной и агрессивной для опытного глаза, она, вероятно, будет слишком низкой. Оценки почти никогда не бывают слишком высокими.

Ответ 6

Одна хорошая эвристика заключается в том, чтобы проверить, является ли время тестирования примерно одинаковым для времени разработки. Это хороший знак для оценки.

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

  • требования
  • Разработка
  • Тестирование
  • упаковка и развертывание
  • и др.

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

Если оценка является чрезмерно точной, т.е. 0,25 часа, то для меня это плохой запах.

Если есть какие-то недостатки, такие как захват требований, тестирование, развертывание и передача обслуживания любой группе Ops? Если какой-либо из них отсутствует, это то, что вернется и укусит вас.

Изменить: Еще одна вещь, на которую нужно следить, - это старые задачи "навсегда 90%". Вы получаете обновление выполнения после обновления обновления, перечисляя задачу как "90% завершено". Это нехорошо!

НТН

веселит

Ответ 7

  • Является ли компилятор оценки доступны и готовы обсудить это с другим старшим проектом Члены? Если нет, то это часто беспокойство.

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

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

(Спасибо за ответ на мой вопрос, кстати.)

Ответ 8

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

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

Я согласен с сатеше, мне очень нравится Software Evaluation: Демистификация черного искусства Стив Макконнелл. Он имеет несколько контрольных перечней, которые полезны при рассмотрении и/или подготовке оценок.

Ответ 9

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

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

Что все сказано, с точки зрения Agile, некоторые из способов, по которым мы пытаемся получить более последовательные оценки во время проекта,:

  • Используйте относительный стандарт калибровки (S, M, L, XL), а не время (идеальные дни).
  • сосредоточиться на сложности не время
  • Всегда используйте оценки групп, а не оценки отдельных лиц.
  • Соберите оценки часто в течение всего проекта, как правило, в начале каждого спринта
  • использовать обратную связь от предыдущих спринтов при определении сложности истории.
  • скорость дорожки, чтобы придать значение относительному размеру
  • частая и ранняя ретроспекция истории, чтобы исследовать/понимать любые трещины.

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

Ответ 10

Оценки формы 3, 6 или 12 месяцев (в основном, любые округлые числа) падают на угадывание. Обычно, когда вы догадываетесь, вы выбираете какой-то круглый номер, который больше, чем вы думаете, это займет четверть, полгода и т.д. - обычные подозреваемые. Я предпочитаю оценки с точки зрения реальных итераций развития (независимо от их размера).

Ответ 11

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

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

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

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

Успех и критерии отбора на разных этапах - отличный знак. Если у них есть определенная точка, которая составляет 10%, по крайней мере, если оценка неверна, вы знаете рано и сможете адаптироваться. Если контрольных точек нет, пока вы не закончите, вы можете не знать, что вы позади, пока эта дата не будет удалена.

Ответ 12

Насколько знакомым является человек, дающий оценку людям, выполняющим работу?

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

Ответ 13

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

Я бы также сказал, если оценка представлена ​​как единое абсолютное число (скажем, 180 дней), то это не хороший знак. Одно абсолютное число указывает на то, что оценка состоит в том, что задача будет завершена со 100% -ной вероятностью по данным данным. Оценки, представленные в диапазоне (скажем, от 130 до 180 дней), указывают на то, что диапазон, в котором задача может быть завершена.

Многое из того, что я написал выше, я приписываю его книге:

Оценка программного обеспечения: демистификация черного искусства Стив Макконнелл

Ответ 14

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

Ответ 15

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

Это почти наверняка не закончится в удобную для бизнеса дату.

Он будет включать в себя риски различного рода.

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

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

Если в начале есть задержки, в конце будут задержки (выраженные через 10-12 месяцев с начала или около 1Q2010, если мы начнем сейчас, а не в январе 2010 года, когда проект еще не начался).

Допущения и зависимости будут четко и заметно перечислены.

Изменить: часть этого зависит от стадии, в которой находится проект. Ранняя, но точная оценка является предупреждающим знаком, особенно если нет доверительного интервала. Это пахнет прокрустовой оценкой.

Также обратите внимание на другие методологии разработки. Проект с временным разделением может иметь жесткое и произвольное расписание, но набор функций будет гибким.

Ответ 16

Любое из следующего:

  • Это один большой проект, и не существует короткой стратегии высокого уровня.
  • Не существует четкого, краткого и краткого видения того, что хочет достичь с проектом.
  • Проект не структурирован по мере доставки бизнес-стоимости постепенно
  • Команда пытается дать "точные" оценки для большого проекта, перейдя на (или сработав) долгий этап анализа? (изменения придут и будут обычно влиять на эти оценки таким образом, которые не могут быть легко определены количественно без больших усилий).
  • "Подробные" оценки для всего проекта (связанные с предыдущим)
  • Для первой фазы нет подробных оценок, или в них что-то не так.

Ответ 17

"Четыре-шесть недель" , когда не сопровождается разбивкой на более короткие задачи...