Такие компании, как GE и Westpac, обладают общедоступными системами проектирования, что позволяет командам по разработке быстро продвигаться вперед, не переписывая внешний код и не заботясь о таких вещах, как цвет кнопки. Эти системы проектирования по существу являются полноценными платформами, созданными для облегчения повседневной работы группы управления. Используя данные платформы, команды могут использовать предварительно утвержденные элементы: им не нужно обсуждать незначительные решения о том, как должен выглядеть продукт. Это позволяет командам сосредоточиться на инновационных, уникальных и сложных составляющих системы, а также двигаться в том темпе, который способствует содержательному разговору с рынком. Один из менеджеров отметил, что система проектирования «это то, что позволяет нам так быстро продвигаться вперед. Мы никогда не увязнем в разговорах о том, что уже было решено».
КОНТРОЛЬ ОПЫТА КЛИЕНТОВ: ФУНКЦИИ И ЭКСПЕРИМЕНТЫ
Итак, поставляемое программное обеспечение соответствует стандартам организации и хорошо выглядит. Но менеджерам необходим способ контролировать функции, выпускаемые на рынок. В конце концов, тот факт, что вы можете предоставлять рынку программное обеспечение по несколько раз в день, не означает, что вам хочется это делать. И менеджерам необходимо внедрять новые идеи таким образом, чтобы они отвечали их собственным целям и целям заказчика.
В большинстве организаций, реализующих DevOps-подходы, менеджеры способны контролировать то, какие конечные пользователи видят новые функции и когда. Этот контроль осуществляется с помощью так называемых флагов функций или переключателей функций. Можете считать, что они предназначены для включения или отключения функций. Но они позволяют менеджерам по продукции, например, экспериментировать с новыми функциями, предоставляя их только небольшой, выбранной группе пользователей. Флаги функций позволяют проводить A/B-тестирование альтернативных версий функции и убирать те, которые вызывают замешательство. И, как правило, они указывают, что решение о развертывании программного обеспечения, скорее, является бизнес-решением, а не техническим решением.
Хорошая новость заключается в том, что эта возможность предоставляет менеджерам новую колоссальную власть. Более того, она позволяет организациям гораздо более детально контролировать, что и когда видит клиент. Таким образом, весь жизненный цикл функции может быть передан под контроль разработавшей ее команды. С другой стороны, иногда бывают веские организационные причины для координирования выпуска функций. Например, многие розничные онлайн-магазины ограничивают внесение изменений на своем веб-сайте во время сезона праздничных покупок. Это основное «окно» для заработка, и на этот период осторожность должна быть гарантирована. У других компаний тоже могут быть клиенты, которые не склонны к изменениям: торговец, который использует онлайн-сервис для расчета ежемесячной заработной платы, не хочет каждый месяц изучать новые функции. И, конечно, некоторые ситуации имеют последствия для безопасности, поэтому поставщикам таких систем нужно поддерживать соответствующий контроль.
Тем не менее многие из формальных механизмов контроля за выпуском, которые были реализованы в более ранней технологической эпохе, потеряли свою актуальность. К примеру, в 2002 году правительство США ввело в действие мандаты, определяющие порядок выпуска нового программного обеспечения. Среди прочего, они предусматривают, что все государственные учреждения проводят оценку воздействия на конфиденциальность (PIA) любого обновления системы, которое собирает личную информацию. Этот механизм был предусмотрен исключительно из благих побуждений, но, когда PIA занимает три недели, это вызывает значительные проблемы для agile-команды, нацеленной ежедневно выпускать программное обеспечение. Команды разработчиков правительства США в эту самую минуту борются с этой проблемой.
Здесь нет общего решения, за исключением того, чтобы признать принцип, согласно которому полномочия на выпуск должны быть максимально ограничены (в большинстве случаев уровнем команды). Также должны быть установлены четкие пределы полномочий и действий, чтобы команды знали, когда им нужно координировать свои усилия с другими для принятия решений о выпуске продукции.
СОЗДАНИЕ «ПЕСОЧНИЦЫ»: БЕЗОПАСНОГО МЕСТА ДЛЯ ИГРЫ
Давайте на минуту вернемся к обсуждению идеи руководства. В хороших указаниях подчиненным сообщается их задача, которая должна быть завершена в рамках желаемого результата. В них не уточняется, как именно подчиненные должны выполнить задачу. Выбор тактики, в рамках определенных ограничений в основном ложится на плечи людей, выполняющих указания. Последняя часть является важной. Сотрудникам предоставляется свобода действий, однако эта свобода не является абсолютной. Она существует в рамках четко определенных ограничений.