Что может быть хорошим тимбилдингом для улучшения навыков оценки? [закрыто]

9

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

обкрадывать
источник
2
Улучшение оценки - это не то, что можно сделать с помощью короткого упражнения. Это должно быть долгосрочное усилие, чтобы отследить ваши оценки, фактическое время и некоторую посмертную дату, чтобы определить, почему оценка и фактическое время были разными. Это также навык, который развивается с течением времени - вы становитесь лучше, оценивая и учась на своих ошибках с помощью анализа.
Томас Оуэнс
У вас есть проблемы? Насколько точны ваши оценки и следует ли вам уделять время их улучшению?
JeffO
@ Томас Оуэнс, я знаю, что это не то, что можно сделать с помощью короткой активности. Я просто пытаюсь повысить осведомленность о важности развития хороших навыков оценки. Я должен был быть более конкретным в моем вопросе.
Роб
2
@ Джефф О, нет проблем - это новые сотрудники, у которых меньше опыта, и я хочу помочь им в работе над оценкой в ​​целом.
Роб

Ответы:

8

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

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

Malfist
источник
Я люблю EBS (я заядлый пользователь FogBugz). Я не думал использовать его в качестве примера - хорошее предложение. Я воспользуюсь этим.
Роб
6

Представьте пример проблемы с использованием Minecraft.

Заказчику нужна коричневая ступенчатая пирамида размером 20х20 блоков. Пирамиде также нужен ров шириной не менее 10 блоков.

Дайте им 3 минуты, чтобы набросать простую WBS и смету.

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

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

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

Это уведет точку домой.

maple_shaft
источник
2
Мне это нравится, но если вы не знакомы с Minecraft, я не уверен, как вы могли бы дать оценку, которая имеет смысл. Как бы вы оценили время, необходимое для строительства коричневой ступенчатой ​​пирамиды?
Роб
1
@ Томас Оуэнс, я думаю, что смысл maple_shaft заключается в том, чтобы убедить разработчиков в важности обнаружения этих типов требований. Как консультант, я лично видел много примеров смехотворно очевидных вещей, которые пользователь должен был просить, но не делал, потому что они не понимали, что это то, что им нужно. Я и мои разработчики все являемся консультантами, и в нашей нынешней ситуации у нас нет роскоши хороших инженеров по требованиям, поэтому я пытаюсь помочь им задавать такие типы вопросов об обнаружении их клиентов, чтобы помочь улучшить их оценки ,
Роб
2
@ unforgiven3 Это не имеет ничего общего с оценкой. Работа по разработке требований может быть поручена разработчику, но вы можете основывать свои оценки только на известных требованиях. Улучшение вашей способности анализировать, проверять, проверять и обнаруживать требования не связано с улучшением вашей способности оценивать, сколько времени потребуется для выполнения задачи. Требования меняются, поэтому меняются оценки, но невозможно оценить то, чего вы не знаете, и вам не следует этого пытаться.
Томас Оуэнс
1
@ Томас Оуэнс, я согласен с тем, что невозможно оценить то, чего вы не знаете - в этом и заключается моя точка зрения - вам необходимо выявить требования к функции и проверить предположения о ней как предварительное условие для создания достойной оценки. Однако я согласен с тем, что после некоторого рассмотрения это не связано с улучшением способности оценивать - возможно, сосредоточение деятельности на выявлении требований было бы более полезным, чем деятельность по оценке. Хорошие моменты - они определенно заставляют меня думать, что, возможно, я сосредотачиваюсь на неправильных навыках для улучшения.
Роб
1
@ unforgiven3 Хороший инженер всегда должен работать над улучшением обоих. Я был в положении, когда мне не было поручено разрабатывать требования, но мне вручили спецификацию, в которой были обнаружены проблемы. Умение видеть их и задавать правильные вопросы очень важно для любого, кто разрабатывает программное обеспечение, и над ним нужно работать. Однако, когда я оцениваю, я всегда основывал свои оценки на спецификации, даже если есть вопросы. Я просто оставляю большее окно для ошибки (давая шанс 75% вместо 85%, или немного больше окна).
Томас Оуэнс
1

Я предлагаю лабиринт генератор / решатель для следующих моментов:

  • Это весело делать
  • Вы не можете думать обо всех случаях в первый раз
  • Поколение и решение проблемы довольно дополняют друг друга
  • Это охватывает от конца с сохранением данных до внешнего с загрузкой данных
  • Людям может быть назначено множество точек: спецификация файла, отображение, генерация, решение, оптимизация, тестирование и т. Д.
Вискас
источник
1

Вы можете сыграть в «Сколько времени вам понадобится, чтобы написать это?» игра. Подобно группе людей, хвастающихся тем, как они могут доехать до Лас-Вегаса за Х часов (где число Х обычно уменьшается с каждым хвастовством, пока кто-то не заявит, что сможет сделать это менее чем за час). Итак, для программистов: отбросьте простую цель и посмотрите, что говорит каждый человек, и существует ли консенсус группы или выдающихся мнений. Сколько времени вам понадобится, чтобы написать привет мир? Что означает «запись», это также означает «запустить» и «проверить»? Требуется ли сначала среда моделирования? На какой платформе и на каком кросс-компиляторе и какие инструменты уже установлены и готовы? и т. д. и т. д. «Hello world» может занять 4 дня, чтобы «написать» на встроенной платформе (установить инструменты, подготовить платформу,

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

Джонатан Клайн IEEE
источник