пятница, 24 октября 2008 г.

Тайм менеджмент и Outlook



Пользу от ведения списка дел (to do list) трудно переоценить. Особенно в административной или смешанной деятельности. И правда, очень удобно. Записал, что нужно сделать, расставил пункты в порядке убывания приоритета и начал выполнять. Запланированная заранее работа становится эффективнее и психологически приятнее. В конце дня или недели имеешь список уже выполненных дел. Пусть сами дела не имеют видимого результата. Например, позвонить в автомастерскую, поздравить с днем рождения начальника, подкачать колеса у машины. Зато сам список выполненных дел вполне является вещественным доказательством того, что дела сделаны, приносит удовлетворение и является стимулом для работы в будущем. Разумеется, список дел является прекрасным дополнением к желанию делать эти дела и вряд ли решит проблему нежелания работать вообще.

Компьютер позволяет автоматизировать список дел и снабдить его такими приятными возможностями, как напоминания и привязка к календарю. Существует масса компьютерных программ, реализующих ведение списка дел. Они позволяют задавать время выполнения дела и умеют выдавать напоминание о том, что пора приниматься за дело. Однако все они имеют концептуальную недоработку – разделение понятий дела и напоминания об этом деле. А ведь это в корне не верно. Рассмотрим пример.

Завтра нужно поздравить тещу с днем рождения. В электронном списке дел заводим дело на завтра на 10:00 с напоминанием. На следующий день приходим на работу, в 10:00 возникает напоминание. Звоним теще, там занято. Вполне логично отложить это дело на 10 минут и через 10 минут позвонить опять. Но какую возможность предоставляют стандартные электронные списки дел? Отложить напоминание на 10 минут, чтобы через 10 минут оно возникло еще раз. А само дело в списке как было, так и остается запланированным на 10:00. Но разве напоминание мы хотим отложить в данном случае? Конечно нет. Мы хотим отложить само дело! Со всеми вытекающими отсюда последствиями, такими как перемещение дела в календаре, предупреждение о пересечении этого дела с другими и пр.

Далее рассмотрим ситуацию, когда возникает напоминание о том, что нужно поздравить тещу. Одновременно возникает напоминание о том, что нужно идти на собрание. Но разве это напоминания? Конечно нет. Это – активные дела, которые нужно делать сейчас, подмножество общего списка дел. Таким образом, понятие напоминания не нужно вообще. Нужно лишь понятие списка активных дел, куда дела из общего списка попадают автоматически. Плюс нотификация о попадании в активный список нового дела.

Допустим на завтра 10:00 запланировано 3 деловых звонка и написание статьи. Звонки занимают по 5 минут каждый. А статью нужно писать целый день. Разве нужны 4 напоминания в данном случае? Конечно нет. Нужен список активных дел из 4-х пунктов, к выполнению которого можно непосредственно приступить. Сначала всем позвонить, а потом углубиться в создание текста. Если до кого-то дозвониться не удалось, то можно отложить это дело. Причем дело остается в активном списке, пока не будет выполнено или отложено. Напоминание вряд ли можно оставить надолго. Оно мигает, отображается поверх остальных окон, много напоминаний мешают.

Рассмотрим еще один пример. Допустим, на завтра пришлось отложить написание статьи. Но еще неделю назад на завтра была отложена поездка в соседний город. Вполне логичное желание – узнать об этом сегодня. В момент переноса написания статьи на завтра предупреждение о том, что это пересекается с поездкой в город, также может быть приятно. Казалось бы, очевидный функционал, но он не может быть реализован посредством напоминаний.

Применяя такой подход, можно вести сразу несколько дел. Чередование происходит эффективно, т.к. переход к другому делу происходит в нужный момент. Абсолютно исчезает проблема различия в продолжительности выполнения дел. В одном списке могут присутствовать такие дела, как поздравить тещу и написать докторскую диссертацию. Появляется напоминание о докторской, звоним научному руководителю, там занято, откладываем диссертацию на 10 минут, звоним теще и т.д. Получается, что в списке дела должны лишь без труда разделяться на подзадачи тем, кто их выполняет, а их размер не важен.

