101
18 февраля 2015 года GTD и другие методики повышения эффективности работы программиста: теория и практика Вячеслав Муравлев Ведущий Java-разработчик

GTD и другие методики повышения эффективности работы программиста: теория и практика

  • Upload
    custis

  • View
    245

  • Download
    0

Embed Size (px)

Citation preview

Page 1: GTD и другие методики повышения эффективности работы программиста: теория и практика

18 февраля 2015 года

GTD и другие методики

повышения эффективности

работы программиста:

теория и практика

Вячеслав Муравлев

Ведущий Java-разработчик

Page 2: GTD и другие методики повышения эффективности работы программиста: теория и практика

О компании

Проектирование, разработка и бережное

внедрение масштабных IT-систем >200 человек

>20 проектных группPL/SQL, C#, Java

2/101

Page 3: GTD и другие методики повышения эффективности работы программиста: теория и практика

О себе

Окончил ВМК МГУ

8 лет работал в inhouse-разработке крупного

банка (Java)

В компании работаю ~2,5 года (все та же Java)

Женат, двое детей

Хобби

Музыка

Спорт

Саморазвитие

Приусадебное хозяйство

3/101

Page 4: GTD и другие методики повышения эффективности работы программиста: теория и практика

Почему мне стала интересна эта тема

Хаос в жизни

Невыполненные обязательства

Упущенные возможности

Ощущение бессмысленности

происходящего

Невозможно сосредоточиться на работе

Самостоятельно создать систему

организации не получилось

4/101

Page 5: GTD и другие методики повышения эффективности работы программиста: теория и практика

План семинара

1. «Кто виноват?»: что и почему мешает

сосредоточиться на работе

2. «Что делать?»: как организовать дела так,

чтобы позволить себе о них не думать

3. «Как хоть что-то сделать?»: как преодолеть

и мотивировать себя

4. «Чем делать?»: чем пользоваться и что читать

17:00–19:30 Перерыв будетЗадавайте вопросы!

5/101

Page 6: GTD и другие методики повышения эффективности работы программиста: теория и практика

Кто виноват?

1 2 3 4

6/101

Page 7: GTD и другие методики повышения эффективности работы программиста: теория и практика

Идеальная рабочая ситуация

Наконец-то

поработаю!!!

7/101

Page 8: GTD и другие методики повышения эффективности работы программиста: теория и практика

Состояние потока

Полная концентрация на задаче

Время летит незаметно

Все получается

Ощущение контроля над ситуацией

8/101

Page 9: GTD и другие методики повышения эффективности работы программиста: теория и практика

Тяжело войти – легко выйти

Вход в «поток» занимает около 20 минут

Зато из «потока» очень легко выйти:

От внешних раздражителей

Из-за всплывающего из подсознания

9/101

Page 10: GTD и другие методики повышения эффективности работы программиста: теория и практика

Все время что-то отвлекает

10/101

Page 11: GTD и другие методики повышения эффективности работы программиста: теория и практика

Концентрация на задаче падает

сознание

подсознание

11/101

Page 12: GTD и другие методики повышения эффективности работы программиста: теория и практика

Никакого удовольствия от работы

Постоянное переключение между

разнотипными задачами (разговоры, звонки,

почта, кодирование, поиск в Интернете)

Постоянное ощущение незавершенности,

потерянного зря времени

Чувство вины за проваленные задачи

Усталость в конце дня

12/101

Page 13: GTD и другие методики повышения эффективности работы программиста: теория и практика

Что делать?

1 2 3 4

13/101

Page 14: GTD и другие методики повышения эффективности работы программиста: теория и практика

Два варианта:

легкий и который мы будем обсуждать

Либо полностью

блокировать входящую

информацию

Либо научиться

обрабатывать ее так,

чтобы она не мешала работе

14/101

Page 15: GTD и другие методики повышения эффективности работы программиста: теория и практика

Методика Getting Things Done

Дэвид Аллен (2002 год)

Продуктивность без стресса

Не упускать ничего

Поставить рутину на поток

Освободить голову для креатива

15/101

Page 16: GTD и другие методики повышения эффективности работы программиста: теория и практика

Основные идеи GTD

