|
Персональные инструменты |
![]() |
||
|
![]() |
![]() О личной эффективности программиста, или Как сосредоточиться на самом главном, не забыв обо всем остальномМатериал из CustisWikiВ статье, размещенной в корпоративном блоге на «Хабрахабре», Вячеслав Муравлев, наш ведущий Java-разработчик, поделился своим опытом планирования деятельности в целом и рабочего процесса в частности. В материале «О личной эффективности программиста, или Как сосредоточиться на самом главном, не забыв обо всем остальном» он рассказал, какими методиками по самоорганизации и планированию вдохновлялся, какие подходы и инструменты использует на практике, а также дал несколько советов тем, кто только начинает знакомиться с методикой GTD. СодержаниеВведениеДо определенного момента своей жизни я ни о какой самоорганизации не задумывался. Все небольшое количество студенческих (аспирантских, junior-developer’ских) дел помещалось в голове, в нужный момент вспоминалось, а что не вспоминалось — тому не повезло ☺. Женитьба, ремонт в квартире, рождение первенца, смена трех мест работы — все это удавалось худо-бедно удерживать в памяти. Но, как говорится, чем дальше в магазин, тем выше ставка по кредиту ☺. В какой-то момент у меня появилось ощущение, что я постоянно занимаюсь «тушением пожаров» на работе, дома, в аспирантуре: провалил срок по рабочей задаче, не вспомнил о поездке к врачу с ребенком, дотянул до последнего с заказом билетов-отелей на летний отдых… О каких-нибудь хобби и получении удовольствия от жизни речи и вовсе не шло. Рабочий процесс тоже походил на жонглирование горящими котятами: пишу код — всплывает уведомление Outlook — срочно бросаюсь читать и заниматься пришедшим письмом — звонит руководитель с напоминанием о поручении — все отложил, лихорадочно ищу письмо среди сотен похожих в папке «Входящие». Нашел — сделал, вернулся к коду с мыслью «Блин, чем же я тут занимался-то!?!?». О глубоком погружении в задачи можно забыть. И это притом, что в силу специфики компании, где я тогда трудился, у меня не было доступа в Интернет на рабочем месте ☺. Иначе, думаю, к коду я и не возвращался бы. Однажды мироздание сжалилось надо мной, и в гостях у знакомых я наткнулся на книгу «Тайм-драйв» Глеба Архангельского. С первых страниц залип на ней, понимая — вот ответы на мои вопросы к самому себе из серии «Куда бежать и что делать?». С этого момента в моей жизни началась эпоха самоорганизации (очень пафосно звучит, но это так ☺). Выстроить систему на основе «Тайм-драйва» у меня не получилось. На мой взгляд, потому, что Архангельский в этой книге обзорно описывает тему самоорганизации, не вдаваясь в конкретику: дескать, вот есть списки дел, вот мотивационные приемы, вот правила поведения. В итоге вычленить единую систему класса «делай раз — делай два» я не смог. После напряженного поиска материалов, чтения и попыток адаптации прочитанного к своей жизни, больше всего мне понравилась методика Getting Things Done (GTD) Дэвида Аллена. Описывать GTD я не буду, материалов и обзоров по этой методике более чем достаточно. Почитать можно:
Я расскажу о собственном опыте адаптации методики к жизни, о следующих после внедрения методики этапах организации и результатах ее применения. Для начала расскажу о том, что из GTD прижилось у меня и в каком виде. Входящие/КорзинкиСоздание правильных корзинок здорово разгружает голову. Моя самая любимая фича — это окно Quick Entry в Doit.im или MyLifeOrganized. Не стоит надеяться, что идея, пришедшая вам в голову во время написания кода, проживет там дольше пяти минут. Шорткат — быстрая запись — возврат к работе. Состояние потока нарушено минимально. Электронная почта раскладывается по папкам. Я ничего не оставляю в Inbox к концу дня. Сделал несложную иерархию папок по проектам, плюс папки для писем, которые содержат материалы к задачам, и писем, ожидающих ответа. Несколько раз в день проверяю почту, раскладываю все по папкам. Никаких уведомлений и всплывающих окон. Во многих сервисах (Doit.im, Wunderlist, Evernote) есть возможность отправлять письма на определенный почтовый адрес, после чего они появляются в Inbox. Это отличная штука для того, чтобы включать e-mail’ы в свою систему. Переслал письмо — и в процессе разборки Inbox принимаешь по нему решение, например, преобразуешь его в задачу, при этом сопутствующая информация уже перенесена в задачу из письма. Я так отслеживаю письма, на которые жду ответа: при отправке ставлю в BCC свой адрес, а потом в системе дел помечаю задачу по этому письму как «Ожидаемое». Бумаги я собираю в отдельный лоток на столе, а для всяких квитанций и счетов держу отдельную папку. Зашел в банк (или в интернет-банк) — и оплатил все одним batch’ем. Занести в календарь назначенную встречу — это азбука. Еще хорошо записывать в календарь триггеры начала проектов, например, за неделю до окончания страховки на машину поставить событие на весь день «Заняться страховкой». При просмотре календаря на этот день заводится проект «Страховка на машину» и какие-то действия по нему. Очень помогают общие (shared) календари с женой: туда заносятся различные семейные события, школьные экскурсии, спортивные соревнования, поездки к врачам и все такое. При обзоре календаря на неделю или на месяц хорошо видно, где есть свободные слоты. Полезно записывать в календарь всякие мероприятия по обслуживанию. Например, если админы присылают письмо, что в такой-то период не будет доступен удаленный доступ или серверы версионного контроля, — стоит пометить, что в это время рассчитывать на работу из дома не приходится. Проекты и Next ActionsВыстроить для себя систему у меня получилось только после второго (или третьего) вдумчивого прочтения книги по GTD и осознания того, что же Аллен имеет в виду под проектом и зачем нужен список проектов. После этого дело пошло намного легче. Список проектов и список действий по ним — отличные инструменты контроля текучки и ее исполнения. Я нередко испытывал легкое удивление, когда в ритме обычной жизни заглядывал в список проектов и обнаруживал там вещи, которые уже выпали из головы, но тем не менее требуют внимания. А список действий позволяет работать, что называется, на автомате: открыл и пошел щелкать задачки одну за другой. Мне нравится заносить в проекты многоходовые задачи по разработке. Посидеть с карандашом и бумагой, проработать задачу и составить mindmap, а потом преобразовать его в цепочку конкретных действий (настроить стенд, доработать такой-то функционал, внести изменения в БД и т. д.). Someday/MaybeСамо наличие такого списка — отличный антидепрессант. Если что-то делать надо, но не хочется — то туда (в этот список) ему и дорога. Главное правило — все-таки просматривать его хотя бы раз в месяц. У меня как-то получается так, что некоторые пункты оказываются выполненными, а еще чаще — уже неактуальными. Отдельный раздел у меня в таком списке — всякие отложенные идеи по рефакторингу, оптимизации, доработке проектов, в которых я участвую. Если случается чудо и в обычно плотном графике образуется разреженность — ее всегда можно заполнить работами из такого списка. Дополнительные спискиАллен рекомендует составлять списки по любому удобному (а еще лучше — неудобному ☺) поводу. И не зря, ведь это способно перевести даже творческие задачи во вполне себе рутинную работу. Перечислю некоторые из списков, которые я веду для себя.
Регулярный обзорПолный регулярный обзор всего накопленного за неделю (текстовых и диктофонных записей, фоток, заметок в блокноте, бумаг в лотке) у меня получилось провести раза два за все время практики GTD. Это очень долго и утомительно. Поэтому я разбираюсь со всем поэтапно. Раз в неделю (в понедельник с утра) на полчаса сажусь и прочищаю текущие задачи, составляя план на неделю. Даже такой краткий обзор позволяет держать на виду общую картину текущей жизни и балансировать усилия. Все остальное разбирается, честно говоря, от случая к случаю. Области фокусаНа текущий момент это для меня самый полезный инструмент. Когда составляешь список того, чему хочешь уделить внимание в течение года, и регулярно на него смотришь — это здорово подталкивает к тому, чтобы все-таки заняться этими вещами. При этом необязательно, чтобы формулировки были результативными, помечать просто что-то вроде «2 раза в неделю заниматься спортом», «чаще звонить родителям» может быть вполне достаточно. Составление такого списка New Year Resolutions — отличное занятие для новогодних каникул ☺. Результаты внедренияСразу отмечу такой момент (и, насколько я помню, Аллен упоминает его в своей книге): один из главных бонусов (если не самый главный ☺) от внедрения системы состоит в том, что вы перестаете беспокоиться по поводу несделанных дел, поскольку не пытаетесь судорожно вспомнить, что вам надо делать. Все, что я могу сделать, но не делаю, вынесено на внешний носитель, и к этому можно вернуться в любой момент — это осознание успокаивает и придает уверенности. То, что дела при этом могут и не делаться, — это уже другая песня (они и раньше не все делались, и никто от этого не умер). Очень полезно время от времени смотреть на всю картину своей жизни, своих дел. Во-первых, это придает уверенность в том, что ничего не упущено. Во-вторых, это мотивирует к перераспределению усилий между разными сферами (работа, спорт, семья). В рабочей гонке фокус с других областей может сбиться: при интенсивном режиме работы я неоднократно начинал пропускать тренировки, меньше времени проводить с семьей, и в результате через полтора-два месяца начиналась легкая депрессия. Такой регулярный обзор позволяет опомниться и отвлечься от безумия рабочих будней. Что не надо делатьВ завершение описания своего опыта GTD поделюсь рецептами how-NOT-to для тех, кто решится внедрять методику.
Что дальшеКак я уже писал выше, после установки системы «на рельсы» наступило достаточно спокойное (местами расслабленное) состояние. Оно привело к тому, что я делал только те задачи из списка Next Actions, у которых подходил срок выполнения, или которые мне больше нравились на текущий момент. Все остальные задачи так и висели в этом списке неделями. АвтофокусРазгребать такие завалы у меня получается с помощью системы Марка Форстера «Автофокус». Форстер выпустил несколько версий этих систем, мне больше всего пришлась по душе (как самая простая) последняя версия, которая так и называется — Final Version. Алгоритм следующий.
За несколько таких проходов внимание получают все задачи в списке, и в результате список прочищается. Фокус и потокВ какой-то момент я понял, что, несмотря на все свои записи и отлаженные корзинки, мне не удается сосредоточиться на работе. Помимо внутренних отвлечений (идей, воспоминаний, желания проверить почту, Facebook, новости и т. д.), постоянно что-то извне отрывает от работы: вопросы коллег, телефонные звонки, новые письма. После отвлечения восстановить в голове контекст того, что ты делал, достаточно сложно. Выход был найден в использовании Pomodoro Technique (свое название эта методика получила благодаря кухонному таймеру в виде помидора). Это довольно простой способ организации работы по интервалам: 25 минут непрерывной работы, 5 минут перерыва. Через четыре таких цикла делается перерыв на 15 минут. В ходе выполнения «помидора» нельзя отвлекаться на постороннее, иначе «помидор» прерывается и не засчитывается. That one really rocks. Я работаю по этой схеме уже где-то четыре года, и она стала ежедневным инструментом. Положительные эффекты налицо.
Отдельно стоит сказать про моменты, когда работать совершенно не хочется. Для меня временами это совершенно нормально ☺. Поддерживать интенсивный рабочий режим в течение длительного времени дорогого стоит. Бывают такие мероприятия и занятия, после которых все, чего хочется, — это упасть и забыться. И, вполне возможно, надо действительно дать себе выдохнуть. Но нередко это просто приступы лени. И в том, и в другом случае хороший способ вернуть себя в рабочий режим — это заняться какой-нибудь мелочевкой: разобрать бумаги на столе, расчистить файлы в папках, найти что-нибудь нужное в Интернете (не по работе) и т. д. После двух-трех таких задач входишь в рабочее состояние и можно браться за что-то посерьезнее. ИнструментыЯ разделяю инструментарий для организации на два типа: для оперативной информации и для архивной. Соответственно, и требования к ним разные: оперативный инструмент должен быть быстрым, легким, синхронизироваться с телефоном и работать как часы. Архивному инструменту можно прощать тормоза, медленную синхронизацию и неудобный интерфейс — главное, чтобы не терялись данные и работал поиск. КалендарьПоскольку я плотно сижу на iPhone, то использую Apple iCloud и календарь в нем. Меня все устраивает, особенно радует возможность поделиться календарем. Как я уже упоминал, это очень помогает при семейном планировании. Какое-то время пользовался Google Calendar — тоже хорошо. В том объеме функционала, который мне нужен от календаря, эти два сервиса идентичны. Какое-то время я довольно успешно использовал все те же Apple iCloud Reminders. Просто списки и ничего больше. Но аппетит приходит во время еды, и с приобретением опыта появилась потребность в различных группировках задач, создании их иерархии, указании зависимостей и т. д. Мне больше всего понравились два сервиса: Doit.im и MyLifeOrganized. Doit.im — это китайская копия отличной программы Things, которая существует, к сожалению, только для Mac и iOS. В ней достаточно прямолинейно реализована GTD (отражены все артефакты: входящие, проекты, список следующих действий, отложенные задачи) и добавлено все, чего не хватало Things: привязка задач ко времени, подзадачи, клиенты для различных платформ и веб-интерфейс. На текущий момент я пользуюсь MyLifeOrganized. Это весьма продвинутый outliner. Задачи можно выстроить в иерархию с практически бесконечным уровнем вложенности, есть поддержка проектов, контекстов, папок. Поддержка контекстов имеет одну очень классную фичу: контексты можно включать друг в друга. Например, у меня есть контекст «Компьютер» (для задач, которые все равно за каким компом делать) и различные контексты «ДомКомпьютер» и «ОфисКомпьютер». Контекст «Компьютер» включен в оба этих контекста, и задачи из него я вижу и дома, и в офисе. Задачи можно объединять в папки, и я сгруппировал их по годовым областям фокуса. Это очень удобно для проведения обзора: проваливаешься в папку и сразу видно, что у тебя по этому направлению творится в целом. И в том, и в другом сервисе, как я писал выше, есть прекрасное средство сохранения фокуса на работе — окно для быстрого ввода задачи и помещения ее в раздел «Входящие». Справочная системаМатериалы по текущим проектам я ношу с собой на флешке, которая умеет раздавать себя по Wi-Fi (Kingston Wi-Drive, этот выбор обусловлен использованием iPad). Как архивную систему я использую Evernote. Я несколько раз пытался обустроить его как систему для оперативной информации (и создатели Evernote его именно так и позиционируют), но каждый раз после пары дней возвращался обратно к проверенному Doit.im. Тормоза, небыстрая синхронизация, не слишком удобный интерфейс. Это прекрасное средство для архивного хранения информации, но не оперативный инструмент. Работа с Pomodoro TechniqueНа рабочем месте на машине с Windows я использую Focus Booster — красивый и с минимально необходимым функционалом. В последней версии Focus Booster появился и для MacOS. Какое-то время использовал интересный инструмент TeamViz — в нем можно вводить отдельные задачи и замерять «помидоры» по каждой из них, но для меня это оказалось слишком громоздким. Но посмотреть стоит, однозначно. План дняЕще один отличный инструмент для сохранения фокуса и обзора цельной картины дня для меня — это дневной план. Составление оного с утра — уже целый ритуал: налить кофейку и в тишине набросать задачи на день. Очень хорошо задает рабочее настроение. Я долго искал инструмент, который позволил бы мне интегрировать мои задачи и календарь, вывести все на один экран и еще дать место для заметок в течение дня. Такого чуда мне найти не удалось, и я сделал его себе сам из обычного Excel, немного поколдовав над условным форматированием ячеек. Данные в него переносятся руками (как-то не по-программистски), но Ctrl+C–Ctrl+V работает быстро и это не раздражает.
План на каждый день составляется на отдельном листе Excel со своей датой. Это позволяет в начале нового дня посмотреть на вчерашний план и перенести какие-то задачи на сегодня или вычеркнуть их вообще. Также я просматриваю планы дней за всю прошедшую неделю, проводя своеобразную ретроспективу. В результате, во-первых, появляются новые задачи, вспоминается что-то из несделанного, а во-вторых, появляется некое ощущение завершенности. Получается этакий ритуал окончания рабочей недели, после которого идешь домой с чистой совестью ☺. ЗаключениеВ заключение хочу сказать, что GTD — это не «серебряная пуля», и не надо рассчитывать, что, внедрив методику, вы сможете найти в сутках 48 часов или работать по 100 часов в неделю, не опустошая холодильник с энергетиками. Это инструмент, эффективность использования которого — дело рук самих утопающих ☺. Описанные техники и методики — всего лишь ступеньки для выхода на другой уровень отношения к каждому дню своей жизни. Решив с помощью GTD один круг вопросов, я тут же столкнулся со множеством новых, более высокого порядка и гораздо более интересных. Чего желаю и всем дочитавшим пост до конца ☺.
Внимание! Эта статья была создана путем автоматического реплицирования из внутренней базы знаний компании Заказные Информ Системы. Любые правки этой статьи могут быть перезаписаны при следующем сеансе репликации. Если у вас есть серьезное замечание по тексту статьи, запишите его в раздел «discussion». |
![]() |
![]() |
![]() |