Еще пример. Пусть необходимо ответить на форуме на ключевой вопрос по своему продукту. Заносим это дело в список. Идем на форум, отвечаем на вопрос. Дело сделано? Пока непонятно. Ведь тот, кто вопрос задал, может не удовлетвориться ответом и задать еще пару уточняющих вопросов. Поэтому вместо того, чтобы дело вычеркнуть, откладываем его на 4 часа. Пока занимаемся другими делами, не боясь забыть что-либо. Через 4 часа всплывает напоминание. Идем на форум, проверяем. Новых вопросов не поступило. Дело сделано? Пока непонятно. Вдруг все-таки будут дополнительные вопросы. Не проблема. Откладываем дело еще на 8 часов. Потом отложим на 3 дня, потом на неделю. Ну а потом можно и вычеркнуть. Дело сделано. И никаких тревог, а главное, физических возможностей забыть о делах, да и голова свободна.

Внезапно на помощь приходит Microsoft Outlook. Причем нужная функциональность получилась случайно, и разработчиками явно не задумывалась. В Outlook можно создать назначение (appointment) или собрание (meeting request) или другой элемент с привязкой к календарю, какой именно не важно. Главное - задаем для этого элемента напоминание (reminder). Причем время для элемента можно назначить в прошлом. Тогда напоминание сразу же появится в окне напоминаний в числе других, ранее возникших, напоминаний. Теперь забываем про appointment, который вызвал напоминание, и воспринимаем список в окне напоминаний как список своих дел. Каждый элемент этого списка можно вычеркнуть (dismiss) или отложить (snooze), выбрав время, через сколько напомнить. При этом выбор достаточно богат. Можно отложить на 5 минут, а можно и на неделю.

Т.к. напоминания в Outlook делались, исходя из немного других соображений, то есть пара существенных, но не фатальных недостатков. Во-первых, если случайно вычеркнуть или отложить какое-то дело, то невозможно вернуть его назад. Дело пропадает из списка напоминаний, т.к. там присутствуют только активные дела, т.е. возникшие напоминания. Во-вторых, невозможно просмотреть динамически сформированный план действий на завтра. Т.е. невозможно увидеть список отложенных дел, желательно с привязкой к календарю.

Рекомендации существующих программ с описанной функциональностью приветствуются. Предложения о создании такого продукта – тоже.


воскресенье, 19 октября 2008 г.

Менеджмент программных проектов


На позицию менеджера проекта по разработке программного обеспечения обычно выдвигается человек, который проявил себя как грамотный технический специалист, умеет общаться с людьми и представляет себе общий план работ, которые предстоит выполнить. Если такой человек есть, то это - хорошо. Действительно, кого еще сделать руководителем, как не его?

Руководство непосредственно технической разработкой заключается в принятии большого количества решений именно по техническим вопросам. Чтобы принимать эти решения и даже чтобы просто понимать эти вопросы, необходимо быть в контексте технической разработки.

Однако с какими вопросами предстоит столкнуться менеджеру в реальной жизни? У одного сотрудника заболел ребенок и сегодня он придет только после обеда. Кому сотрудник звонит в этом случае? Менеджеру. Другой сотрудник собрался в отпуск, третьему сегодня к врачу, четвертый с пятым поссорились, шестого не устраивает ширина туалетной бумаги в туалете офиса. Плюс завтра приезжает иностранный партнер, нужно его встретить в аэропорту. Послать можно кого-то из сотрудников, но решать то этот вопрос должен все равно менеджер. Заказчик захотел еще раз обсудить требования. Дизайнеры сообщили, что оформление сайта не будет готово в срок и т.д.

Массу таких абсолютно нетехнических вопросов необходимо решать менеджеру. Все это каждый день. Все эти важные вопросы нельзя игнорировать. Еще бы, ведь это работа с людьми, ведь это – заказчик, ведь это – партнеры! Подобные проблемы нельзя решить в комплексе, ведь у каждого сотрудника свой собственный ранимый внутренний мир. Он не потерпит, если на него не обратят внимания. Не говоря уже про заказчика. Эти вопросы невозможно решить и забыть про них. Каждый день возникает несколько новых. Драгоценное время менеджера оказывается ими занято.

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

Как результат, менеджер из хорошего технического специалиста превращается в лучшем случае в хорошего администратора, а в худшем случае в плохого технического специалиста и плохого администратора. Причем второе более вероятно. Ведь изначально менеджер был инженером, а становится администратором или завхозом вряд ли планировал.