Не держать ничего в голове

Регулярно пересматривать записанное

Всегда определять следующий конкретный

шаг

16/101

Page 17: GTD и другие методики повышения эффективности работы программиста: теория и практика

Все должно быть записано!

Завести инструменты для быстрой записи –

«корзины»

Набор «корзин» ограничен

«Корзины» регулярно опустошаются

Не оставлять ничего

Не возвращать в корзину

Решение принимается только один раз!!

17/101

Page 18: GTD и другие методики повышения эффективности работы программиста: теория и практика

Примеры записей

Шеф: выступить на TechScience июль

Телефон маме ДР заказ в «Супертелефон»

Тренер отборочные

26 марта семинар по философии

Стажировка в Сингапуре через год

Немецкий язык?

Пароль на wi-fi My_Best#10>PassW0rd

Письмо от админов про сервер

18/101

Page 19: GTD и другие методики повышения эффективности работы программиста: теория и практика

19/101

Page 20: GTD и другие методики повышения эффективности работы программиста: теория и практика

Для каждой записи – 2 вопроса

Что это?

Можно ли с этим что-то сделать?

20/101

Page 21: GTD и другие методики повышения эффективности работы программиста: теория и практика

Шеф: выступить на TechScience июль

«Выступить на TechScience 6 июля 2014»

ПРОЕКТ

21/101

Page 22: GTD и другие методики повышения эффективности работы программиста: теория и практика

Естественное планирование

ПОЕЗДКА НА TECH

SCIENCE

1. ЗАЧЕМ?

2. ЧТО В РЕЗУЛЬТАТЕ?

3. МОЗГОВОЙ ШТУРМ

4. ОРГАНИЗАЦИЯ

5. СЛЕДУЮЩИЙ ШАГ

22/101

Page 23: GTD и другие методики повышения эффективности работы программиста: теория и практика

Билеты

Страховка

Виза

Маршрут

Проекты в GTD

ЦельМатериалы

Список действий

Выступить

на TechScience

в июле 2014

Написать…

Позвонить…

Найти…

Встретиться…

ПРОЕКТЫ

ПРОЕКТ

23/101

Page 24: GTD и другие методики повышения эффективности работы программиста: теория и практика

Следующие действия

Можно сделать сразу

Четко сформулированы

Есть необходимая информация

Всегда с собой

Зависят от контекста

Дома

Когда поеду в…

Когда встречу…

Если ничего не хочется

24/101

Page 25: GTD и другие методики повышения эффективности работы программиста: теория и практика

Тренер отборочные

«Обсудить отборочные соревнования с тренером»

Занести в список для обсуждения с человеком

при встрече

25/101

Page 26: GTD и другие методики повышения эффективности работы программиста: теория и практика

Повестки (Agendas)

Вопросы к людям

Научный руководитель

Тренер

Друзья

Родители

...кто угодно, с кем вы регулярно решаете

какие-то вопросы

Повестка совещаний/встреч

26/101

Page 27: GTD и другие методики повышения эффективности работы программиста: теория и практика

Телефон маме ДР заказ «Супертелефон»

«Доставят заказанный в “Супертелефон”

телефон для мамы»

Занести в список ожидаемых результатов

и ждать

27/101

Page 28: GTD и другие методики повышения эффективности работы программиста: теория и практика

Список ожидаемого

Контроль поручений

Ожидание ответа

Проставлять дату отправки/поручения

Ставить напоминание о проверке

28/101

Page 29: GTD и другие методики повышения эффективности работы программиста: теория и практика

26 марта семинар по философии

Событие в определенный момент времени

Занести в календарь

29/101

Page 30: GTD и другие методики повышения эффективности работы программиста: теория и практика

Календарь

События, привязанные ко времени

События на день

Триггеры проектов

«Окна креативности»

30/101

Page 31: GTD и другие методики повышения эффективности работы программиста: теория и практика

Стажировка в Сингапуре через год

Немецкий язык?

Отложенные или возможные задачи и идеи

Занести в список «Когда-нибудь/Возможно»

31/101

Page 32: GTD и другие методики повышения эффективности работы программиста: теория и практика

Когда-нибудь/Возможно

Отложенные проекты

