Заохочення інженерів програмного забезпечення для відстеження часу


24

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

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


6
Можливо, проблема полягає в тому, що вони повинні вводити цифри замість того, щоб програмне забезпечення відстежувало час і просто періодично просило їх встановити опис діяльності та натиснути запис. Я написав програму, щоб вирішити саме це, тому що я ходив би цілий день у зоні, а потім на поверхню і важко генерував би свій "журнал часу" за день. Дивіться softwaremonkey.org/Program/TimeKeeper
Lawrence Dol

3
Просто зробіть їм те, що було зроблено зі мною в одній компанії, в якій я працював. Призначте йому завдання, негайно попросіть його провести 3 безперервні дні на зустрічах, які ви відвідуєте з ним, а потім відразу після зустрічей вимагайте дізнатися, чому це завдання не було виконано.
user16764

2
Де я кладу цифри за час, коли вирішую задачу по дорозі додому?
Пітер Б

1
@ PieterB IMO, якщо ви регулярно витрачаєте достатньо часу на роздуми над робочими проблемами в машині, що це підвищує вашу продуктивність, то я думаю, що час слід відслідковувати за кошторисом проекту, навіть якщо це не компенсовано. Пора ви б інакше витратили на роздуми за своїм столом. З іншого боку, якщо це одноразове одкровення в машині, я не думаю, що це варто слідкувати, оскільки це не те, на чому ви б базували проектну оцінку.
М. Дадлі

1
@PieterB Безумовно, сіра зона. Все залежить від того, чи корисно відстежувати під час складання графіків та кошторисів проекту.
М. Дадлі

Відповіді:


41

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

Це можна виправити.

Включіть їх до планування.


2
Про це є цитата, але більшість моїх книг все ще запаковані. Щось у тому, що самі інженери є найкращими в плануванні, тому вони повинні бути залучені до планування проекту з першого дня. Я хочу сказати, що це відбувається від швидкого розвитку Стіва Макконнелла, але я не можу бути впевнений.
Томас Оуенс

4
Нещодавно я бачив проект шахти (проект на 6 місяців), де наш прем’єр виділив 4 години на інтеграцію з іншою програмою. Досить сказати, що інтеграція потребує значного часу, і я та інший розробник подумали, що це досить комічно.
Кріс

@ThomasOwens Це все ще бентежить мене кожен раз, коли мені кажуть, як довго щось займе бакалавр чи прем'єр-міністр. Ця помилка настільки ретельно розвінчана, що сумно усвідомлювати, що це просто означає, що ніхто з бакалаврів чи прем'єр-міністрів не читає ні найменшого ознайомлення з галуззю, в якій працюють.
Джиммі Хоффа

21

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

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

  • Якщо у вас встановлений довільний термін, встановлений керівництвом, хороші оцінки підкажуть, що ви можете реально досягти за цей час. У якості бонусу у вас є кілька приємних графіків, щоб переконати менеджера, що ви знаєте, про що говорите.
  • Ви повинні продумати проект уважніше. У статті, до якої я посилався, сказано: "Ви повинні розбити свій графік на дуже малі завдання, які можна виміряти за години ". Оскільки ви думали про майже всі аспекти проекту (сподіваємось, написано специфікацію !), Ви набагато рідше здивуєтесь тому, про що ви не думали.
  • Це робить вас кращим розробником. З часом ви побачите, які саме завдання ви схильні недооцінювати, тому ви можете витратити якийсь час на покращення цих конкретних завдань, а не на оптимізацію вслід.

1
+1, для другої точки. Я виявив, що будь-які оцінки, що використовують міру часу в днях або тижнях, завжди будуть неточними щодо днів або тижнів. Якщо ви відключились на кілька годин, ви завжди зможете точніше перерахувати інші оцінки. І написання специфікації або побудова артефакту PoC дає більш точні оцінки, хоча придумати оцінки для цих предметів не так просто.
Vineet Reynolds

