Давайте начнём с примера, который, возможно, вдохновлён реальной ситуацией. Команде необходимо подобрать брокера событий. Претендента два — Kafka и Pulsar.
Разработчик А имеет значительный опыт с Kafka в реальных ситуациях. Упоминают сложность при масштабировании Kafka и поручаются Pulsar. Разработчик B — сторонник Kafka, так как технология стала стандартом индустрии и имеет сильную поддержку в целом. Но у команды мало опыта работы с ней. Оба согласны в том, что в обозримом будущем изменений рабочей нагрузки нет и два этих решения соответствуют требованиям. Но остальные члены команды не так самоуверенны.
После проведённых на встрече часов и сравнения с сеткой технических критериев пункт за пунктом команда выбрала Kafka. Все согласились с тем, что принятие этого решения вполне обоснованно, обоснование задокументировали, и команда приступила к внедрению.
Но раскрыты ли истинные мотивы выбора?
Человек — это сложно
На самом деле за инженерной рациональностью стоят личности. Человек — сложная машина со знакомой, но абсолютно не управляемой операционной системой.
Мы думаем, решения принимаются (или должны приниматься) благодаря рациональности, но в реальности принятие решений затуманено непосредственными или ожидаемыми эмоциями. Например, в маркетинге хорошо известен факт, что люди покупают на эмоциях, затем логически оправдывая покупку.
Некоторые люди утверждают, что нерациональные аргументы — источник нежелательной предвзятости и они нуждаются в надлежащем регулировании. Другие настаивают, что чувства играют адаптивную роль в принятии решений и в интересах личного благополучия. Несомненно лишь то, что иногда мы сначала решаем эмоциями, а затем оправдываем решение логическими причинами. Более того, мы мастера убеждать себя в абсолютной объективности нашего выбора.
Долг каждого члена команды — признать эти эмоциональные или психологические предубеждения именно такими, какие они есть, и превратить их во что-то полезное. Присмотримся к нашему вводному примеру.
Пересмотр процесса принятия решения
Разработчик A — талантливый специалист широкого профиля. Такие специалисты предпочитают широту знаний, а не их глубину — мастер на все руки вовсе не мастер. Таким людям быстро надоедает работать над одним предметом. Естественно, когда нужно выбрать технологию, такие люди склонны отдавать предпочтение всему новому.
Разработчик B консервативнее. Такие люди по-настоящему увлечены некоторыми технологиями и хотят овладеть ими. Они склонны выбирать знакомое. Они также не очень напористы, и, хотя могут быть увлечены технологиями, им трудно говорить и делиться мыслями.
Оба они также строят свою карьеру, один как универсал, а другой как специалист. Освоение технологии или нового подхода к делу — небольшой толчок в карьере.
Все эти факторы имеют большое значение в принятии решений, но обычно не называются и не признаются, когда решения принимаются.
Так что же мы должны делать?
Делаем невидимое видимым
Проще говоря, при выборе технологий вы должны учитывать эти нерациональные критерии. Хотя невозможно ожидать, что каждый сможет выразить свои чувства, вы должны поощрять раскрытие предпочтений, введя новые критерии в принятии решений.
Всё началось с с простой сетки критериев технологии, каждый из которых имеет максимальный рейтинг в соответствии с нашими ограничениями и приоритетами:
Критерии |
Макс рейтинг |
Технология 1 |
Технология 2 |
Функции |
100 |
— | — |
Безопасность |
100 |
— | — |
Экосистема |
50 |
— | — |
Стоимость установки |
30 |
— | — |
Стоимость технического обслуживания |
150 |
— | — |
Стоимость лицензии |
150 |
— | — |
Совместимость |
50 |
— | — |
Это основные вещи. Затем мы добавляем субъективные элементы. Вы должны предложить и обсудить новые пункты с командой.
Критерии |
Макс рейтинг |
Технология 1 |
Технология 2 |
Карьерный интерес |
30 |
— | — |
Популярность |
50 |
— | — |
Знакомство |
30 |
— | — |
Конечно, это всего лишь пример. Нужно соответствие устремлениям команды. Эти критерии можно понимать так:
- Карьерный интерес понятен сам по себе, это критерий о том, как технология вписывается в карьерные планы.
- Популярность технологии: тяга к новизне, время, чтобы понять облачную технологию, о которой все говорят на встречах.
- Комфорт ознакомления с технологией, с которой я, возможно, не знаком.
Затем оцениваете свои возможные решения с дополнительным бонусом, чтобы лучше понять мотивацию каждого. Каждый член команды должен сам заполнить сетку, прежде чем поделиться ею со всеми.
Позвольте прояснить: критерии могут быть не самыми лучшими. Некоторые из них могут показаться вам смешными или очень отличающимися от взглядов большинства, но дело не в этом. Хочется передать, что думают люди, что может повлиять на их выбор.
Право не соглашаться
Очевидно, окончательный выбор может не соответствовать холодной арифметической истине, особенно если оценки равны. В таких ситуациях лидер группы, как правило, делает окончательный выбор направления. Вполне естественно, что человек в команде может иметь твёрдое убеждение в другом выборе и быть обескураженным. Вы должны признать это несогласие. На самом деле долг лидера — поощрять разногласия. Классическая история от Питера Друкера хорошо резюмирует:
Несогласие необходимо, чтобы стимулировать воображение (Питер Друкер)
Поощрение разногласий — единственный способ избежать ловушки консенсуса. Но в конце концов люди должны не соглашаться и брать на себя обязательства. Эта фраза стала известной благодаря Джеффу Безосу в одном из его писем инвесторам:
«Используйте фразу ”Можно не соглашаться, но сделать”. Эта фраза сэкономит вам кучу времени. Если у вас есть уверенность в определённом направлении, но нет консенсуса по нему, полезно сказать: “Слушайте, я знаю, что мы не сходимся по этому вопросу, но вы могли бы рискнуть? Не согласиться и сделать?” Никто не знает правильного ответа».
Но зачем людям принимать решение, с которым они изначально не согласны? Просто потому, что у каждого была возможность высказать свое мнение и быть выслушанным. Важно, что у команды была возможность выразить не только свои логические аргументы, но и свои устремления. Таким образом, окончательное решение хорошо сформулировано и всем легче его принять.
Заключение
Смотрите на структуру выбора технологий с учётом человеческого фактора. За холодным логическим обоснованием инженерии вы должны принимать во внимание человеческую психологию и устремления. Их признание делает всех счастливее и создаёт сильную ориентацию на общие цели.
Это финальный материал в нашем блоге в 2020 году. Поздравляем всех хабравчан с наступающим Новым Годом и желаем удачи, развития, здоровья, счастья, релизов без багов, работы без кранчей, компилинга без ошибок! Увидимся уже в 2021. :-)
- Профессия Java-разработчик
- Профессия Frontend-разработчик
- Профессия Этичный хакер
- Профессия C++ разработчик
- Профессия Разработчик игр на Unity
- Профессия iOS-разработчик с нуля
- Профессия Android-разработчик с нуля
- Профессия Веб-разработчик
КУРСЫ
- Курс по Machine Learning
- Продвинутый курс «Machine Learning Pro + Deep Learning»
- Курс «Python для веб-разработки»
- Курс по JavaScript
- Курс «Математика и Machine Learning для Data Science»
- Курс по аналитике данных
- Курс по DevOps
Geraldim
Может помочь инженерная психология и специалисты, которые занимаются ею.
Они как раз и нацелены на удобное обустройство «рабочего места», чтобы человеку приходилось совершать меньше движений и эффективней работать