Перспективные идеи

Личные желания

Прагматичные списки

Кино

Музыка

Книги

Куда поехать

32/101

Page 33: GTD и другие методики повышения эффективности работы программиста: теория и практика

Пароль wi-fi My_Best#10>PassW0rd

Просто справочная информация

Занести в справочную систему

33/101

Page 34: GTD и другие методики повышения эффективности работы программиста: теория и практика

Справочная система

Материалы по проектам

Всегда под рукой

Сопутствующие материалы для действий

Список для прочтения

Просто справочные материалы

Удобная система хранения

Папки в шкафу

Онлайн-хранилища

34/101

Page 35: GTD и другие методики повышения эффективности работы программиста: теория и практика

Письмо от админов про сервер

«Админы написали, что сервер в 10-й раз упал»

С электронной почтой не все так просто…

35/101

Page 36: GTD и другие методики повышения эффективности работы программиста: теория и практика

Электронная почта

Особенная вещь

Гибрид «корзины» и справочной системы

Может становиться списком задач

Папка «Входящие» должна очищаться

регулярно

Решение по письму принимается 1 раз!!

2 варианта использования писем:

Как действия

Как справочные материалы

36/101

Page 37: GTD и другие методики повышения эффективности работы программиста: теория и практика

37/101

Page 38: GTD и другие методики повышения эффективности работы программиста: теория и практика

Схема обработки информации по GTD

38/101

Page 39: GTD и другие методики повышения эффективности работы программиста: теория и практика

Информация в системе устаревает

Доверие к системе падает

Система воспринимается как бесполезная

нагрузка

«Ничто не вечно под луной»

39/101

Page 40: GTD и другие методики повышения эффективности работы программиста: теория и практика

Обзор системы

Проводится на регулярной основе

Расчищает завалы информации в системе

Проясняет будущее

40/101

Page 41: GTD и другие методики повышения эффективности работы программиста: теория и практика

Из чего состоит обзор

Календарь за прошедшую неделю

Выполненные задачи

за прошедшую неделюПрошлое

Расчистка всех корзинок

Обзор текущих проектов и задачНастоящее

Календарь на будущую неделю

Задачи с наступающим сроком

выполнения

Список «Когда-нибудь/Возможно»

Будущее

41/101

Page 42: GTD и другие методики повышения эффективности работы программиста: теория и практика

Уровни обзора

Взлетная полоса

текущие дела/рутина

10 000

текущие проекты

20 000

области фокуса

30 000

цели на 1–2 года

40 000

цели на 3–5 лет

50 000

ценности/принципы

42/101

Page 43: GTD и другие методики повышения эффективности работы программиста: теория и практика

Для кого все это?

В чистом виде GTD больше применима

для руководящих работников

Четкий конвейер небольших дел

Отслеживание поручений

Для творческих работников необходимы

изменения и расширения

Много «длинных» задач

Нужна мотивация на выполнение

43/101

Page 44: GTD и другие методики повышения эффективности работы программиста: теория и практика

Внедрение GTD: brand new start!!!

Большая разборка: собрать все

(нет, не так: СОБРАТЬ ВСЕ!!!!)

и организовать:

Все мысли, идеи, проблемы, которые вертятся

в голове

Окружающие вещи

Список подсказок

Распределить все это по артефактам

…и начать новую жизнь (с понедельника )

44/101

Page 45: GTD и другие методики повышения эффективности работы программиста: теория и практика

Enabled, или «Верхом на корове»

Автор: Василий Кислый

Четкая реализация GTD

Целевая аудитория: руководящий состав

Перенос всей информации на электронные

носители

Конвейер обработки и управления

информацией

45/101

Page 46: GTD и другие методики повышения эффективности работы программиста: теория и практика

«Бережное» внедрение GTD

Для запуска системы нужно сформировать

ряд привычек

По привычке в месяц

Собирать

Обрабатывать

3 задачи на день и т. д.

Самые простые инструменты

Постоянная адаптация к себе

46/101

Page 47: GTD и другие методики повышения эффективности работы программиста: теория и практика

ZenToDone (Leo Babauta)

Минималистский подход к GTD

Целевая аудитория: творческие личности

