Це не є повною відповіддю - вже є кілька дуже хороших з них, де згадуються важливі речі, як, наприклад, як використовувати свій VCS та програмне забезпечення для управління проектами, - скоріше додаток, що додає кілька пунктів, яких я не бачив у жодному іншому, якого я вважаю, що це дуже корисно, і, що я сподіваюсь, інші люди також можуть бути корисними.
1. Жодне завдання занадто рано або занадто мало, щоб записати
Зазвичай люди складають списки TODO для тих речей, які вони планують робити в майбутньому , але оскільки програмування вимагає зосередженості, і оскільки нас можна перервати в будь-який час , я вважаю корисним записати навіть те, що я зараз роблю, або що я збираюся розпочати за лічені секунди . Можливо, ви відчуваєте, що перебуваєте в зоні, і не зможете забути рішення, яке просто зачепило вас в той ага момент, але коли ваш колега впаде за ваш куб, щоб показати вам картину його зараженого пальця , і ви Ви можете лише нарешті позбутися його, почавши гризти власну руку , можливо, ви хочете, щоб ви записали швидку записку, навіть якщо тільки на примітці Post-It ™.
Звичайно, якийсь інший більш стійкий носій може бути кращим (мені особливо подобається OmniFocus ), але справа в тому, щоб принаймні його було десь , навіть якщо ви закінчите за 20 хвилин, а потім відкиньте Post-It ™. Хоча ви можете виявити, що ця інформація стає корисною, щоб розміщувати табелі та рахунки-фактури для клієнта, або коли ваш начальник / клієнт запитує вас, над чим працюєте, і ви не можете згадати. Якщо ви кинете всі ці нотатки у вікно або ящик або папку, тоді, коли потрапить велика перерва - проект, що перериває, - ви можете переглядати їх і запам'ятати багато того, що ви зробили, щоб дістати свій код до місця, де ви знайдіть його, коли ви повернетесь до проекту.
2. Використовуйте дошку за столом для зйомки ідей великої картини
У мене поруч з робочим столом є дошка 3 "х 4", тому коли я починаю проект, я можу штурмувати рішення всіх проблем, які я відчуваю в проекті. Це можуть бути архітектурні діаграми, випадки використання, переліки ризиків та перешкод, або все, що здається вам актуальним.
Деякі більш формалізовані підходи вимагають, щоб ви генерували діаграми та використовували справи та інше, як "результати" в якомусь паперовому або електронному форматі, але я вважаю, що це може створити багато додаткової роботи, і просто стати серією підпроектів, які закінчуються не розлучившись з реальною метою головного проекту, і лише частиною формалізованого процесу, який ви повинні зробити, але якому ніхто не приділяє великої уваги. Дошка - це найпростіша річ, яка насправді працює, принаймні з мого досвіду. Він настільки наполегливий, як вам хочеться (з фотоапаратом) і найголовніше дозволяє негайно збити свої ідеї.
Я думаю, що краще з ручкою в руці, тому скидання моїх думок на білу поверхню приходить мені природним чином, але якщо ви не вважаєте, що це так для вас, ось кілька питань, які можуть допомогти вам вирішити, що є релевантним :
- Якби я був головним розробником, який збирався б поїхати на медовий місяць протягом 3 місяців, а інші розробники завершили проект, яке загальне керівництво я б хотів дати їм? Які ідеї я хотів би переконати, що вони знають про це, чи підходи, які б я хотів би переконатись у їх використанні? Якими бібліотеками чи іншими корисними рішеннями я хотів би бути впевненим, що вони знають?
- Якби цей проект був моєю ідеєю на мільйон доларів, яку я знав, забезпечить мою майбутню фінансову незалежність, але мене запланували на критичну операцію, яка позбавила б мене на 3 місяці, що б я хотів мати у своєму майбутньому, щоб забезпечити успішне завершення проект?
(Коли я вперше записую ідеї вниз, я переживаю лише за те, щоб вони мали сенс для мого теперішнього «я». Після того, як вони знизяться, я можу більш критично подивитися на них і внести зміни, щоб переконатися, що вони мають сенс для мого майбутнього «я» чи інших людей. про спілкування з іншими, коли ви їх записуєте спочатку, це може призвести до блокування письменників - розуму, засміченого конкуруючими цілями. Спершу спустіться; пізніше турбуйтеся про ясність.)
Рекомендую витратити гроші на придбання гідної дошки, принаймні 3 "х 4", і повісьте її в просторі, де ви зазвичай працюєте. Є багато переваг фізичної дошки перед будь-якою віртуальною системою.
- Він великий. Займаючи багато місця, це дає можливість відчути його присутність, а в планах на ньому відчувається, що вони є частиною вашої робочої області, допомагаючи весь час спрямовувати вас у правильному напрямку.
- Він там наполегливо: у вас немає запуску певної програми чи веб-сайту, щоб отримати доступ до нього, і ви не ризикуєте забути, як дістатися до нього, або забувши, що він є.
- Це відразу доступно, коли у вас є ідея, яку ви хочете продумати.
Ви втрачаєте багато переваг, якщо просто використовуєте дошку в залі засідань, а потім зробите знімок з телефоном. Якщо ви заробляєте гроші за допомогою програмування, то варто вартувати витрат на гідну дошку.
Якщо у вас є ще один проект перервати той , який заповнив вашу дошку, вам , можливо , доведеться вдатися до знімка на телефоні, але , по крайней мере , ви будете мати , що через 3 місяці , коли «невідкладний» проект закінчений , і ви повинні поверніться до іншого. Якщо ви хочете відтворити його на вашій дошці, то, ймовірно, це займе лише 15 хвилин, і ви можете виявити, що ви можете значно покращити його в процесі, що робить це невелике вкладення часу дуже вартим.
3. Повідомте зацікавлених сторін про вартість переривання проекту
Мені здається, що метафора літака корисна: починати та завершувати проект - це як літати на літаку. Якщо ви перебуваєте під час польоту в середині шляху, літак не буде просто сидіти там у повітрі, чекаючи, коли ви повернетесь до нього, і вам потрібен якийсь шлях для переходу від поточного проекту / польоту до наступного. Насправді, якщо ви посеред рейсу з Фенікса до Фарго, і вам сказали, що вам потрібно перервати цей рейс, щоб взяти інший літак з Денвера до Детройта, вам потрібно буде посадити перший літак у Денвері (який на щастя недалеко від вашого маршруту польоту - не завжди це стосується справжніх перерв), і хтось повинен з'ясувати, що робити з вантажем та пасажирами. Вони не просто сидітимуть і чекатимуть вічно.
Сенс цього для проектів полягає в тому, що перехід від одного проекту до іншого вимагає великих витрат часу і залишає багато втрачених цілей, з якими потрібно боротися.
У проекті, очевидно, і неминуче багато що відбувається у вашій голові, поки ви працюєте, і не кожна думка може бути серіалізована до письмового носія, і не кожна йота тих думок, які серіалізуються, залишаться при десеріалізації. Хоча ми можемо частково зафіксувати свої думки у письмовій формі, це дуже сильний формат.
Проблема (як я бачу) полягає в тому, що менеджери проектів та інші ділові люди думають про проекти як про низку кроків, які часто можуть бути упорядковані за бажанням (якщо не існує явної залежності від їх діаграми Ганта), і їх можна легко розподілити серед людей або затримується, поки це не найзручніше для бізнесу.
Кожен, хто здійснив будь-яку кількість програмування, знає, що до програмних проектів не можна ставитися як до блоків Lego, щоб переміщуватися будь-яким способом, який вам подобається. Я вважаю, що метафора повітряних подорожей принаймні дає зацікавленим особам щось конкретне, про що вони можуть подумати, що, очевидно, не можна трактувати як низку розрізнених кроків, які слід упорядкувати на примху. Принаймні, це полегшує розуміння вашої точки зору, що вартість таких перерв коштує. Звичайно, це все-таки їхнє рішення, але ви хочете дати їм про це знати, перш ніж вони перервуть один проект, щоб дати вам інший. Не будьте бойовими, але пропонуйте корисну інформацію та корисну перспективу розробника, готового зробити все, що вам потрібно від вас, але просто пропонуючи інформацію, про яку вони можуть не знати, якщо ви не скажете їм.
Коротко:
- Запишіть все , що ви про робити, навіть якщо ви не думаєте , що ви могли б коли - небудь , можливо , це потрібно записати. Навіть короткий олівець б’є довгу пам’ять.
- Мозковий штурм великої картини на фізичній дошці, до якої ви маєте постійний доступ.
- Ви могли б уникнути перешкод під час проекту , якщо ви робите особи , які приймають рішення в курсі , що є вартість таких перерв, і по крайней мере , ви будете мати набір очікувань , так що вони знають , що проект займе трохи більше часу , коли ви відновите його.