10

Зробити це можна стандартним способом - морквою і паличками.

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

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

Найбільш високоефективна серед них, особливо якщо у вас є послідовники PSP , це те, що ви допомагаєте їм покращитися.

Найпоширеніша палиця (бити їх, а не тримати моркву перед собою) - це "це обов'язково, роби це". Хоча не дуже сильний мотиватор; принаймні позиція зрозуміла.

Нарешті, чи програмне забезпечення, яке ви використовуєте, сприяє їхній стриманості? Це химерно? Чи повинні вони шукати часові коди в Системі A, перш ніж помістити свій час у Систему B? Це занадто детально, чи не дозволяє «вимикати» час і вимагати обліку 8 ​​годин на день. Зробіть це максимально без тертя, щоб також допомогти усиновити.

Щасти


5
+1 за останній абзац. Зробіть легше робити відстеження часу, ніж цього не робити, і раптом це буде магічно зробити.
Скотт

5
Прекрасний останній момент - мені було ненависно шукати восьмизначне число, коли через 10 хвилин можна було записати веб-спадне меню (моє оцінювання за допомогою кісток оцінки, які я зберігаю в своєму столі). Крім того, я б не використовував такі терміни управління Бінго, як "розуміння нашої поточної швидкості", а, скоріше, "вам не доведеться працювати багато обов'язкових неоплачених понаднормових робіт, намагаючись вступити в кінці розкладу, якщо ми зробимо наші графіки реалістичними починати з."
Wonko the Sane

@Wonko +1 для "оцінка dice" :-)
sdg

8

На мій досвід, такі проблеми з програмним забезпеченням для відстеження часу:

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

Я вирішив багато з цих питань, почавши використовувати техніку помодоро для себе. Якщо я працюю 25 хвилин безперебійно над завданням, воно записується відразу, і мої оцінки робляться з точки зору тих безперебійних інтервалів. Я все ще працюю над включенням планування на основі доказів, щоб повідомити про невизначеність, і над перекладом власного дрібнозернистого відстеження в грубі графіки оцінок, які подобаються ПМ, але, безумовно, це було поліпшенням поки що.


6

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

Використовуйте програмне забезпечення, яке насправді робить це простим і майже прозорим, як, наприклад, Mylyn. Поєднайте його з такими інструментами, як, наприклад, схема згоряння годин.

Поганий спосіб

Примушуйте їх заповнювати нудні часові таблиці, де вам потрібно вручну вказати проект, завдання, точні дати та час тощо.


3
Я сподіваюся, що ви заповнили форму tt-proc-1b, щоб записати витрачений час на відповідь на це питання, а потім отримати адміністративний підпис, щоб погодити витрачений час. і ви заповнили форму tt-est-1a, щоб записати передбачуваний час, який ви витратили на відповідь на це питання, перш ніж почати роботу над його відповіддю?
gbjbaanb

mylyn / tasktop ... не ідеально, але впевнений, робить багато для спостереження за часом, як побічний ефект іншого інструменту, який приносить фактичну користь програмістам безпосередньо ... не ідеальний, але блаженно дивовижний !!
Ньютопіан

2

Якщо ви не керівник / прем'єр-міністр, тоді ви збираєтеся боротися з цим. Люди не люблять слухати своїх однолітків, якщо це вимагає від них робити більше роботи, ніж абсолютно потрібно (на мій досвід, так чи інакше). Спробуйте взяти це з керівником вашої команди чи прем'єр-міністром, і якщо вони згодні з вашим випадком, вони, ймовірно, можуть просто зробити журнал часу обов’язковим (саме це сталося там, де я зараз працюю).