Постепенное внедрение привычек

«Теплые ламповые» инструменты

47/101

Page 48: GTD и другие методики повышения эффективности работы программиста: теория и практика

Стоит ли результат усилий?

48/101

Page 49: GTD и другие методики повышения эффективности работы программиста: теория и практика

Долго и счастливо? Как бы не так!

Рутина поставлена на поток –

можно и расслабиться

Ни один «самолет» не взлетает,

хотя «взлетная полоса» расчищена

GTD не дает мотивации на выполнение дел

49/101

Page 50: GTD и другие методики повышения эффективности работы программиста: теория и практика

Перерыв

10 минут

Вода-соки-морсы

Пирожки

Поговорим

50/101

Page 51: GTD и другие методики повышения эффективности работы программиста: теория и практика

Как хоть что-то сделать?

1 2 3 4

51/101

Page 52: GTD и другие методики повышения эффективности работы программиста: теория и практика

Это не лень, это прокрастинация

От лат. procrastinatus: pro- (вместо, впереди)

и crastinus (завтрашний)

Причины:

Самообман

Негативное отношение

Страх

Отсутствие информации

52/101

Page 53: GTD и другие методики повышения эффективности работы программиста: теория и практика

В итоге получается так

53/101

Page 54: GTD и другие методики повышения эффективности работы программиста: теория и практика

Слишком большой список задач

Задачи выполняются выборочно

«Лягушки» долго живут в списке

54/101

Page 55: GTD и другие методики повышения эффективности работы программиста: теория и практика

Автофокус

Автор: Марк Форстер

Несколько версий: 1–4 и Final Version (FV)

Рассчитана на работу с большим списком

задач

Соблюдает баланс между необходимыми

и желаемыми задачами

Дополняет GTD – обработка списка

следующих действий

55/101

Page 56: GTD и другие методики повышения эффективности работы программиста: теория и практика

Автофокус: алгоритм работы

Проверить почту

Составить таблицу расходов

Прочитать первую главу Domain-Driven Design

Доработать страницу входа на сайт

Позвонить маме

Записаться к врачу

Сделать бэкап

Выбрать самокат

Заказать билеты на концерт

56/101

Page 57: GTD и другие методики повышения эффективности работы программиста: теория и практика

Автофокус: алгоритм работы

Составить таблицу расходов

Прочитать 1 главу Domain Driven Design

Позвонить маме

Сделать бэкап

Выбрать самокат

Заказать билеты на концерт

Договориться с начальником об отгуле

Сделать окно для смены пароля

Проверить почту

Новые

задачи

57/101

Page 58: GTD и другие методики повышения эффективности работы программиста: теория и практика

Нет ограничений – нет стимула

GTD не занимается мотивацией на выполнение

задач

В итоге: рутина на потоке, а значимых

результатов нет

Выход: установление временных рамок

для достижения целей

58/101

Page 59: GTD и другие методики повышения эффективности работы программиста: теория и практика

Agile Results

Нацеленность на результат

3 результата на неделю в понедельник

3 результата на каждый день

(созвучных результатам недели)

Рефлексия

Пятничный обзор

Что надо улучшить

Что было хорошо

Карта сфер влияния (hot spots)

59/101

Page 60: GTD и другие методики повышения эффективности работы программиста: теория и практика

18 минут Питера Брегмана

Список областей фокуса на год

Ежедневный план

Разделение всех задач по областям фокуса

Соблюдение баланса между областями

Регулярная фокусировка на происходящем

5 минут в начале дня на составление

плана

5 минут в конце на обзор дня

Каждый час по 1 минуте: фокусировка

на происходящем

60/101

Page 61: GTD и другие методики повышения эффективности работы программиста: теория и практика

И все равно отвлекаешься

Не пришла ли новая почта?

А что там интересного в Facebook/Twitter?

Нет ли свежих новостей из…?

Надо рассказать соседу про новый фильм!

61/101

Page 62: GTD и другие методики повышения эффективности работы программиста: теория и практика

Работа над задачами долгими интервалами

(«помидорами») с перерывами на отдых

Мотивация – вознаграждение в виде полноправного

отдыха

Физическая активность

Интернет/соцсети

