Это волшебные ингредиенты для отличных команд разработчиков программного обеспечения, но что это такое и как их получить?

Работая в сфере технологий, вы часто слышите слова «подотчетность» и «собственность».

Они всегда упоминаются вместе, как две стороны разговорной медали. Кажется, все согласны с тем, что они хороши, и что мы хотим, чтобы их было больше. Мы искренне киваем с серьезным и одобрительным выражением лица. "Да, конечно. Нам необходимо создать сильную культуру подотчетности и ответственности».

Хорошо, но… что это значит? А как вы на самом деле это делаете?

Вот моя очень простая отправная точка.

  • Подотчетность – это забота о том, что происходит.
  • Владение — это возможность что-то с этим сделать.

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

Подотчетность

Слово «ответственность» вызывает у людей дискомфорт. Люди немного корчатся и опускают глаза, когда вы это говорите, даже когда они кивают и отвечают: «Да, еще!»

Я просмотрел несколько словарей. Они склонны определять «подотчетность» как принятие на себя ответственности за свои действия и желание или возможность их оправдать. Причина, по которой это вызывает у людей дискомфорт, заключается в том, что это звучит очень похоже на причудливую версию слова «винить». Он вызывает в воображении образы неудач и разногласий; обороноспособности и враждебности.

Такой ответственности нет места в хорошей разработке программного обеспечения или в любой здоровой рабочей культуре.

Вместо этого я определил подотчетность как «заботу о том, что происходит».

Это гораздо более привлекательное определение. Забота может быть хорошим чувством, а не плохим. Инженеры заботятся о том, что происходит, когда мы гордимся работой, которую делаем. Я несу ответственность, когда забочусь о качестве своего кода и его влиянии на моих коллег-разработчиков и клиентов.

Если вы больше привыкли к «обвиняющей» версии ответственности, подумайте об этом. Все вещи, которые обычно связаны с ответственностью, — это вещи, которые вы уже сделаете, если вам не все равно, и о которых вы не захотите беспокоиться, если вам все равно. Люди, которым небезразлично, что происходит, потратят время на принятие обдуманных решений. Когда что-то пойдет не так, они будут чувствовать себя плохо и захотят извлечь из этого урок и исправить ситуацию. Они будут создавать процессы, обеспечивающие и обеспечивающие ответственное поведение самих себя и друг друга. Это люди, которым вы хотите, чтобы они работали на вас.

Так где же все эти мифические ответственные люди и как их нанять? Этот тип ответственности может показаться неуловимым, потому что по своей природе он является внутренним мотиватором, а не внешним. Вы не можете заставить кого-то заботиться, и попытка заплатить им за заботу тоже мало поможет. Конечно, вы можете вытащить их из постели посреди ночи, чтобы починить сломанную систему, но вы не можете заставить их радоваться этому.

К счастью, забота о том, что происходит, является позицией по умолчанию.

Эти таинственные ответственные люди, которым небезразлично, что происходит, на самом деле все мы, включая вас. Каждый инженер хочет хорошо работать и производить что-то, чем мы гордимся. Несмотря на то, что люди могут говорить, мы на самом деле хотим следить за развитием нашего кода на всем пути к производству. Нам нравится осознавать, что он работает безопасно и успешно, принося пользу клиентам.

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

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

Самый быстрый способ заставить кого-то не заботиться о чем-то — сделать так, чтобы он не мог ничего с этим поделать. Что плавно подводит нас к следующей теме.

Владение

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

Однако это тяжелая работа. Работа инженером-программистом иногда больше похожа на бюрократию, чем на программирование. Для каждого изменения кода, поступающего в производство, могут быть планы загрузки, проверки соответствия, контроль качества и процессы выпуска.

Все эти препятствия могут разочаровать инженера, который стремится решать проблемы и приносить пользу.

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

Вместо того, чтобы предписывать процессы, успешные компании обучают инженеров своим реальным бизнес-целям и связанным с ними требованиям. Если вы считаете, что вам нужно предоставить доказательства определенного типа проверки безопасности или контроля качества для соблюдения контрактов или правил, не просто дайте инженерам процесс, которому нужно следовать, и форму для заполнения. Вместо этого объясните им зачем нужен процесс, а детали пусть придумают сами. У них, конечно, будут вопросы. Хорошие инженеры — логически мыслящие и строгие аналитики. Но они также являются практическими искателями решений. Как только они поймут реальную проблему, которую необходимо решить, они возьмут на себя ответственность и разберутся сами. Право собственности на инженерное дело всегда нужно брать, а не отдавать.

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

Чтобы дать кому-то инструменты, чтобы что-то починить, вы также должны дать ему инструменты, чтобы это сломать.

Таким образом, владение требует скачка. С одной стороны, это требует, чтобы бизнес верил, что их инженеры заботятся о нем. Но забота о том, что происходит, — уязвимое место. Инженер, который заботится о том, что происходит, рискует собственным эмоциональным состоянием на благо бизнеса. Таким образом, инженер также должен верить, что бизнес не поставит его в положение, когда эти эмоциональные инвестиции приведут только к разочарованию и бессилию.

Только тогда, когда обе стороны совершат скачок одновременно, могут возникнуть реальная ответственность и ответственность.