Поощрение разработчиков программного обеспечения для отслеживания времени

24

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

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

М. Дадли
источник
6
Возможно, проблема в том, что они должны вводить цифры, а не заставлять программное обеспечение отслеживать время и просто периодически просить их задать описание действия и нажать «запись». Я написал программу для себя, чтобы решить именно это, потому что я буду ходить весь день в зоне, а затем всплываю на поверхность и с трудом создаю свой «журнал времени» на день. См. Softwaremonkey.org/Program/TimeKeeper
Лоуренс Дол
3
Просто сделайте им то, что сделали со мной в одной компании, в которой я работал. Назначьте ему задание, немедленно попросите его провести 3 непрерывных дня на совещаниях, которые вы посещаете с ним, а затем сразу же после совещаний потребуйте знать, почему задание не было выполнено.
user16764
2
Где я могу поставить цифры для времени, когда я решаю проблему по дороге домой?
Питер Б
1
@PieterB IMO, если вы регулярно тратите достаточно времени на размышления о рабочих проблемах в автомобиле, которые повышают вашу производительность, то я думаю, что следует отслеживать время для оценки проекта, даже если это не компенсируется. Пришло время подумать за столом. С другой стороны, если это одноразовое открытие в машине, я не думаю, что это стоит отслеживать, потому что это не то, из чего можно было бы основывать оценку проекта.
М. Дадли
1
@PieterB Определенно серая область. Все зависит от того, полезно ли отслеживать при составлении графиков и сметы проекта.
М. Дадли

Ответы:

41

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

Это поправимо.

Вовлеките их в планирование.

С. Лотт
источник
2
Есть цитата об этом, но большинство моих книг все еще упаковано. Что-то в том, что сами инженеры являются лучшими в планировании, поэтому они должны быть вовлечены в планирование проекта с первого дня. Я хочу сказать, что это происходит из Rapid Development Стива Макконнелла, но я не уверен.
Томас Оуэнс
4
Недавно я видел мой проект (6-месячный проект), где наш премьер-министр выделил 4 часа для интеграции с другим приложением. Достаточно сказать, что интеграция займет значительное время, и я и другой разработчик посчитали это довольно смешным.
Крис
@ThomasOwens Это все еще сбивает с толку меня каждый раз, когда мне говорят, сколько времени займет что-то от BA или PM. Это заблуждение настолько опровергнуто, что печально осознавать, что оно просто означает, что ни один из BA или PM не делает ни малейшего чтения об отрасли, в которой они работают.
Джимми Хоффа
21

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

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

  • Если у вас есть произвольный срок, установленный руководством, хорошие оценки подскажут вам, чего вы действительно можете достичь за это время. В качестве бонуса у вас есть несколько хороших графиков, чтобы убедить менеджера, что вы знаете, о чем говорите.
  • Вы должны продумать проект более тщательно. В статье, на которую я ссылаюсь, говорится: «Вы должны разбить свой график на очень маленькие задачи, которые можно измерить за часы ». Поскольку вы задумывались практически о каждом аспекте проекта (надеемся, что пишете спецификацию !), У вас гораздо меньше шансов удивиться тому, о чем вы не подумали.
  • Это делает вас лучшим разработчиком. Со временем вы увидите, какие задачи вы склонны недооценивать, поэтому вы можете потратить некоторое время на улучшение этих конкретных задач, а не на слепую оптимизацию.
Майкл К
источник
1
+1, для второго пункта. Я обнаружил, что любые оценки, которые используют меру времени в днях или неделях, всегда будут неточными в терминах дней или недель. Если вы ушли на несколько часов, вы всегда можете пересчитать другие оценки более точно. А написание спецификации или создание артефакта PoC позволяет получить более точные оценки, хотя придумать оценки для этих элементов не так просто.
Вине Рейнольдс
10

Вы можете сделать это стандартным способом - морковь и палочки.

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

Ваш комментарий о том, что они не часто участвуют в планировании проекта, может сделать это жестким предложением.

Наиболее высокоэффективным среди них, особенно если у вас есть последователи PSP , является то, что вы помогаете им стать лучше.

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

Наконец, программное обеспечение, которое вы используете, способствует их сдержанности? Это неуклюжий? Должны ли они искать временные коды в Системе A, прежде чем затем поместить свое время в Систему B? Является ли он слишком гранулированным, не учитывает ли он время выключения и требует ли он учета 8 часов в день? Сделайте это как можно более свободным от трения, чтобы также помочь принятию.

Удачи

SDG
источник
5
+1 за последний абзац. Сделайте его более легким, чтобы отслеживать время, чем не делать этого, и вдруг это волшебным образом будет сделано.
Скотт
5
Замечательный последний момент - я терпеть не мог искать 8-значное число, когда через 10 минут можно было бы написать веб-выпадающий список (мои оценки с использованием оценочных кубиков у меня на столе). Кроме того, я бы не стал использовать термины «Management Bingo», такие как «понимание нашей текущей скорости», а скорее «вам не нужно будет работать много обязательных неоплачиваемых сверхурочных работ, пытаясь добиться успеха в конце графика, если мы сделаем наши графики реалистичными для начать с. "
Вонко здравомыслящий
@Wonko +1 за оценку игры в кости :-)
sdg
8