Почта/разговоры и т. п.

Все входящие «сигналы» моментально фиксируются

без отрыва от работы

Отличное средство для поддержания состояния потока

Pomodoro Technique: stay focused

62/101

Page 63: GTD и другие методики повышения эффективности работы программиста: теория и практика

Полезные привычки

Составлять план дня

3 наиболее важные задачи на день

Нет проверке почты/Facebook/Twitter утром

Сократить отвлечения:

Мы можем поговорить об этом через полчаса?

Ни одно письмо не требует немедленного ответа –

отключите уведомления

Моментальная фиксация входящих идей,

событий и т. п.

Hardcore: Ограничение доступа в Интернет

и к другим программам

63/101

Page 64: GTD и другие методики повышения эффективности работы программиста: теория и практика

План дня

Отличный «якорь» для начала работы

Помогает сохранять фокус на работе

в течение дня

Интегрирует информацию из различных

инструментов

Календари

Списки задач

Почта

Bug/Issue tracker

Должен быть красивым

64/101

Page 65: GTD и другие методики повышения эффективности работы программиста: теория и практика

Чем делать?

1 2 3 4

65/101

Page 66: GTD и другие методики повышения эффективности работы программиста: теория и практика

Инструментарий

Лучший инструментарий –

тот, что есть под рукой

Процесс выбора очень затягивает

Простота использования лучше богатой

функциональности

Доступен в любой момент

Обязательно должен нравиться

66/101

Page 67: GTD и другие методики повышения эффективности работы программиста: теория и практика

Главное – не усложнять

67/101

Page 68: GTD и другие методики повышения эффективности работы программиста: теория и практика

Артефакты в системе

Записи

Почта и т. д.Корзины

Проекты

Следующие действия

Ожидаемые результаты

Когда-нибудь/Возможно

Списки

Материалы по проекту

Просто справочные материалы

Прочитать

Справочные материалы

Привязанные к дате (и времени) события

Триггеры проектовКалендарь

План дня

Учет потраченного времени

Планирование и учет времени

68/101

Page 69: GTD и другие методики повышения эффективности работы программиста: теория и практика

Легко использовать

Всегда должны быть с собой

Чем проще, тем лучше

Инструменты для «корзин»

69/101

Page 70: GTD и другие методики повышения эффективности работы программиста: теория и практика

Списки задач должны быть…

Легковесные

Быстро и надежно синхронизируемые

Легко изменяемые

Желательно разделяемые

70/101

Page 71: GTD и другие методики повышения эффективности работы программиста: теория и практика

Обычные списки задач

Wunderlist

Google tasksApple iCloud Reminders

71/101

Page 72: GTD и другие методики повышения эффективности работы программиста: теория и практика

Конструктор RTM

72/101

Page 73: GTD и другие методики повышения эффективности работы программиста: теория и практика

Конструктор Toodledo

73/101

Page 74: GTD и другие методики повышения эффективности работы программиста: теория и практика

Реализация GTD as is

Apple: Things, OmniFocus, 2Do

ThinkingRock (Java, cross-platform)

Онлайн-сервисы: DoIt.IM, Nozbe

74/101

Page 75: GTD и другие методики повышения эффективности работы программиста: теория и практика

Реализация GTD в Things

75/101

Page 76: GTD и другие методики повышения эффективности работы программиста: теория и практика

Outliners

Задачи в иерархическом порядке

Количество уровней иерархии

не ограничено

MyLifeOrganized

Todoist

Workflowy

76/101

Page 77: GTD и другие методики повышения эффективности работы программиста: теория и практика

Иерархия задач в MyLifeOrganized

77/101

Page 78: GTD и другие методики повышения эффективности работы программиста: теория и практика

Справочные системы должны быть

Вместительными

С надежным хранением

С богатым поиском

Требования к скорости и надежности

синхронизации ниже, чем у списков задач

78/101

Page 79: GTD и другие методики повышения эффективности работы программиста: теория и практика

Примеры справочных систем

Evernote

Microsoft OneNote

Google Drive (Google Keep)

Обычная флешка (структура папок)

79/101

Page 80: GTD и другие методики повышения эффективности работы программиста: теория и практика