Сам проект, тем не менее, остается проектом по разработке ПО. Казалось бы, ничего страшного. Административные вопросы более или менее хорошо решаются менеджером проекта, а сотрудники занимаются непосредственной разработкой. Однако менеджер по-прежнему руководитель всего проекта. И последнее слово за ним по любым вопросам, включая технические. Например, архитектурные. Но для принятия таких решений у него уже недостаточная квалификация. Далее следует один из вариантов.

Вариант первый, оптимистичный. Менеджер понимает, что не способен непосредственно руководить технической частью и старается не делать это, чтобы хотя бы не навредить. Ему и без того есть, чем заняться. В итоге техническая часть проекта остается без грамотного руководства, что сильно сказывается на качестве конечного результата или вообще не позволяет его, конечный результат, достичь. В качестве примера можно рассмотреть ситуацию, когда два продвинутых сотрудника проекта не сходятся во мнениях по какому-нибудь ключевому для проекта вопросу. Как же принимать решение? Они идут к менеджеру. Причем менеджер может уже и не понимать, ключевой этот вопрос или не особо ключевой. Соответственно может либо не уделить достаточно внимания, либо принять решение наобум, считая, что оба решения, в принципе, хорошие. Часто такой менеджер занимает пассивную и, якобы, конструктивную позицию. Он говорит сотрудникам "вы предлагайте, а я рассмотрю варианты". Но, к сожалению, это только видимость управления проектом, т.к. вовсе необязательно правильный вариант вообще будет предложен, а если будет, то вероятность, что его примут, никак не повышается от того, что он правильный. Чаще всего принимается вариант того человека, который кричит громче остальных.

Вариант второй. Менеджер оказывается неспособным адекватно воспринимать реальность и по-прежнему считает себя наиболее продвинутым в технических вопросах и вообще тут самым главным. Если, вдруг, он при этом оказывается еще и инициативным, то начинается вмешательство в непосредственных технический процесс, принятие технических решений административным способом, попытка учить других, как надо делать, и масса других неконструктивных действий. При этом сотрудники, которые по-прежнему остаются именно техническими специалистами, имеют возможность дать правильную оценку происходящему. В качестве защитной реакции они могут игнорировать распоряжения менеджера (в данной ситуации не такой уж и плохой вариант), начать жаловаться вышестоящему начальнику, могут возникнуть открытые конфликты. Также возможен вариант, когда в проекте нет хороших технических специалистов, которые могут оценить принимаемые технические решения. Тогда они просто делают, как им говорят. Освоение новых технологий не происходит, архитектурой никто не занимается, эффективность проекта оставляет желать лучшего.

Такого рода ситуации возникают в программных проектах постоянно и уже давно. Поэтому считаются даже нормальными. Действительно, многие менеджеры с удовольствием сообщат вам, что так сильно заняты важными государственными делами, что не имеют возможности быть в курсе мелких или вообще всех технических деталей. Воспринимается это как неизбежность.

Однако, это противоречие между административным и техническим руководством можно разрешить. Как? Продолжение следует...

суббота, 11 октября 2008 г.

Время и жизнь


Каждому из нас дано время. Время жизни. Сколько всего, мы не знаем, зато знаем, что ровно 24 часа в сутки. Давать ли нам это время, нас не спрашивали. Дали – и живи, никуда не денешься. Таким образом, жизнь можно сравнить с тюремным заключением. Нас поместили в тюрьму (жизнь) против нашей воли, нам дали срок, мы вынуждены проводить в тюрьме, т.е. в жизни, все свои дни. Мрачновато, но аналогия прослеживается.

У каждого человека присутствует физиологическая потребность что-нибудь делать. Человек не может ничего не делать. Не верите? Попробуйте ничего не делать 10 минут. Обычно люди машинально предлагают множество способов, как они могут ничего не делать 10 минут. Оказывается можно спать, потягиваться, чесаться, считать до 1000, смотреть телевизор, напевать любимые песни и т.д. Однако, все это глаголы, т.е. ответ на вопрос «что делать?». А условие то было не делать ничего. Вот теперь пробуйте! И не нужно подходить к окну, чтобы смотреть 10 минут на прохожих. «Смотреть» - это глагол.

