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

Как бороться с хроническими проблемами времени?

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

Я уже говорил с ним о его проблемах. Он, кажется, искренне расстроен и смущен тем, что делать, чтобы исправить их.

Мои вопросы:

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

UPDATE: На основе ответов; вот что я понял.

  • Наказание - плохая идея.
  • Естественно, что работник не может исправить проблемы без вмешательства.
  • Не делайте предельных сроков, если только последствия компании (потерянный контракт) не будут выполнены к тому времени.
  • Используйте доступные методы (Agile, контрольный список Joel), чтобы помочь разработчику лучше оценить.

Спасибо за ссылки и информацию. Также спасибо за обновление моего мышления.

4b9b3361

Ответ 1

Я не думаю, что проблема в том, что ему не хватает этих крайних сроков.

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

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

Ответ 2

Есть интересная статья Джоэла Спольского: Планирование фактических данных

1) Перерыв

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

Это заставляет вас фактически понять, что вы собираетесь делать. Запишите подпрограмму foo. Создайте это диалоговое окно. Разберите файл Fizzbott. Индивидуальные задачи разработки легко оценить, потому что раньше вы писали подпрограммы, создавали диалоговые окна и анализирули файлы.

Если вы небрежны и выбираете большие трехнедельные задачи (например, "Реализовать редактор Ajax" ), то вы не задумывались над тем, что вы собираетесь делать. В деталях. Шаг за шагом. И когда вы не думали о том, что вы собираетесь делать, вы не можете знать, сколько времени это займет.

Установка 16-часового максимума заставляет вас проектировать чертову функцию. Если у вас есть рука-волнистая трехнедельная функция, называемая "Редактор фотографий Ajax" без детального дизайна, Im извините, что вы ее сломаете, но вы официально обречены. Вы никогда не думали о шагах, которые он собирается предпринять, и вы обязательно забудете их много.

Главное, чтобы он (и вы) учился на своих ошибках и учитывал их при следующей оценке.

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

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

Ответ 3

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

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

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

Ответ 4

Какие виды наказаний за прохождение срок действия эффективен?

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

Какими путями я могу согласовать это работник для полицейских действий (время оценки и т.д.) сам?

Помогая ему найти правильный способ сделать оценки.

Ответ 5

Во-первых, убедитесь, что вы четко поняли свои требования.

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

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

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

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

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

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

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

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

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

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

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

Наказание и принуждение - это адекватные ответы на преднамеренные нарушения в определенных ситуациях.

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

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

Ответ 6

Хорошо, это довольно распространено - разработчики оптимистичны. Это задача Управления справиться с этим. Если кто-то должен быть наказан, это менеджер (вы?)

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

Когда я был молод, мой первый хороший менеджер справился с этим так:

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

Затем он посмотрел на них и сказал мне удвоить все мои оценки. (Разработчики, особенно молодые разработчики, не думают о том, что вы только продуктивны около 1/2 дня, если вам повезет, а половина из них тратится на то, что вы не ожидали делать).

Затем, прежде чем создавать свое расписание, он удвоил все мои оценки (не сказав мне).

Он повернул их таким образом, независимо от требований к графику сверху. Хороший менеджер должен понять, что говорить, что это нужно сделать через 2 дня, не дает возможности.

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

Задача менеджеров - это не просто создание проекта, а создание команды. Чаще всего это требует какой-то подготовки. Это также является причиной того, что инженер-инженер, который не является инженером, неприемлем, они не могут реально помочь в этом.

Неспособность проекта или графика ВИРТУАЛЬНО НИКОГДА НЕ НЕСОВЕРШЕТЬ разработчика (за исключением нескольких хронических случаев, когда он на самом деле не исправляется или не стоит и должен быть уволен). Менеджер принял плохие решения либо при наем разработчика, доверяя ему, управляя им, либо укомплектовывая проект.

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

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

Ответ 7

На ваши вопросы:

  • Если вы решите наказать людей за недостающие сроки, вы не получите хороших результатов. Они будут демотивированы и будут чувствовать себя униженными. Если вы продолжаете подталкивать людей к соблюдению сроков, качество работы будет страдать, и в конечном итоге у вас будет много времени на исправление ошибок.
  • Чтобы улучшить свои оценки времени, вы можете попытаться использовать Joel Spolsky основанное на доказательствах планирование, которое имеет хороший цикл обратной связи для улучшения полученных оценок.

Но у меня есть некоторые вопросы, которые, я думаю, вам нужно подумать.

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

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

Ответ 8

Какие виды наказаний за прохождение срок действия эффективен?

Вы указали точку и пропустили ее. Очевидным наказанием за прохождение крайнего срока является смерть. Если разработчик все еще жив после истечения крайнего срока, "крайний срок", очевидно, не был реальным сроком. Считаете ли вы смешным заставить разработчиков под давлением использовать военный язык?

Исправьте свою формулировку.

Ответ 9

Мотивация

Прежде всего: прочитайте Peopleware

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

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

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

Оценки

Как указывалось, оценки являются оценками. В нашей команде мы вообще не делаем никаких индивидуальных оценок, мы оцениваем их как команду. (Я немного неохотно называю то, что мы делаем Scrum, но большинство из них пытается подражать, если не меньше). Я думаю, что это действительно отличный способ сделать оценки: каждому члену команды дается колода карт, состоящая из цифр 0, 1/2,1,3,5,8,13,20,40,60,100, и при оценке задачи каждый разработчик выбирает карту (карты скрыты, пока все не выбрали карту, чтобы избежать влияния на оценки), и среднее значение выбранные карты принимаются в качестве оценки.

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

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

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

Фактические рабочие элементы, выполняемые отдельным разработчиком, не нуждаются в оценке. Первое приближение всегда составляет 1/2 - 1 день. Если эта оценка окажется ложной, вы просто возьмите другого разработчика и сделайте это вместе, чтобы сделать это. Или вы разбиваете рабочий элемент на более мелкие задачи, чтобы он мог быть лучше распределен.

Ответ 10

Установите Вехи и попробуйте Agile, как предлагал @OTisler.

Ответ 11

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

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

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

Ответ 12

Что меня поражает, так это то, что у вас есть только один из этих парней.

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

Решением этого является изменение вокруг того, как вы делаете оценки - для всех. Разработчики могут быть плохими при оценке абсолютного времени, но они довольно хороши в относительном времени. Итак, в понедельник вместо "сколько времени потребуется, чтобы добавить whoosiwhatsit?", "Спросите", что вы можете сделать на whoosiwhatsit менее чем за неделю? " Это становится их задачей на неделю.

В следующий понедельник вы посмотрите, как это произошло. "Ну, я установил floogle через два дня, но оказалось, что это повлияло на mcphee... так что на этой неделе мне нужно разделить этих парней, чтобы файлы whoosiwhatsit не перезаписывались". Хорошо, там их задача на неделю.

Вы могли бы подумать, что это не поможет, потому что вы все еще не знаете, когда whoosiwhatsit будет готов. Это правда. Здесь у вас есть два варианта:

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

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

Ответ 13

Итак, разработчик неплохо работает, но плохо оценивает время доставки? Я еще не уверен, что у вас есть наказание в ваших руках.

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

Ответ 14

спросите себя: что влечет за собой вашу работу?

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

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

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

Ответ 15

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