Чому ти ніколи не робиш так багато, як планував? [зачинено]


26

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

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

Це тільки я? Я, здається, не отримує кращого прогнозу, що можна зробити за день.


8
Це не тільки ти. Дивіться закон Хофстадтера .
Пітер Бауфтон

18
Тому що ви витрачаєте час, задаючи питання на P.SE, замість того, щоб робити свою роботу :) :)
Яс

2
Наступного разу, коли ви оціните завдання, помножте результат на 3, і ви в безпеці;)

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

1
Мій старий начальник казав, що мої цитати часу були в котячі роки . Я думаю, що він просто перемістив кожну цитату на один порядок. Години -> Дні; Дні -> тижні; Тижні -> місяці; Місяці -> Клієнт повернення коштів.
Увімкнення

Відповіді:


17

Тому що тебе ніколи не вчили планувати.

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

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

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

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


8
Окрім того, що просто не планувати всіх маленьких їдців за день, що ускладнює планування, планування - це також навичка, яку не цікаво вчитися. Коли ви робите помилку кодування, ви отримуєте помилку, і виправляєте її, і ви вивчаєте урок. Коли ви отримуєте помилку планування, ВИ ЗНАТИ !!! Якщо ковзати по термінах, ви відчуваєте себе погано, і це змушує вас відчувати невдачу, тому багато людей просто не планують. Щоб протистояти цьому, я почав вести дуже докладні, деталізовані списки тодо, але завжди приділяю себе дурним зайвим часом. Тоді я відчуваю себе справді виконаним, бо я завжди в бюджеті вчасно!
CodexArcanum

@Codex, чудовий момент. Є способи перетворити "невдачі на планування" в щось, проти чого можна "кодувати виправлення". Кожен провал планування - це можливість навчитися. Погляньте на таку методику, як Аналіз кореневих причин, щоб допомогти зрозуміти контекст невдачі, тож ви зможете планувати краще наступного разу і вводити конкретні контрзаходи, які призведуть до відмови в майбутньому.
Алекс Фейнман

1
Не тільки не цікаво вчитися, це часто відчуває себе марною тратою часу. Я називаю це «метаболією» - витрачаючи час на аналіз або організацію свого корпусу роботи. Коли потрібно зробити багато тонн, металообробка може відчути, що ви будуєте собі ізольовану печеру під лавиною, а не намагаєтесь викопати себе, але насправді те, що ви робите, - заточує ваші інструменти, готуючись до завдань, що їх чекають.
nlawalker

Станом на це написання, 11 людей підтримали цю відповідь. Що означає, що є 11 людей, які знаходяться під оманою, що насправді існує таке поняття, як план, який правильно оцінить необхідний час.
Роберт Харві

@nlawalker: Не цікаво вчитися? Якщо я не дізнався чогось нового за день, пекло в кожну годину неспання, я вважаю день провалом.
Орлінг

26

Важко повірити, що ніхто не згадував закон Хофстадтера .

Я думаю, що справжня відповідь полягає в тому, що ваше планування завжди передбачає найкращий сценарій, як ніби все спрацювало негайно, і жодного разу не було перерви. У реальному житті ви починаєте кодування, потім дзвонить телефон, ви відволікаєтесь на 5 хвилин, витрачаєте ще 15 хвилин на stackoverflow або programmers.stackexchange, щоб заспокоїтись і переорієнтуватися, зробити якесь кодування, зіткнутися з несподіваною поведінкою якогось API, зробіть деякі гугли, витрачайте 2 години на тестування можливих рішень тощо.

Іншими словами: «найкращий випадок» трапляється лише у ваших мріях.


1
Дивіться коментар @Peter Broughton (за 5 годин до вашої відповіді!).
ChrisF

Так, ти маєш рацію, ChrisF. Повинен пропустити це.
користувач281377

+1. Це по суті, тому я йду за правилом "зробіть розумну оцінку, а потім подвійно". І навіть тоді це часто займає більше часу. Один з моїх викладачів в університеті казав "потрійно це". Тож я гадаю, що в мене все гаразд. :)
Столи Бобі

10

Кожен програміст, раз у чудовий час, має ідеальний день. Ви прокидаєтесь за 5 хвилин до того, як сигнал тривоги погано почувається. Сніданок робиться і на прилавку, разом зі свіжою кавою, тож можна щось схопити і попрямувати у двері. Під час поїздки ви потрапляєте на кожне зелене світло, а трафік здається особливо легким. Розмірковуючи день, що попереду вас, ви зможете повністю зрозуміти дизайн та наслідки завдання, що стоїть перед вами, що було добре сплановано з твердими вимогами.

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

Протягом дня ви працюєте без перерв, в офісі тихо, і ви настільки зосереджені, що ніколи не спокушаєтеся витрачати час на лову новин, блогів і т. Д. Коли ви збираєте і запускаєте тести, то виявляєте, що все працює без перешкод, звичайно, ви знали, що це буде, і наприкінці дня ви здійснюєте без конфліктів. Поглянувши на годинник, коли ви виходите, ви зрозуміли, що ставите за 12 годин, і це відчувало як короткий 20-хвилинний сеанс кодування.

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


7

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

Як невелику вправу для себе, подумайте про наступне:

  • На початку дня запишіть, яка ваша мета, і розрахунок часу для неї.
  • Під час кожного перерви (зустрічі, розмови з колегами тощо) запишіть приблизний проміжок часу
  • Кожен раз, коли ви знаходите нову помилку, записуйте її як незаплановане завдання, а також приблизно, скільки часу знадобилося для її розробки.

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

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


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

3

Можливо, ви захочете розширити часовий діапазон передбачуваності. Чи можете ви визначити, що можна зробити за тиждень? Якщо кожне завдання займає три рази довше, ніж ви думали, це здається, що ви досить послідовні, щоб бути передбачуваними. Вам просто потрібно відрегулювати на 3x;)


+1 Постійно неправильно, як і раніше! Результат.
Орлінг

2

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

Зробіть кілька статистичних даних про середній час, який ви витратили на помилки, і врахуйте цей час, коли ви складаєте свій план.


1

Тому що ви не плануєте правильно. Ой .

Б'юсь об заклад, якщо ви будете тримати загальну суму, скільки ви проскочите (навіть на папері), а потім відкоригуйте свої оцінки на цей%, ви зможете правильно планувати.

FWIW, програмне забезпечення, як відомо, важко оцінити. У МакКоннелла (з Кодексу повна слава) є навіть книга про неї.


1

Щось мені часто трапляється, що відволікається на випадкові речі, які не мають відношення до того, що я роблю. Список тодо може допомогти у цьому; коли ви щось придумаєте, запишіть це і зробіть це після того, як закінчите те, що перед вами.



1

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


Я схильний вважати, що найцікавіші речі важливі, а чому вони цікаві? Просто думка.


1
Моя проблема з цією технікою завжди була невидимим "третім виміром": наскільки щось цікаво. На жаль, для мене цікавість щоразу нагадує актуальність та важливість.
тайм

0

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

  • дуже легко неправильно оцінити об'єм роботи, яку буде займати X.
  • Я ніколи не планую помилок чи поїздок до чайника.
  • або ви багато зробите з невеликим кодом, або нічого не буде зроблено, і, здається, немає між ними.
  • іноді ви втрачаєте свою «зону», іноді все потребує продумування.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.