Как стать автором
Обновить

Батхёрт Разработческий: как победить?

Разработка веб-сайтов *Клиентская оптимизация *Управление разработкой *Управление проектами *
Итак, начнём с определений. Батхёрт разработческий – особая разновидность батхёрта, которая проявляется в виде полного отрицания возможностей улучшения продукта разработчика без его участия (далее БР). Приводит к различным видам саботажа и деградации самого продукта. Эта статья – попытка осветить проблему и поискать возможности её решения.


Где можно встретить БР?


Немного контекста. Мы занимается услугами по ускорению сайтов. Обычно это работы над клиентской частью и немного серверного тюнинга. Иногда приходится внедряться в чужой серверный код для решения проблем производительности. В случае наличия команды разработчиков у клиента мы регулярно встречаемся с батхёртом у них.

Для формирования БР нужно три стороны. Далее опишем их вместе с интересами, которые приводят к ситуации батхёрта.

Первая сторона – это команда разработчиков, которая должна иметь достаточную историю взаимодействия с кодом проекта (например, разработка с нуля или долговременная поддержка). Их основные интересы: сохранить собственный авторитет, самооценку и остаться в проекте, доказать свою незаменимость.

Вторая сторона – это другая команда разработки, приглашённая для решения локальных задач: доработка какого-то компонента, аудита проекта, решения проблем производительности, консультации. Их интересы: успешно провести проект, получить кейс, повысить репутацию, дополнительные продажи услуг.

Третья сторона – владелец или менеджер проекта, который и пригласил вторую команду для решения локальной задачи. Его интересы: улучшить качество проекта, решить проблемы для пользователей, увеличить доходы проекта (при этом не потеряв контроля и сохранив все сильные стороны, включая команду разработки).

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

В чём проблема?


Сложности возникают при попытке взаимодействия команд разработчиков. Первая команда (старожилы проекта) не заинтересована в успехе работы приглашённой команды (или не хочет в него верить). Результат: саботаж всех действий. Начинается это процесс с затягивания сроков передачи доступов к программному коду проекта и заканчивается на блокировке внедрения изменений. Отказ в доступах легко мотивируется вопросами безопасности, внедрение изменений блокируется на базе оценки изменений кода, которые оказываются «неправильными», «ненужными» и «непрофессиональными».

Далее, руководителю проекта докладывается о полном провале приглашённой команды и необходимости отката всех изменений.

Перед руководителем проекта возникает сложный вопрос доверия: с одной стороны команда, которая погружена в проект, имеет значительный лимит доверия (проект как-никак работает). С другой стороны – приглашённая команда, с которой он работает первый раз, лимит доверия которой заведомо ниже.

Если руководитель обладает достаточной технической подготовкой и сможет разобраться в реальном положении дел – хорошо. Однако, на этом история не закончится. Далее ему придётся продавить свою команду принять изменения и «посыпать голову пеплом». Это может в свою очередь вызвать новые проблемы.

Если руководитель не может самостоятельно разобраться в деталях спора, то скорее всего он выберет путь наименьшего сопротивления – отказаться от проекта с приглашённой командой и принять точку зрения своих разработчиков. Этот вариант наименее конфликтный, но приводит к провалу начальной задачи (доработка проекта, аудит).

Как лечить?


Здесь у меня нет однозначного ответа. Могу предложить только несколько методов.

Метод №1 – коммуникации. С самого начала нужно наладить эффективную связь между командами разработки, объяснить всем сторонам цели и задачи проекта. Здесь важна обратная связь и понимание процесса всеми сторонами. Неизвестность порождает страх и недоверие.

Метод №2 – отключаем эмоции. Все мы люди и нам свойственно реагировать эмоционально. Особенно это актуально, когда речь идёт о своём детище (программном коде). Вся аргументация в спорах должна быть основана на объективных данных и логике (если в вашем проекте есть четкие критерии и метрики – отлично). Ни в коем случае нельзя переходить на личности и терять деловой тон общения.

Ну и последний, который метод профилактики, а не лечения – страхуйте риски. Если заранее знать о проблеме батхёрта, можно предусмотреть этот риск в договоре, предупредить заказчика и т. д.

А вы встречались с батхёртом разработчиков в своей практике (с любой стороны)? Как боролись?
Теги:
Хабы:
Всего голосов 24: ↑4 и ↓20 -16
Просмотры 2.9K
Комментарии 31
Комментарии Комментарии 31

Публикации