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