Да, 10 минут – это реально. А вот час – уже не очень. Тем более не реально ничего не делать весь день. Что уж говорить про всю жизнь. Между прочим, тюрьма – это вовсе не ограничение свободы, как принято считать. Это – сильное ограничение в вариантах, чем можно заняться. Основная цель, конечно – это изолировать человека от общества, чьи порядки заключенный нарушает. Но почему в тюрьме сидеть неприятно? Как раз потому, что не можешь делать, что захочешь. А еще там есть карцер. Там сидеть еще тяжелее. Заметим, что в тюрьме и даже в карцере не идет речи о том, чтобы не делать ничего вообще. Это всего лишь усложнение решение вопроса, чем заняться.

Но вернемся на свободу. Хоть и не тюрьма, но вопрос, чем заполнить отпущенное время, по-прежнему актуален. И люди подходят к его решению достаточно практично. Сначала решают вопрос на глобальном уровне. Например, принимают решение работать, завести детей, заняться спортом, пойти в кружок вышивания, стать членом партии и т.д. Это, так называемые, крупные заполнители времени. Затем в каждом крупном заполнителе возникают средние заполнители: на работе помимо работы пьем чай, общаемся с коллегами, читаем блоги в Интернете, чатимся по аське. В каждом среднем заполнителе ищем заполнители маленькие. Пока пьем чай, покачиваем ногой, зеваем, читаем газету, разговариваем с коллегами, помешиваем чай ложкой, хотя сахар давно уже растворился. Одним словом, более или менее успешно решаем проблему, как заполнить время.

Когда человек счастлив? Когда он спешит из дома на работу, а с работы домой. Заметьте, «спешит»! Это значит, что он свое время заполнил успешно, да еще и с лихвой. Это значит, он свою проблему с заполнением времени решил на пятерку. Вот и счастлив. Другой человек сидит допоздна на работе, домой ему не хочется, там время заполнить нечем. На работе еще есть чем, поэтому хочется поработать подольше. Человека, который свое время заполняет с трудом, назвать счастливым трудно.

Люди часто «жалуются», что им не хватает времени. В кавычках, т.к. скорее всего, они этим хвастаются. Обычно нехватку времени никто не скрывает, а сообщает о ней при первой возможности. Можно таким людям позавидовать, а можно попытаться разобраться, чем именно они так сильно заполнили свое время. А заполняют его вещами довольно глупыми.

Алкоголь – вещь поразительная. Выпьешь пару пива, и телевизор становится в 4 раза интереснее. И разговор идет легко. И запросто можно разговаривать 3 часа. Главное – не забывать добавлять, как только становится скучно. Скучно – это значит нечем заполнить время. А наутро – подарок судьбы – похмелье. Болеть – глагол, «что делать?». Но можно и без похмелья. Зато каждый день. Пришел с работы, джин с тоником, и 4-х часов до сна как не бывало. Алкоголем, в итоге, очень много принудительно выданного нам времени можно убить.

Очень многие люди живут далеко от работы. Очень удобно, между прочим. Один раз позаботился, и 2-х часов в день как не бывало. И это очень много. После работы и сна остается всего ничего 8 часов в день. И так легко избавиться от 2-х из них – это искушение. При этом сильно желательно ездить самому за рулем. А то возникнет проблема мелкого заполнения времени, т.е. чем заняться в дороге. Поэтому то люди так любят ездить на своей машине. Это же отличный заполнитель времени.

И еще много способов: читаем газеты, смотрим телевизор, желательно сериал, т.к. решает проблему на много дней вперед. Можно и заболеть. Можно устроить плановый семейный скандальчик.

Иной раз предложишь кому-нибудь сходить в кино, а он говорит, что времени нет. Невольно возникает чувство зависти. Вот ведь, сумел свое время заполнить. А если разобраться чем, то есть над, чем задуматься.

Исходя из такой теории, можно много полезных навыков приобрести. Например, можно спокойнее относиться к состоянию безделья, не заполнять свое время абы чем. Лучше подумать подольше, а не бежать за пивом в магазин. Захотелось поругаться с женой? Задумайтесь, может просто ничего пока не делать? Также стоит учитывать, что однажды выработанный способ входит в привычку. Заполняешь время ерундой, чтобы лишний раз не решать эту сложную проблему.

пятница, 10 октября 2008 г.

Начнем, пожалуй!

И посмотрим, что из этого получится...