Якщо ви є керівником / прем'єр-міністром, вам потрібно бути більш сильним у своїй ролі: ці люди є для того, щоб робити те, що ви їм скажете (ефективно), і якщо вам потрібна додаткова інформація, щоб виконати свою роботу, ви повинні отримати їх, щоб забезпечити це інформація. Якщо вони не бажають допомогти вам отримати інформацію, це, мабуть, тому, що вони не розуміють, чому це корисно, спробуйте поговорити з ними, щоб пояснити, як ваші проекти часто виходять з розкладу / отримуйте завищені оцінки / що завгодно і чому це спричиняє у вас проблеми, подивіться, чи можете ви їх розвернути!


2

Відстежуйте свій час або не отримуйте зарплату. Мільйони людей роблять це (консультанти, адвокати тощо), чому вони не можуть?

Дехто може подумати, що це досить драконічно, але це не так. Якщо ви працюєте в Starbucks, вам доведеться прибирати ванну кімнату . Якщо ви працюєте в банку, ви одягаєте костюм і краватку, щоб працювати кожен день , і якщо ви інженер програмного забезпечення в команді, яка потребує вас, щоб відстежувати свій час, ви це робите !

Іноді нам доводиться робити ті речі, які нам не подобаються. Ми всі великі хлопчики та дівчатка, я думаю, що ми повинні мати можливість це впоратися.


1
Саме те, що я збирався сказати. Особливо, якщо у вас є клієнти, які платять рахунок - як ще ви можете знати, за що їх стягувати? Я гарантую, що одна затримка зарплати, оскільки хтось не завантажив свій час, усуне проблему назавжди.
HLGEM

2
Це відмінний спосіб подати позов за невиплату понаднормових службовців, яких ви претендуєте на звільнення від FLSA, але які не мають права на звільнення, оскільки ви сплачуєте зарплату за результатами роботи.
Wooble

1
@Wooble: Очевидно, я не виступаю за дії, які б зробили вас уразливим до позову або будь-якого способу жорстокого поводження з вашими працівниками. Але ідея та сама. Повинно бути репресіями за те, що ти не робиш свою роботу. І в багатьох випадках відстеження свого часу є частиною вашої роботи. То, можливо, ви не платите док, але попереджаєте, ставите на умовний термін, як би там не було сенсу, але факт полягає в тому, що ви повинні виконувати свою роботу . Це не корисно, бо це впливає і на всіх членів вашої команди.
Річард

@HLGEM: Ваша думка абсолютно вірна. Якщо ваш договір з клієнтом складається на основі T&M, ви краще відстежуйте свій час, або ви нечесні.
Річард

На жаль, я не в змозі доручити відстеження часу, тому мені потрібно знайти альтернативні методи.
М. Дадлі

1

Очевидно, найкраща відповідь повністю залежить від психологічної суміші вашої команди. Вони конкурентоспроможні? Розробіть повторюваний конкурс, який нагороджує переможця за те, що він ввійшов у систему. Налаштуйте та налаштуйте змагання, щоб гравці думали, що це чесно та весело. Зробіть це грою.

Можливо, вони стурбовані тим, що якщо з’явиться прозорість у тому, скільки часу вони фактично витратили на виконання завдання, це матиме негативні наслідки. Я завжди замислювався над тим, щоб розробити "інструмент відстеження зусиль", який був анонімним, і коли відра були достатньо високими, щоб у кожне відро було багато людей, що вливали б витрачені зусилля, які окремі учасники не змогли виділити. Навіть отримання більш точних витрат на зусилля для проектів на високому рівні може бути корисними даними для планування проектів і загальної швидкості роботи команди, але це дозволить уникнути "OMG, я не можу повірити, що Джо взяв 3-кратну оцінку, щоб зробити щось так просто". "або що не те, що люди бояться звітувати в традиційній системі відстеження часу.

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


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

1

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

Зазвичай розробники, які уникають отримання доказів

  • Турбує те, як це може використовуватися та / або
  • Стурбований обгрунтованістю даних

