— А не может быть такого, Миша, что ты просто плохой менеджер и не смог приучить команду к какому-нибудь хорошему аджайлу там или скраму, и внедрить эти бест-практикс?
Шла 25-я минута сессии вопросов и ответов после нашего с Дзимкой выступления про то, «Почему все ненавидят дейли».
Первые вопросы были либо комплиментарные, либо непонятные. И вот первая атака.
«За что ж ты так с нами, Виталик? Больше не пойду с тобой пиво пить», — подумал я.
И нет, я расстроился не потому, что меня критиковали. Критика — это хорошо. Даже такая.
Я расстроился, потому что мне предстояло объяснять человеку, верующему в бест практикс, что ...
Так говорить — это жестоко. Это всё равно что рассказать ребёнку, что никакого Деда Мороза нет. И что тот бородатый дядя в торговом центре — просто бывший КВНщик. И что пахло от него не соснами, а Егермейстером.
Кто-то мог бы справедливо подметить: как же вообще тогда появилось такое выражение «best practices», если их не бывает? Отвечу: они бывают, но только в определённом контексте. В таком, который в рамках Cynefin-фреймворка называют Простой
.
Cynefin разделяет «контексты принятия решений» на 4 категории: Простой
, Сложный
, Запутанный
, Хаотичный
. Один отличается от другого предсказуемостью: насколько точно мы можем объяснить причину, глядя на следствие.
Вы находитесь в Простом
контексте, если, нажимая на кнопку, гарантированно получаете ожидаемый результат. Для вашей клавиатуры есть простая инструкция с реестром ситуаций, когда какую клавишу жать. Любой человек с тремя классами церковно-приходской школы способен качественно принимать решения. Пример: управление пультом от телевизора.
Ваш контекст Cложный
, если вам приходится хорошенько подумать, какую конкретно кнопку нужно нажать. Инструкций нет. Есть наборы советов «бывалых». Ситуации могут отличаться мелкими нюансами, от которых зависит, что вы в итоге нажмёте. С годами вы становитесь лучше в этом деле, становитесь экспертом и совершаете меньше ошибочных нажатий, которые приводят к катапультированию, хотя вы хотели откинуть сиденье. Пример: управление автомобилем.
Ваш контекст Запутанный
, если для того, чтобы получить результат, похожий на то, что вам нужно, приходится наугад нажимать разные клавиши и следить, что получится. Получаться будет, как правило, не то. Но если вам удастся натыкать что-то подходящее, в следующий раз получить то же самое у вас уже не получится. Или получится, но только если перед этим чихнуть
раз. И только если вам сегодня исполняется 15.
Как бы бывшим программистам-тимлидам ни хотелось, менеджмент не похож на управление микроволновкой. Контекст принятия решений тут хотя бы на уровень выше Простого
. Если бы было можно подобно программированию, подавать в компилятор код, манипулирующий поведением людей, раз за разом получая один и тот же исход, я бы посоветовал вам себя ущипнуть: Ержан Нео, вставай, на работу пора.
Совет: изучайте всё, пробуйте все практики, идеи и трюки, которые только найдёте для себя привлекательными. Но не рассчитывайте наткнуться на серебряную пулю. И не рассчитывайте, что не придётся больше ничего никогда менять, потому что ...
Пару лет назад мы стали писать код, работая в парах.
Первые полгода всё шло как по маслу. Практика выполняла свою функцию, давала множество позитивных побочных эффектов, а негатива мы не замечали.
Со временем ребята стали тосковать по временам, когда можно было поработать в одиночку. Некоторые и вовсе избегали работать вдвоём. А наш босс стал относиться к практике как к баловству и растрате.
Казалось, мы ничего не меняли. Практика осталась в том же виде, в каком была представлена изначально. Так почему же она перестала работать?
Потому что изменилась среда. Команда росла в численности, уровень сложности работы увеличивался. Но главное — сама практика поменяла всех окружающих.
Группа людей, никогда не слышавших о парном программировании, и группа тех, кто уже попробовал его, полюбил или возненавидел, будут по-разному себя вести. Равнодушие пропадёт, люди начнут реагировать. Кто-то станет атаковать, критиковать, кто-то защищать, а кто-то избегать практику.
Практика сможет выжить только если будет способна адаптироваться к изменившимся обстоятельствам. Но адаптация приведёт к новому витку обратной связи, и практике придётся меняться снова и снова. Поклонникам стабильности best practices эта новость явно придётся не по душе.
Совет: после привнесения в команду новой практики будьте готовы к постоянным переменам. Подстраивайте правила под вкусы людей. Постарайтесь не влюбляться в практику, помните, что ...
Согласно ТРИЗ, идеальная система — это та, которая выполняет свою функцию и при этом не существует. Да, ТРИЗ разрабатывали для решения проблем в инженерном деле, рассматривая механизмы и технические системы, но, думаю, менеджеры тоже могут перенять оттуда некоторые идеи.
Любую практику, которую мы используем для организации труда, можно рассматривать как систему. Если принять за истину, что идеальная система — это та, что выполняет функцию, но не существует, то это значит, что любая существующая практика реального мира не может быть идеальной. И если радикализировать, любая практика — костыль по определению.
Внедрение практики — это ответ на какую-то проблему. Функция практики — эту проблему исправить. Любые накладные расходы для выполнения функции отдаляют практику от точки идеальности.
Точка идеальности наступает, когда КПД достигает 100%. Когда на исполнение практики уходит 0 секунд, денег потрачено 0 €, а побочных эффектов нет вовсе.
Как вы понимаете, достичь идеала невозможно. Но, как минимум, мы можем постараться.
Совет: насорил — убери за собой. Пересмотрите сложившиеся в команде практики. Постарайтесь найти способы ужать их, отряхнуть от всякой чепухи, сделать настолько невесомыми, насколько хватит способностей.
На крайний случай воспользуйтесь принципом Тараса Бульбы: «Я тебя породил — я тебя и убью».