Мир, дружба, дедлайн: как избежать конфликтов в разработке и сохранить команду
Начну, пожалуй, с противоречивого заявления. Конфликт — это хорошо. Но хорошо это лишь в том случае, когда все стороны конфликта стремятся к его разрешению с учетом интересов каждого участника. И, спешу вас обрадовать, большинство видов конфликтов вполне себе разрешимы, главное, во всем разобраться и найти компромисс.
И сперва я предлагаю определиться, что же такое конфликт? Давайте по-простому. Конфликт — это столкновение интересов, целей, мнений или взглядов. И это нормально. Человек — существо социальное. И если вы не находитесь на необитаемом острове (а вы там не находитесь), вам приходится контактировать с другими представителями своего вида. Рано или поздно, даже в самом конформном коллективе, коса на камень все-таки найдет.
В этой статье тему конфликтов мне бы хотелось сузить до конфликтов на работе, а именно — в разработке. А если вы разработчик, «бодаться» с коллегами в рабочем процессе, скорее всего, вам приходится довольно часто. Программисты и тестировщики, менеджеры и заказчики — это, можно сказать, архетипичные модели.
В общем, мы разобрались, что есть конфликт, и в каком разрезе мы будем его сейчас рассматривать. Давайте теперь к конкретике.
Вот семь типов конфликтов. Можно даже назвать их уровнями, потому что от первого к последнему пункту накал растет:
Конфликт понятий
Конфликт восприятия реальности
Конфликт ролей и функций
Конфликт функциональных стилей
Конфликт между демократией и диктатурой
Конфликт целей
Конфликт ценностей
Этот список — не мое личное изобретение. Такую градацию предлагает Ицхак Адизес, известный писатель и бизнес-консультант, к чьей помощи прибегали крупные зарубежные и российские компании и даже правительства (подробнее можно прочесть на «Википедии»).
Давайте теперь выясним, в чем суть каждого из этих пунктов на примерах из области разработки, и разберемся, как такие конфликты разрешать.
Конфликт понятий
Тут все довольно просто: стороны конфликта под одним и тем же понятием подразумевают каждый свое. Такое недопонимание может произойти из-за совершенно разных причин: недостаточная осведомленность, жизненный опыт и даже просто настроение или мысли, которые занимают голову в данный момент.
Пример
Рядовой разработчик желает стать лидом. Похвальное устремление, не так ли? Вот только есть одно «но». В понимании этого конкретного разработчика стать лидом равно раскидать задачи по команде и плевать в потолок, пока не наступит дедлайн. Только в понимании руководства или заказчика это не так работает. В их понимании, быть лидом — это значит нести ответственность за работу каждого сотрудника своей команды, всегда держать руку на пульсе, контролировать процесс выполнения задач, решать возникающие разногласия, помогать, если возникают трудности в написании кода, и еще много других вещей. И если лид будет плевать в потолок до дедлайна, с большей долей вероятности в срок ничего готово не будет. И вот свежеиспеченный лид в шоке и прострации, проект в… плохом состоянии, заказчик в бешенстве. Боль, тлен и безысходность.
Как исправить
Определитесь на берегу: чего ожидают от сотрудника в качестве лида, и как он сам видит свою новую роль. Если тут паззл сложился правильно, можно переходить к следующему этапу. Назовем его испытательный срок. В этот период новый лид приступает к своим непосредственным обязанностям, но и сам находится на контроле с периодическими отчетами о том, как продвигаются дела в его команде. В таком случае понять, что что-то идет не так, удастся до того, как станет слишком поздно.
Общий вывод
Договариваясь о чем-то, убедитесь, что обе стороны одинаково понимают суть. Лучше потратить немного времени и задать пару уточняющих вопросов до, чем убить гораздо больше времени и, скорее всего, потерять в финансовом плане, разгребая последствия недопонимания после.
Конфликт восприятия реальности
Быть объективным крайне сложно. Большая часть наших суждений субъективна. Мы воспринимаем реальность через призму своего жизненного опыта, поэтому интерпретируем одни и те же факты по-разному, часто добавляя к своей интерпретации еще и эмоциональную составляющую. Неудивительно, что это благодатная почва для возникновения конфликта.
Пример
Один разработчик разродился долгожданной для проекта фичей, залил ее куда надо и со спокойной душой переключился на следующую задачу. Настроение у него сейчас из разряда «я — молодец». Но вместо ожидаемой похвалы, он получает наезд от коллеги: «Ты своим коммитом все поломал! Из-за тебя ничего не работает!».
Как исправить
Ну, во-первых, было бы хорошо согласовывать свои задачи так, чтобы они не ломали чужой код. Разумеется, не всегда это возможно. Поэтому, для тех случаев, когда предотвратить этого не получилось, следуем простому правилу: отделяем событие от личной интерпретации (событие — функциональность сломалась, интерпретация — все испорчено).
Сломал коллега ваш код? Перво-наперво — выдыхаем. И еще раз. И еще. Успокоились? Вот теперь стараемся сформулировать свою мысль конструктивно и спокойно. Ваш коллега, вероятнее всего, сделал это не специально и исправит все, как только вы сообщите ему о проблеме. Тогда конфликт будет улажен, не успев разгореться. Если же вы отпустите горячие эмоции на волю и наброситесь на него с обвинениями, конфликт затянется и возможно даже разгорится еще сильнее. Не обостряйте без необходимости. То же касается и другой стороны предполагаемого конфликта: даже если к вам пришли «с мечом», постарайтесь для начала пригласить оппонента за стол переговоров в спокойном ключе. Скорее всего, это остудит его пыл, и дальше вы уже совершенно спокойно все обсудите.
Общий вывод
Сосредоточьтесь на фактах. Личная интерпретация, особенно опирающаяся на эмоции, в работе скорее навредит. Не нужно переходить на личности, чтобы донести до коллеги суть проблемы. Вопрос это не решит, а отношения испортит практически стопроцентно.
Конфликт ролей и функций
Казалось бы, глобальная цель у компании, в которой вы работаете, известна и понятна всем сотрудникам. Но приоритеты на пути к ней в разных отделах могут быть расставлены по-разному. Отдел продаж хочет поскорее, тестировщики хотят качественнее. Обычно одно противоречит другому. Непросто удовлетворить требования сразу всех сторон. Вот вам и конфликт ролей. Чаще, конечно, это «болезнь» молодых компаний, где процессы еще не отлажены.
Пример
Вы работаете тестировщиком в молодой, но амбициозной компании. И вот в очередном обновлении для проекта вы обнаруживаете три тележки серьезных багов. Релиз на носу, починить при всем желании к этому сроку невозможно. Но менеджер уперся: переносить сроки никто не собирается.
Как исправить
Конечно же, вам нужна система ранжирования багов. В таком случае вы сможете просто сконцентрироваться на критических моментах, а остальное отложить на потом. В приведенном выше примере стоит подробно уведомить менеджера о проблемах и последствиях, и если он все так же продолжит упорствовать, ответственность за это решение будет уже целиком и полностью на нем. При необходимости вы также можете поставить в известность о ваших предостережениях еще кого-то из руководства, для надежности.
Общий вывод
Компаниям нужна хорошо выстроенная система взаимодействия между сотрудниками. Нужны механизмы, которые будут регулировать принятие тех или иных решений в разработке. Если таких механизмов нет, постарайтесь их выстроить хотя бы в зоне своей ответственности непосредственно с коллегами, с которыми вы взаимодействуете.
Конфликт функциональных стилей
Как думаете, вы тактик или стратег? Дело в том, что подход к решению задач у этих двух стилей совершенно разный. Если стратегу важна лишь перспектива, без конкретики по ее достижению, то тактику важен каждый шаг, каждая ступенька. По мнению тактика, стратег — оторванный от жизни мечтатель, стратеги же не понимают, зачем фокусироваться на «ерунде», ведь гораздо важнее видеть картину в целом. Именно поэтому найти общий язык им бывает крайне непросто.
Пример
Команда для проекта собрана, руководитель озвучил основную цель и общие задачи. Половина команды уже что-то кодит на свое усмотрение, вторая половина хлопает глазами в ожидании конкретики, которой нет.
Как исправить
Изучите своих коллег. Выясните, кому из них какой стиль работы ближе, и от этого отталкивайтесь. Кому-то нужна карта с подробным маршрутом, а другому достаточно указать направление.
Общий вывод
Учитесь договариваться. Конечно, удобнее всего работать с теми, кто похож на вас. Минимум стресса, все понимают друг друга практически с полуслова. В противном случае взаимодействие может стать невыносимым. С другой стороны, именно люди другого стиля способны иначе взглянуть на проблему и найти решение, которое от вас ускользало.
Конфликт между демократией и диктатурой
Если во время принятия решения не было демократии (обсуждение вовлеченных сторон), а во время исполнения — диктатуры (контроля и отчетности), возникает этот конфликт. Начальство приняло определенное решение, но сотрудники его не выполняют.
Пример
Принудительная удаленка закончилась, но компания оставила для сотрудников возможность свободного посещения офиса. Чем, собственно, большинство и пользуется, забыв о нем напрочь. И вот руководитель озвучивает коллегам свою идею: было бы неплохо, если бы вы все-таки пару раз в неделю работали из офиса. Вот только в офис все так же продолжают ходить единицы, которые делали это и до рекомендаций начальства.
Как исправить
Для начала руководителю неплохо было бы проанализировать свою идею: зачем это нужно? Какую проблему призвано решить нововведение? Теперь давайте побудем демократом. Пригласите коллег на митинг, где вы озвучите и проблему, которую нужно решать, и ваше видение этого самого решения. Обсудите с ними все «за» и «против». Возможно, найдется еще какой-то вариант, в большей степени устраивающий всех. А по итогу этого собрания озвучьте коллективно принятое решение. Его сотрудники будут выполнять гораздо охотнее, потому что принимали участие в его принятии. Ну, а на втором шаге пора становиться диктатором, встраивать принятое решение в рабочий процесс и следить за его выполнением.
Общий вывод
Дайте людям право голоса. Возможно, ваше решение не идеально и вместе вы найдете иной способ, устраивающий всех. Если же решение принято, ответственность за его исполнение, в первую очередь, лежит на вас как на руководителе. Найти рычаги воздействия — ваша непосредственная задача.
Конфликт целей
Тут все очевидно. Цели сторон конфликта расходятся, и на основании этого возникает напряжение. Это довольно серьезный конфликт, и для его решения придется приложить немало усилий.
Пример
Вы работаете на проекте третий год, надоел он вам хуже горькой редьки, но все остальное в компании вас более чем устраивает. Беда в том, что руководитель ни в какую не хочет отпускать вас на другой проект — здесь вы практически незаменимы.
Как исправить
Во-первых, примите как факт, что каждый человек вправе отстаивать свою точку зрения. Для компании вы максимально полезны именно там, где сейчас находитесь. Что ж, вам это, несомненно, льстит, но это совсем не значит, что нужно задвигать свои устремления куда подальше. Лучше обсудите с руководителем: каким образом высвободить вас из проекта без потерь для обоих сторон? Возможно, компания сможет нанять нового сотрудника, которого вы всему обучите за оговоренный срок, и уже тогда, переложив на него груз ответственности за проект, с чистой совестью сможете вливаться в новый. Или даже проще: вероятно, кто-то из ваших коллег после должной подготовки под вашим чутким руководством, разумеется, вполне справится с этой ролью. Да, оба варианта потребуют времени и усилий. Но результат будет устраивать всех.
Общий вывод
Уважайте цели друг друга. Научитесь слушать и слышать собеседника, чтобы вместе отыскать то решение, которое в перспективе устроит всех. Это сложно, но в большинстве случаев все же вполне реализуемо.
Конфликт ценностей
Это самый сложный конфликт. И самый заметный. То, что принципиально важно для одного, категорически неприемлемо для другого. Загвоздка в том, что ценности так просто не меняются. Они формировались у каждого на протяжении всей прожитой жизни и влиянию поддаются крайне слабо.
Пример
Вы пришли работать в новую компанию в качестве разработчика и настроены писать идеальный, красивый код. Но оказывается, что здесь это не в почете и главное — скорость. Вас постоянно подгоняют, ужимают сроки и вообще не разделяют ваших взглядов о красоте того, что «под капотом». Работает — и ладно.
Как исправить
Что ж, если этой позиции придерживается большинство сотрудников и даже руководство, максимум, что вы можете сделать, — озвучить свою позицию максимально четко и привести аргументы «за». Есть небольшая вероятность, что к вам прислушаются. Но скорее всего нет. Поэтому выхода остается только два: подстраиваться под окружение или искать новую работу. Первый вариант вряд ли приведет вас к чему-то хорошему, ведь придется идти вразрез со своими ценностями, а следовательно — выгорание, недовольство собой, раздражение и еще больше конфликтов. Так что второй вариант в таком случае окажется наиболее верным.
Общий вывод
Общность ценностей невероятно важна для благополучия коллектива в целом и для каждого сотрудника в частности. Ищите компанию себе по душе, такую, где взгляды компании на разработку созвучны с вашими личными, тогда вероятность того, что вы столкнетесь в рабочем процессе с человеком, не разделяющим ваши ценности, будет минимальной. И даже если такой коллега встретится на вашем пути, вряд ли он задержится на этом месте работы надолго, ведь в этом случае именно он окажется в меньшинстве.
Вот и все. В заключение хотелось бы напомнить, что конфликты — это не то, чего стоит всеми силами избегать. Ими нужно научиться управлять, и тогда вместо безвыходной ситуации вы получите новые идеи и мощный толчок в развитии себя как профессионала. Как говорится, в споре рождается истина.
Спасибо за внимание!