Составление плана
После некоторого размышления мы решили перейти к проверенной методологии для инженерных команд — мы решили, что хотим стать более гибкими.
Чтобы решить эту новую задачу, мы хотели собрать группу, которая представляла бы и использовала знания всей нашей продуктовой и инженерной организации, поэтому мы создали комитет с восемью членами, представляющими управление продуктом, дизайн и разработку. Мы включали как менеджеров, так и отдельных участников, а также людей с разным уровнем Agile-подготовки, стажа и опыта.
Этот Agile-комитет, как мы его назвали, подошел к ситуации, твердо помня несколько ключевых принципов:
- Мы хотели использовать проверенные решения, где это возможно, как в методологиях, так и в программном обеспечении. Чтобы быть уникальными, нужно приложить много усилий, и мы хотели быть уникальными только в необходимых и стратегических областях. Мы также хотели, чтобы люди могли использовать Google передовые методы управления своей работой или, что еще лучше, чтобы люди присоединялись к Braze, уже зная, как это сделать.
- Мы хотели, чтобы команды инженеров по продуктам в Braze были в значительной степени последовательны в том, как они работают, потому что способность говорить на одном языке ценна.
- Мы не хотели делать что-либо догматически или непродуманно. Просто выбрать метод, а затем следовать книге было недостаточно; для нас было важно, чтобы здравый смысл и продуманная итерация правили днем.
Вооружившись этими рекомендациями, мы решили использовать Scrum, гибкую структуру, доказавшую свою эффективность во многих организациях. Он широко известен, масштабируем и является безопасным выбором по умолчанию, когда вы хотите внедрить Agile-процесс.
Затем мы столкнулись с двумя основными решениями: (1) какие инструменты мы должны использовать для поддержки нашего нового процесса и (2) как мы должны внедрять изменения в наш процесс. Мы обсудили, оценили и продемонстрировали несколько программных продуктов, и в конечном итоге Jira от Atlassian оказалась для нас правильным выбором. Это хорошо зарекомендовавшее себя решение, несколько человек в нашей команде уже имели опыт его использования, и другие команды в Braze уже использовали его, открывая возможность для лучшего сотрудничества между командами, потому что мы все работали в одной системе.
Когда дело дошло до выбора плана развертывания Agile, нам нужно было принять несколько ключевых решений. Во-первых, как мы обучаем/включаем команду? Мы могли бы нанять тренера по Agile, привлечь опытных людей в команду для обучения других или привлечь консультантов для помощи. Во-вторых, должны ли мы заставить инженерные команды, имеющие некоторый опыт работы с Agile, ждать обучения, прежде чем внедрять его?
В конце концов, мы решили позволить командам, знакомым с Jira и Scrum, приступить к работе в той мере, в какой они чувствовали себя в состоянии, и наняли консультанта, чтобы помочь с переходом в масштабах всей организации. Мы не были заинтересованы в том, чтобы люди в нашей команде или независимый игрок несли основную ответственность за обучение членов команды во время перехода, потому что:
- Мы не хотели, чтобы какая-либо отдельная команда владела тем, как мы применяем Agile, и мы чувствовали, что обучение будет лучше воспринято, а предложения будут более всеобъемлющими, если они поступят от третьей стороны.
- Мы думали, что консалтинговый бизнес будет более стабильным и надежным, чем индивидуальный Agile-коуч.
- Мы хотели провести базовое обучение для всей инженерной организации и начать без каких-либо предположений о знаниях, которыми обладали отдельные члены организации в отношении Agile.
- Наконец, мы хотели, чтобы тренеры уходили в определенный момент, чтобы было ясно, что каждый в нашей организации несет ответственность за поддержание процесса в будущем.