Полная версия
Настольная книга project-менеджера. Что нужно знать, чтобы управлять IT, digital и другими проектами с учетом российских реалий
Мозгоклюйство – это требовательность без предоставления необходимых конкретному исполнителю ресурсов.
2.4.2. Работа в потоке
Естественное состояние человека – расслабленное. Так задумано природой. Экономим энергию или, как говорит Макс Дорофеев, – мыслетопливо. И, если нас никто не напрягает, ничего не требует – мы на расслабоне: сделать что-нибудь не против, но так, чтобы это было интересненько и не слишком напряжно. Мороженку скушать, киношку посмотреть, новую программку потыкать.
Мозг легко заинтересовывается любой фигней, даже работой. Вы когда-нибудь читали за завтраком этикетки, например, от сока? Зачем? Непонятно, но очень интересно. А если еще и на казахском…
Поэтому задача менеджера – создать такую ситуацию или атмосферу, при которой человеку будет проще начать выполнять дело, чем разруливать последствия – «почему не начал?».
Но опять же. Мы управляем умными, творческими людьми. И минут через 15–30 работы они входят в состояние потока. Это когда ты сконцентрирован, мир вокруг как бы перестает существовать, тебя прет и хочется работать, работать и работать. Это супер-продуктивное состояние, результативность выше в десятки раз.
Помните, когда вы до ночи засиживались за делом или за игрой? Время течет незаметно, а все, что вы делаете, – доставляет удовольствие. Усталость не чувствуется, а если чувствуется – это «добрая» усталость, как после пробежки. Вот в этом блаженном состоянии программисты и дизайнеры кайфуют от работы.
Чтобы попасть в поток, нужно минут 15 или больше сосредоточенно заниматься делом (позже рассмотрим технику Помодоро). Из потока легко вылететь – достаточно, чтобы дернули по мелочи. Сосед задал дурацкий вопрос, например. Вы чертыхаетесь, полчаса продуктивной работы летит в корзину, а с ними и хорошее настроение.
Посчитайте, сколько раз вас нужно дернуть за день, чтобы вы задолбались, стали злым и раздражительным, но ничего толком не сделали? Вот поэтому я запрещаю дергать ребят без экстренных причин (по экстренным все же можно, только для начала мысленно сравните выгоду от «дернуть» и полчаса времени в утиль, а также готовьтесь обосновать экстренность) и прошу вырубить всплывающие уведомлялки чатиков.
Менеджеры в таком состоянии пребывают редко – нас слишком часто пытаются поюзать (коллеги, клиенты, чатики, почта). Учитесь закрываться. А для этого нужны такие правила игры, когда менеджер тоже может работать в потоке, и дергать его запрещено. Клиентам это, кстати, очень не нравится: нас приучили к мгновенным ответам. Нам кажется, что то, на чем мы сфокусированы в данный момент, и есть «самое важное», и если на наше «самое важное» не реагируют – мы либо теряем его из фокуса, переключаясь на другое «самое важное», либо раздражаемся. Стоит ли говорить, что через пару часов «самое важное» зачастую превращается в пустяк? Предварительный вывод: чатики – зло для продуктивности (про голосовые сообщения вообще молчу).
Чатики – зло для продуктивности.
Ну да ладно. Допустим, вы попали в состояние потока. Знаете свою цель, вам – хорошо, и хочется работать еще и еще.
И здесь появляется риск ухода в перфекционизм. Человек может начать полировать код. Вылизывать пиксели. Долго размышлять об архитектуре. Или по три дня к ряду подбирать наилучший оттенок фиолетового. Тут экономика не сходится.
Менеджерская задача – держать человека в этой зеленой зоне графика, где ему интереснее сделать, чем не делать, и при этом вовремя забирать результат. То есть, обеспечить и интерес сотрудника к делу, и рентабельность его работы.
Для этого мы должны грамотно планировать его задачи и следить – интересно ли сотруднику, или он заскучал. Давать обратную связь, отдых, обучение. Словом, сервисное обслуживание. Можно ли тут сэкономить? Угу. Кратковременно добьетесь всплеска результативности, но в итоге получите текучку талантливых кадров, жуткую нагрузку на кадровый отдел и хреновую репутацию. А вместе с этим в долгосрочной перспективе – кратное увеличение себестоимости проектов.
2.4.3. Форсаж
Можно ли использовать людей в режиме форсажа? Ответ – да, можно. К форсажу можно прибегать, если этого требует дело, и если результат главнее последствий и выгорания людей. При этом вы должны понимать, что усталость, ошибки, демотивация возрастают. Но для понятной и великой цели, которую ЧЕТКО объяснили, и указали сроки, когда форсаж закончится, форсаж допустим и иногда даже полезен. Этакая встряска для организма.
В digital-компаниях рекомендую пару раз в год проводить хакатоны или делать внутренние фановые проекты. Но допустимость форсажа – это не повод устраивать в компании вечную «сессию». Никто не призывает эксплуатировать людей на износ. Но, опять же, всякое бывает.
2.5. Когнитивные искажения у дизайнеров и программистов
В человеческой психике есть баги, которые мешают нам объективно воспринимать реальность. Они – причина прокрастинации, желания отморозить уши назло маме и того, что временами люди не понимают друг друга, хотя, вроде бы, не дураки и общаются на одном языке. В психологии причины таких проблем называются когнитивными искажениями.
Как и баги в коде, когнитивные искажения можно исправить. Но для этого нужно понимать, где их искать и какими они бывают.
На странице Википедии в списке когнитивных искажений целых 200 пунктов, и 199 вы, скорее всего, найдете у себя. Рассмотрим те, которые часто встречаются у работников digital-сферы и у людей интеллектуальных и творческих профессий. Зная, как работают когнитивные искажения, вы научитесь понимать, почему подчиненные капризничают, и сможете регулировать их поведение.
2.5.1. Слишком оптимистичные оценки работы
Или, как вариация – пессимистичные оценки, только чтобы от вас отстали. Искажение встречается часто и лечится повторяющимися вопросами. Если человек отвечает не на тот вопрос, что вы задавали, нормальная практика – повторять вопрос несколько раз, пока вы не добьетесь нужного вам ответа.
– Когда будет готово?
– Ну, мне осталось вот это, это и это доделать, и будет готово.
– Отлично, но когда именно будет готово?
– Ну, тут недолго, обычно…
– Так когда будет готово?
– Через 20 минут.
Еще один вариант – техника «А на какой вопрос ты сейчас отвечаешь?!» Если человек не дает конкретики и пускается в объяснения или изложение последовательности своих действий, просто скажите ему напрямую, что он отвечает не на тот вопрос, который вы задали.
– Когда будет готово?
– Ну, мне осталось вот это, это и это доделать…
– Ты сейчас на какой вопрос отвечаешь?
– Будет готово через 20 минут.
Кстати, если задаете несколько вопросов письменно (в одном письме или чате) – скорее всего, вам ответят только на самый удобный. Заведите себе привычку нумеровать вопросы, приучите своих орлов нумеровать ответы. Это несложно.
2.5.2. Генерализация частных случаев
Генерализация частных случаев – когнитивное искажение, из-за которого человек расширяет поставленную задачу. При этом он даже не осознает, что ее можно выполнить проще и быстрее.
Генерализация фиксится варан-менеджментом, который пришел к нам из дикой природы. Существует байка, что варан кусает свою жертву, отравляя ее. Яд действует не сразу, поэтому после укуса варан ходит за жертвой и ждет, когда та умрет. И уже тогда обедает.
Как и варан, менеджер кусает человека задачей. А после садится рядом и внимательно смотрит в его мониторчик. Он может даже не понимать, что делает подчиненный – это необязательно. Главное – быть рядом и следить. И – о чудо! – через непродолжительное время исполнитель поймет, что таки существует более простое и быстрое решение, чем то, которое он придумал сначала.
Варан-менеджмент иногда обоснован, в отличие от двух других животных стилей управления: чайки и дятла.
Чайка-менеджмент – это когда менеджер прилетел, наорал, нагадил и улетел. Такой стиль поведения никогда не решает проблем, зато всегда понятно, кто виноват, а у подчиненных много активной бурной, но чаще всего нерезультативной деятельности.
Дятел-долбоклюй – это ну очень эффективный менеджер: вместо того, чтобы поставить задачку в трекер и назначить конкретный срок, он ходит и каждые пять минут спрашивает сотрудника: «Уже готово?! А когда будет? А сейчас готово? А теперь?!»
Грамотное делегирование – не самая простая задача на земле, но это не повод вести себя как животное:)
2.5.3. Это невозможно!
Среди когнитивных искажений можно выделить целую группу, которые мешают взяться за задачу. И все они сводятся к тому, что человек, чуть поковырявшись в постановках, упирается и заявляет: «Это невозможно!»
У такой реакции несколько причин:
▶ исполнителю просто лень;
▶ сработал эффект сопротивления, и человек хочет доказать, что он сам волен решать, что делать, а что нет;
▶ задача противоречит его чувству прекрасного.
В любом случае менеджеру нельзя верить в то, что задача невыполнима. Наоборот – он должен выяснить, какие ресурсы нужны исполнителю, чтобы ее сделать. Снова и снова долбить подчиненного вопросом: «Расскажи, пожалуйста, что тебе потребуется, чтобы сделать эту задачу?»
Опыт показывает, что со временем подчиненный понимает, что ему не верят, да и действительно задача не так уж и невыполнима… И в конце концов он ее выполняет.
В будущем этот случай можно будет использовать как тыкательную палку в аналогичных ситуациях. На категоричное «Это невозможно!» у вас будет кейс, когда сотрудник тоже считал задачу невыполнимой, а потом сделал ее за 20 минут.
2.5.4. Критика как личное оскорбление
Это искажение часто встречается у личностей творческих, особенно невыспавшихся и в плохом настроении. Чтобы вырулить ситуацию в конструктив и никого не обидеть, нужно действовать по следующему алгоритму:
1) Отделить хорошее и плохое.
2) В работе, пусть ее и нужно переделать, все равно были какие-то положительные моменты – вспомните их и похвалите исполнителя.
3) Объясните, в чем ошибка. Возможно, человек не знает, как эту ошибку исправить, и именно поэтому сопротивляется и бунтует.
4) Инициируйте повторное обсуждение или брейншторм по уже пройденным вопросам.
5) Попросите помощи коллег или дайте дополнительный ресурс – например, время на рисерч.
6) Настаивайте на переделке плохого.
7) Закрепите пройденный урок: выясните причину, почему искажение активировалось, и запомните, как вы его пофиксили.
К сожалению, многие начинающие менеджеры в этот момент либо боятся доводить дело до конца, либо ленятся. Но если следовать этому алгоритму – можно выйти на конструктив даже быстрее, чем вы ожидали.
2.5.5. Проклятие знания
Вот пример когнитивного искажения, которое называется «проклятие знания». Это когда человек более информированный не может рассмотреть проблему с точки зрения человека, который знает меньше. Отсюда столько непонятых гениев.
Проклятие знания устраняется самодрессировкой. Нужно отлавливать свое нелогичное поведение и наступать себе на хвост. Пытаться выстроить конструктивный диалог, даже если очень не хочется. А то всю жизнь можно прожить, думая, что все вокруг глупые, а ты один в пальто стоишь красивый. А на деле окажется, что все совсем наоборот.
2.5.6. Эффект генерации
Не все когнитивные искажения – причина проблем и непонимания. Бывают и полезные. Например, «эффект генерации». Благодаря этому искажению человек лучше запоминает информацию, когда воспроизводит ее сам, а не воспринимает извне.
Это искажение используется в авиации. Например, когда диспетчер общается с пилотом. Если диспетчер на земле передал какую-то информацию, пилот в самолете должен повторить все параметры, которые были заданы. Менеджерам тоже полезно использовать этот прием, чтобы проверять, правильно ли подчиненные поняли задачу. Называется – «выписать квитанцию».
2.5.7. Слепое пятно
Еще одно когнитивное искажение: слепое пятно в отношении когнитивных искажений. Человек, который в курсе, что искажения существуют, отрицает их влияние на свое поведение. А последствия списывает на обстоятельства и на глупость окружающих. И, соответственно, не делает ничего, чтобы пофиксить свои когнитивные искажения.
Так что, если подчиненный говорит вам, что вы начитались книг по психологии, а задачу «Ну правда невозможно никак выполнить» – может быть, пора отдать задачу другому исполнителю.
2.6. Для тренировки
Выработка требовательности и уверенности, если вы не обладаете этими качествами, должна стать для вас приоритетным проектом.
Начинайте с выдачи небольших заданий, но добивайтесь по ним 100 % выполнения. Сначала ставьте задачи тем исполнителям, которых вы психологически сильнее. Опирайтесь на власть своего руководителя, правила компании, парадигмы, стандарты отрасли, регламенты. Затем – на здравый смысл и эстетику. Постепенно переходите к иррациональному уровню.
В течение недели следите за собой и за своими коллегами: подмечайте, какие неконкретные слова и выражения и в каких ситуациях они применяют. Когда вам, вроде бы, что-то ответили, но легче от этого не стало. Иными словами, отлавливайте отмазки: «не знаю», «я подумаю», «скоро» и так далее. Сюда же – три импотентских глагола: попробую, постараюсь, попытаюсь. «Попробую» с русского на менеджерский язык переводится – «отстань, я этого не смогу».
Составьте свой словарик таких слов и натренируйте слух, чтобы, как только эти слова прозвучат в вашем присутствии, у вас рефлекторно появлялось желание дать леща попросить человека, как минимум, конкретизировать эти слова до сроков, цифр и конкретных артефактов.
И постарайтесь не перегнуть палку – уж больно хлопотно исправлять управленческие ошибки.
Литература
▶ Нассим Николас Талеб, «Рискуя собственной шкурой. Скрытая асимметрия повседневной жизни».
▶ Александр Фридман, «Вы или хаос. Профессиональное планирование для регулярного менеджмента».
▶ Александр Фридман, «Управление мышлением подчиненных: центрирующие парадигмы», аудиокнига.
▶ Павел Сивожелезов, «Сложные переговоры с подчиненными».
▶ Максим Дорофеев, «Джедайские техники» и «Путь джедая».
Пояснения
Рекурсия – ситуация, когда объект является частью самого себя. Если у вас украли кредитную карту, позвоните по номеру на обороте кредитной карты.
Архитектура – это общее устройство кода сайта или приложения: используемые библиотеки, модули, классы, функции и их отношения. Иными словами, общее описание, внутри которого разработчик пишет код. Вопрос об идеальной архитектуре философский, и многие разработчики стремятся к совершенству архитектуры как йоги к Нирване (зачастую, зря тратя время).
Большинство современных промышленных систем реализованы с использованием паттерна проектирования приложения MVC (Model View Controller) или его производных. Не все, это не догма, есть и альтернативные варианты, но этот подход чаще всего применяется. Model-View-Controller или MVC, или «Модель-Представление-Контроллер» – предполагает разделение данных приложения, пользовательского интерфейса и управляющей логики на три отдельных компонента:
Модель (Model) предоставляет данные, как правило, лежащие на сервере, например, в базе. И эти данные со временем могут как-то модифицироваться. Например, на сервере хранится информация о товаре.
Представление (View) отвечает за отображение данных модели пользователю, реагируя на изменения модели. То есть, как этот товар показывается на странице.
Контроллер (Controller) интерпретирует действия пользователя, оповещая модель о необходимости изменений.
Чтобы было понятнее, пример. В базе данных у вас лежит товар. Его можно вывести и на страницу с карточкой товара, и на страницу списка товара и в корзине пользователя. Физически в базе это будет один и тот же товар, но отображаться он будет по-разному. За хранение данных о товаре отвечает модель. За то, как этот товар можно показать пользователю – представление, или View, их может быть несколько. Ну и есть некие операции, которые можно выполнять с товаром: положить в корзину, удалить из корзины, удалить из базы, добавить остатки на складе и так далее. За них отвечает контроллер.
Понимание паттерна проектирования может быть важно, когда вы оцениваете проект: расписываете его по экранам и операциям с каждой сущностью данных.
Scrum – передовой фреймворк (платформа), созданный в 90-е специально для разработки, передачи и поддержки сложных продуктов. Сейчас используется и в других сферах. Суть: весь объем работы делится на короткие этапы в 2–4 недели (спринты), в рамках которых выполняется конкретный перечень задач из бэклога (списка всех задач, упорядоченных по приоритетности). Подробнее о Скраме мы поговорим в главе 3.
Карта компетенций – таблица со списком и уровнем необходимых навыков по каждому сотруднику. Благодаря ей можно оптимально распределять людей по командам, следить за прогрессом каждого из них и давать задачи на прокачку недостающих навыков. Подробнее о картах компетенций говорим в главе 7.11. Пример карты компетенций ищите в Приложении 1.
Хакатон – форум для разработчиков, во время которого специалисты из разных областей разработки программного обеспечения сообща решают какую-либо проблему на время.
CSS-файл – каскадная таблица стилей, которая применяется для оформления веб-страниц. С помощью CSS-файла задается цвет, шрифт, положения отдельных блоков на странице.
Developer Tools – панель инструментов веб-разработчика. Обычно встроены по умолчанию в современные браузеры, чтобы можно было легко просматривать исходный код сайта.
Часть 3
Пятиминутный scrum
Настало время кратко посмотреть на Scrum – фреймворк разработки проектов. «Фреймворк» означает, что в чистом виде, по книге, у вас это вряд ли заработает. Ладно-ладно, заработает, но не с первого раза. Его нужно будет настраивать и сращивать с вашими текущими процессами.
Фреймворк уже зрелый: по нему много литературы, курсов и сертификаций. Поэтому здесь мы поговорим о нем коротко – только в той мере, в которой он нам нужен для повседневной, практической работы. Фреймворк не без косяков, с известной зоной действия и ограничениями. Но пока принципиально лучше ничего не придумали. И Scrum хорошо работает с удаленными командами.
3.1. Схема scrum. Артефакты. Роли. Процедуры
Итак, продукт выпускается поэтапно. Сначала минимальная версия. Затем постепенно наращиваем функциональность.
Каждый цикл разработки называется Спринтом. Рекомендованная продолжительность спринтов – от 1 до 4 недель, подбирается экспериментально. Нужен ритм «рывок-отдых». В итоге каждого спринта должна получиться новая версия продукта с приростом функций – инкрементом.Product Owner (Владелец Продукта) отвечает башкой за стратегию и приоритеты разработки. К нему поступают «хотелки» пользователей, метрики, жалобы, баги, идеи стейкхолдеров. Коллективная ответственность в расстановке приоритетов не работает. Но рутину вроде сбора обратной связи можно делегировать.В Scrum-е нет нудного толстого технического задания, которое выполняется от корки до корки. Нет попытки предусмотреть все и сразу. Вместо ТЗ хотелки складываются в специальную табличку – Product Backlog – и сортируются по приоритетам с точки зрения бизнеса. Можно по ходу работы менять, выкидывать и добавлять функции.
Примерно так это выглядит:
Простой бэклог в Google Docs
Минимальный состав бэклога: хотелка и приоритет. Можно добавлять свои поля. Например, описание и предварительная трудоемкость. Чаще всего, в условных единицах – Story Point. Берем за 1 балл самую простую хотелку, все остальные оцениваем относительно нее. Бэклоги удобно хранить в Google-таблицах. Можно дать доступ команде и синхронизировать с таск-трекером типа Jira.
Приоритет – чем больше число, тем выше. При ручной расстановке приоритетов удобно делать между ними зазоры (100, 200, 500). Так проще будет вставлять хотелку между двумя другими. Одинаковых приоритетов, по классике, быть не должно.
Чем ниже спускаемся по бэклогу – тем меньше необходима степень проработки. Пустая трата времени формализовывать то, до чего годами не дойдут руки. И наоборот, хотелки вверху списка должны быть ясные, с высокой степенью готовности к работе.
Все заинтересованные лица могут добавлять что-то в бэклог. Но только Product Owner определяет приоритеты. Для этого нужно периодически просматривать бэклог, выкидывать оттуда мусор, обновлять приоритеты и улучшать формулировки.
Есть специальные методики приоритизации, снижающие субъективное мнение (галлюцинации) Product Owner о важности той или иной хотелки. Подробнее о техниках поговорим в главе 4.
RoadMap – предварительный календарный график выпуска релизов. Этого нет в Scrum, но без него картинка проекта теряется.
Как выглядит Roadmap
Команда разработки. По умолчанию имеются в виду программисты. Команда забирает верхнюю часть бэклога в работу, дербанит каждую хотелку на технические тикеты и оценивает. Мы используем Planning Poker, о нем чуточку позже. Так формируется бэклог спринта (Sprint Backlog) – то, что команда считает реальным сделать за следующий Спринт.
Задачи, попавшие в Sprint Backlog, менять нельзя. В отличие от задач из Product Backlog, в котором можно менять все что угодно до тех пор, пока команда разработки не заберет и не запланирует верхние хотелки.
Обычно Sprint Backlog у нас попадает на канбан-доску в тикет-системе. Это привычный многим инструмент, где есть карточки с задачами и колонки, соответствующие статусам работы. Как минимум это Plan, In Progress, Check, Done. Чертовски напоминает цикл Деминга.
Можно придумывать свои колонки, добавлять критерии готовности, чек-листы, ограничения одновременно выполняемой работы (WIP, work in progress) – тут все гибко.
Канбан-доска спринта в Jira
Команда обычно работает с этой доской: каждый разработчик забирает интересный ему тикет. Выбирает сам, а не назначает начальство. Пишет код, перемещает карточки по доске, трекает время и так далее. Доска может быть как физической, так и электронной.
Команда – такой мини-спецназ в тылу врага. Компактная: рекомендуется не более семи человек. Кросс-функциональная: есть все компетенции, чтобы сделать проект. Самоорганизующаяся (упс!), самообучаемая и ответственная. Большие проекты дробятся на компоненты и распределяются по своим командам.