По моему опыту, следующие проблемы с большинством программного обеспечения для отслеживания времени:

  • Разработчик не имеет возможности или полномочий разбивать задачу на более легко оцениваемые подзадачи на лету.
  • Там нет хорошего способа учета для подзадач вы не знали о , пока не начал работать над чем - то, ситуацией , которая приходит все время в разработке программного обеспечения и отладке.
  • Затраченное время вводится после факта, когда трудно точно вспомнить, сколько целенаправленных усилий ушло на выполнение задачи и сколько ушло на встречи, вопросы коллег, коллегиальные обзоры и прочие накладные расходы.
  • Нет хорошего способа учёта неотслеживаемых задач. В конце дня вы откладываете 8 часов, хотя 6 из них были потрачены на встречи и тому подобное?
  • Нет хорошего способа учесть неопределенность в ваших оценках и сообщить о ней.

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

Карл Билефельдт
источник
6

Хороший способ

Используйте программное обеспечение, которое на самом деле делает это простым и почти прозрачным, как, например, Mylyn. Объедините его с такими инструментами, как, например, часовая диаграмма выгорания.

Плохой способ

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

Vartec
источник
3
Я надеюсь, что вы заполнили форму tt-proc-1b, чтобы записать время, потраченное на ответ на этот вопрос, а затем получить управленческое подтверждение, чтобы согласовать потраченное время. и вы заполнили форму tt-est-1a, чтобы записать примерное время, которое вы потратите на ответ на этот вопрос, прежде чем приступить к работе над ним?
gbjbaanb
mylyn / tasktop ... не идеально, но уверен, что многое делает для отслеживания времени, просто как побочный эффект другого инструмента, который приносит непосредственные преимущества программистам напрямую ... не идеально, но блаженно круто !!
Newtopian
2

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

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

Эд Джеймс
источник
2

Отслеживайте свое время или не платите. Миллионы людей делают это (консультанты, юристы и т. Д.), Почему не могут?

Некоторые могут подумать, что это довольно сурово, но это не так. Если вы работаете в Starbucks, вы должны очистить ванную комнату . Если вы работаете в банке, вы носите костюм и галстук на работу каждый божий день , и если вы инженер по программному обеспечению в команде, которая нуждается в вас, чтобы отслеживать свое время, вы делаете это !

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

Ричард
источник
1
Именно то, что я собирался сказать. Особенно, если у вас есть клиенты, оплачивающие счет - как еще вы можете узнать, с чего их взимать? Я гарантирую, что одна поздняя зарплата, потому что кто-то не загружал свое время, навсегда решит проблему.
HLGEM
2
Это отличный способ получить иск за то, что вы не платите сверхурочно сотрудникам, на которых вы претендуете на освобождение от FLSA, но которые не имеют права на освобождение, потому что вы платите в зависимости от производительности.
Wooble
1
@ Wooble: Очевидно, я не защищаю действия, которые сделали бы вас уязвимыми для того, чтобы быть обвиненным, или любым способом плохо обращаться с вашими сотрудниками. Но идея та же самая. Должны быть предчувствия, что вы не выполняете свою работу. И во многих случаях отслеживание вашего времени является частью вашей работы. Так что, возможно, вы не платите доку, но предупреждаете, ставите испытательный срок, что бы это ни значило, но факт в том, что вы должны выполнять свою работу . Это не эгоистично, потому что это касается и всех членов вашей команды.
Ричард
@HLGEM: Ваша точка зрения абсолютно верна. Если ваш контракт с клиентом заключен на условиях T & M, вам лучше отслеживать свое время, либо вы нечестны.
Ричард
К сожалению, я не в состоянии поручить любое отслеживание времени, поэтому мне нужно найти альтернативные методы.
М. Дадли
1

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

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

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

dossy
источник
+1 за прозрачность. Однажды мне пришлось сделать систему отслеживания времени, и я намеренно затруднил руководству выбор точного времени начала и окончания, вместо этого они могли видеть только общее время, проведенное. Таким образом, не имеет значения, когда сотрудник выполнял работу, только то, что это было сделано и сколько времени это заняло. Маленькая деталь, но все же.
Джеймс
1

Подумайте, почему они не очень хорошо отвечают на этот запрос. Не просто предполагайте, что они ленивы или избегают усилий.

Разработчики, которые избегают предоставления доказательств, обычно

  • Обеспокоены тем, как это может быть использовано и / или
  • Обеспокоены по поводу достоверности данных

Вот почему оценка очков и подбор рубашек в последние годы значительно выросли. Он учитывает весьма неопределенную природу процесса оценки и позволяет «магии» (то есть усреднению по неопределенностям) взять под контроль планирование.

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

Scrum также позволяет разработчикам контролировать скорость, что означает, что они дают обещание достичь того, что вы выберете из A, B и C или A, Y и Z. Когда они дали такое обещание, разработчики не любят терпеть неудачу; но если вы дадите им это обещание, им все равно. Это твоя вина, если это не так.

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

прецизионный самописец
источник
1

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

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

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

Дов
источник
0

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

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

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

rjzii
источник
0

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

Техника использует таймер, чтобы разбить периоды работы на 25-минутные интервалы, называемые «Pomodori» (от итальянского слова «помидоры»), разделенные короткими перерывами. Тесно связанный с такими понятиями, как временные рамки, итеративная и инкрементная разработка, используемые в разработке программного обеспечения, этот метод был принят в контекстах парного программирования. Метод основан на идее, что частые перерывы могут улучшить умственную ловкость.

Шейди М. Наджиб
источник
0

Вместо того, чтобы убеждать их вводить свои номера, используйте программное обеспечение, которое работает без усилий. Я использую ScreenAware: https://www.screenaware.com/en/ Он автоматически отслеживает ваше время и присваивает его соответствующим проектам. Так что это всегда точно, и никто не должен больше угадывать

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

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

Эми Анушевски
источник