Ось чому оцінка на основі балів та розмір сорочки знялися в останні роки. Він враховує дуже невизначений характер процесу оцінювання і дозволяє «магії» (інакше, усереднюючи невизначеність) взяти під контроль планування.

І, хоча це не здається логічним, воно в основному спрацьовує - принаймні так само, як і година або день. Також дуже важко побороти команду чи окремих людей по голові тим, чого вони досягли за місяць, якщо це буде зроблено довільним чином.

Scrum також дозволяє розробникам контролювати швидкість, а це означає, що вони дають обіцянку досягти того, що ви вибрали з A, B і C або A, Y і Z. Коли вони зробили цю обіцянку, розробники не люблять провалюватися; але якщо ви обіцяєте їм це, то їм все одно. Це ваша вина, якщо це неправильно.

Я розумію, що ти кажеш, що не використовуєш переоцінки таким чином, але наскільки впевнені люди з вашої команди?


1

Будь-який інструмент, який вимагає від програмістів приділяти ще більше часу від програмування, не обов'язково є великою справою. Програмісти вже мають великі накладні витрати, вони не проводять 5-хвилинних зустрічей і потім кодують бурю.

Якщо у вас є сила, ви можете змусити їх це зробити. Але на сьогоднішній день найкращим рішенням є створення безшовного інструменту, який робить його безболісним. Я не можу сказати, як це зробити для дизайну, але для кодування ви хочете записати зміни, внесені в середовищі розробки. Це раніше було неможливо високою смугою, але якщо ви використовуєте щось на зразок Eclipse, це не так вже й погано, можливо, воно вже є. Таким чином, ви можете виміряти, скільки часу йде на кожен файл, а можливо, і на Java, кожен метод. Це набагато дрібніша інформація, ніж ви отримуєте, попросивши їх виставити рахунок, і це може бути досить точно.

Так само, якщо у вас є інструмент для введення конструкцій, ви можете там перехопити.


0

Залежить від того, як і чому ви хочете, щоб вони відстежували час, також ми просто рахуємо час в офісі або час, витрачений на поїздку на роботу, думаючи також про проблему?

Планування проекту складно, і є велика ймовірність, що отримані показники не будуть настільки корисними, як ви могли б подумати, що вони будуть. Немає двох проблем однакові, тому на одне завдання може знадобитися вісім годин, а на інше - 32 години.

Можливо, ви захочете вивчити планування, що базується на даних, оскільки оцінка розробника визначає, скільки часу займе завдання, а потім коригує з часом залежно від того, наскільки хороші їх оцінки; однак це не так добре для великих проектів, оскільки ви, можливо, не знаєте всіх завдань наперед. Для великих проектів вам може бути краще переглянути попередні проекти подібного масштабу та використовувати їх як мірку, а не намагатися зібрати окремі кошториси.


0

Спробуйте ознайомити їх із системами особистої організації, наприклад, з технікою Pomodoro (є багато інших, але я намагаюся зараз)

Методика використовує таймер, щоб розділити періоди роботи на 25-хвилинні інтервали під назвою «Помодорі» (від італійського слова «помідори»), розділені короткими перервами. Тісно пов'язаний з такими поняттями, як таймбоксинг та ітеративні та поступові розробки, що використовуються при розробці програмного забезпечення, метод був прийнятий у контексті парного програмування. Метод заснований на ідеї, що часті перерви можуть покращити розумову спритність ..


0

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


Це конкретне рішення може не працювати для загального питання ОП. Хоча вказувати посилання добре, наступного разу спробуйте запропонувати більш загальне рішення, якщо ОП спеціально не згадує про запит програмних рішень для його проблеми.
Ніл

-1

Чи розглядали ви замість цього наявну систему квитків? Наша система квитків стежить за часом між створенням квитка та його закриттям. Якщо ви створюєте квитки для завдань і робите номер квитка вимогою для введення коду, ви отримуєте більше грошей на свій долар.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.