Пример организации материалов

в Evernote

80/101

Page 81: GTD и другие методики повышения эффективности работы программиста: теория и практика

Списки для чтения

Работа в offline-режиме

Pocket

Instapaper

Apple: Safari Reading List

81/101

Page 82: GTD и другие методики повышения эффективности работы программиста: теория и практика

Apple iCloud Calendar

Google Calendar

Outlook.com

Календари

82/101

Page 83: GTD и другие методики повышения эффективности работы программиста: теория и практика

Выбор времени встречи с

Наглядно и просто

Быстрее, чем по почте

Экспорт событий в календари

83/101

Page 84: GTD и другие методики повышения эффективности работы программиста: теория и практика

План дня (Excel): в начале дня

84/101

Page 85: GTD и другие методики повышения эффективности работы программиста: теория и практика

План дня (Excel): в конце дня

85/101

Page 86: GTD и другие методики повышения эффективности работы программиста: теория и практика

План дня (Evernote)

86/101

Page 87: GTD и другие методики повышения эффективности работы программиста: теория и практика

План дня на бумаге:

Emergent task planner

87/101

Page 88: GTD и другие методики повышения эффективности работы программиста: теория и практика

Отслеживание «помидоров»

FocusBooster

Простой таймер (с мини-версией)

Настройка параметров сессий

TeamViz

Списки задач

План на день

Отчеты

Мини-таймер

88/101

Page 89: GTD и другие методики повышения эффективности работы программиста: теория и практика

Пример проекта

Выступление на научной конференции

Используем DoIt.IM

89/101

Page 90: GTD и другие методики повышения эффективности работы программиста: теория и практика

Интерфейс DoIt.IM и входящие

90/101

Page 91: GTD и другие методики повышения эффективности работы программиста: теория и практика

Получился новый проект

91/101

Page 92: GTD и другие методики повышения эффективности работы программиста: теория и практика

Переходим от плана к конкретным

действиям

92/101

Page 93: GTD и другие методики повышения эффективности работы программиста: теория и практика

Список задач по контекстам

93/101

Page 94: GTD и другие методики повышения эффективности работы программиста: теория и практика

Список задач по проектам

94/101

Page 95: GTD и другие методики повышения эффективности работы программиста: теория и практика

Появились новые шаги по проекту

95/101

Page 96: GTD и другие методики повышения эффективности работы программиста: теория и практика

После завершения проекта

Провести обзор проекта

В списки и календари

Новые задачи

Новые идеи

Напоминания о предстоящих

проектах/задачах

В справочную систему

Сопутствующие материалы

Контакты, адреса и т. п.

Отчет/обзор по проекту

Материалы для будущих проектов96/101

Page 97: GTD и другие методики повышения эффективности работы программиста: теория и практика

Все, финиш!

97/101

Page 98: GTD и другие методики повышения эффективности работы программиста: теория и практика

Книги

Глеб Архангельский «Тайм-драйв»

Дэвид Аллен «Как привести дела

в порядок» (Getting Things Done)

Михай Чиксентмихайи «Поток»

J.D. Meier «Getting Results the Agile Way»

Питер Брегман «18 минут»

98/101

Page 99: GTD и другие методики повышения эффективности работы программиста: теория и практика

Ресурсы

www.gtdtimes.com – сайт компании Аллена

и блог о GTD

www.improvement.ru – сайт компании Глеба

Архангельского

www.interesno.co – журнал «Жить интересно»

www.zenhabits.net – блог Leo Babauta о ZTD

(упрощенной версии GTD)

www.time-mngmnt.narod.ru – статьи В. Кислого

о тайм-менеджменте

www.davidseah.com – шаблоны для бумажных

планировщиков

99/101

Page 100: GTD и другие методики повышения эффективности работы программиста: теория и практика

Инструменты

www.icloud.com

www.wunderlist.com

www.doit.im

www.toodledo.com

www.rememberthemilk.com

www.todoist.com

www.evernote.com

www.getpocket.com

www.focusboosterapp.com

100/101

Page 101: GTD и другие методики повышения эффективности работы программиста: теория и практика

Спасибо!

Вопросы?

Вячеслав Муравлев

[email protected]

101/101