Страница 6 из 13
Рассмотрим один потрясающий факт: Amazon выпускает очередное обновление программного обеспечения каждые 11,6 секунд[6]. Возможно, это происходит благодаря набору приемов, называемому непрерывным развертыванием. По сути, непрерывное развертывание позволяет разработчикам программного обеспечения поддерживать системы в состоянии постоянной готовности и вносить в них дополнительные изменения. Amazon занимает лидирующие позиции в этой сфере, но для других крупных компаний ежедневное обновление программного обеспечения стало обычным делом, а во многих компаниях это происходит по несколько раз за день.
Что это означает в плане управления? Мы считаем, что не будет преувеличением сказать, что это меняет всё. В цифровом мире больше нет никакого «промышленного производства». В мире с зафиксированными стадиями производственного процесса цена изменений высока: всякий раз, когда вы вносите изменения в продукт, вам нужно снова проходить через весь процесс производства, а это влечет за собой расходы. Таким образом, есть смысл ограничивать частоту изменений в производимых товарах. Однако, освобожденные от производственной стадии процесса, мы устраняем этот сдерживающий фактор. Ограничения на изменения существуют в других частях системы – например, сколько изменений может «переварить» пользователь или сколько изменений мы можем внести без ущерба качеству или увеличения других затрат. Но как демонстрируют лидеры отрасли, такие как Amazon, эти ограничения гораздо менее жесткие, чем мы могли бы представить. На практике теперь можно представлять новые функции, возможности и услуги клиентам и собственным сотрудникам на постоянной основе и в удивительно быстром темпе.
Поиск ценности в неопределенности
Почему Amazon так часто выпускает обновления? Не просто потому, что он это может. Нет, выпуск программного обеспечения зачастую является единственным индикатором подхода «почувствовать и отреагировать». Такой подход к работе подразумевает оперативные циклы чувствования того, что нужно рынку, и быстрое реагирование на эти потребности. Как вы убедились на примере с Facebook, этот подход позволяет командам понять всю сложность продукта, уменьшить неопределенность и найти новые конструктивные решения.
Давайте рассмотрим некоторые преимущества такой работы.
Первое поколение потребительского программного обеспечения изменило методы нашей работы. Электронные таблицы и текстовые программы обеспечили резкий рост в личной производительности. При этом программное обеспечение первого поколения также было гибким. Это выражалось в том, что, когда организации пытались предоставлять цифровые услуги, зачастую результат был плачевным. Неэффективным. Сбивающим с толку. Сложным в использовании.
Представьте, что вы звоните, например, в колл-центр, чтобы узнать о своем телефонном счете. Как часто вы слышали, чтобы оператор колл-центра не справляется со своей компьютерной системой? В прошлом часто приходилось подстраивать бизнес-процессы и поведение клиентов под то, как работает программа, поскольку скорость, с которой мы могли изменить программу, была медленной. Как-то раз мы подслушали беседу группы руководителей производства пластмассы, сравнивающих контрольные показатели в процессе обслуживания клиентов. Они оценивали, сколько заказов каждая из компаний обрабатывала ежедневно. Средним значением, кажется, было тридцать заказов в день. Затем один из руководителей сказал: «Мы обрабатывали около тридцати заказов в день. Потом мы установили новую систему приема заказов. Теперь мы обрабатываем примерно два заказа в день».
Благодаря новой возможности изменять программу на постоянной основе, у компаний также появились новые возможности – предоставлять клиентам услуги, основанные на электронных способах. Программное обеспечение, которое может быть весьма гибким, теперь оправдывает свой «программный» потенциал, и эта гибкость предоставляет нам новую общую маневренность, когда дело касается предоставления услуг рынку. Если раньше мы порой внедряли недостаточно востребованные услуги, то теперь мы можем корректировать их до тех пор, пока они не станут эффективными. И если нам нужно изменить стратегию или процесс, мы можем внести коррективы в программное обеспечение, которое легко их поддержит.
Если вы следите за новостями, то наверняка слышали о крупных технологических проектах, которые терпят неудачу. Недавний заголовок на CIO.com был весьма прямолинейным: «Успешность корпоративного программного обеспечения остается расплывчатой»[7]. Аналитики The Standish Group, изучающие результативность технологических проектов, уже много лет проводят сравнительной анализ отрасли. Самое последнее исследование показывает, что частота неудач ИТ-компаний составляет около 70 %, что, конечно, лучше, чем 80 % в 1990-х годах, но все же.
В Массачусетсе, например, правительство штата потратило более девятнадцати лет и больше 75 млн долларов на систему, которая соединяла суды штата друг с другом. Создание этой системы должно было занять пять лет. Однако спустя девятнадцать лет многие обозреватели считают проект незавершенным и бесполезным. И это очень дорогостоящая неудача.
Методы «почувствовать и отреагировать» могут в этом случае помочь. Традиционные ИТ-проекты склонны придерживаться подхода «большого взрыва» (Метод тестирования «большой взрыв» – вид интеграционного тестирования, в котором элементы программного или аппаратного обеспечения, или они оба, собираются в компонент или в целую систему сразу, а не по этапам – перев.), при котором программное обеспечение не предоставляется пользователям до тех пор, пока оно не будет готово «под ключ». Это означает, что до самого завершения проекта трудно сказать, находится ли построение системы на правильном пути. В то же время agile-подход, лежащий в основе метода «почувствовать и отреагировать», позволяет решить эту проблему путем частого запуска рабочих вариантов системы с самых ранних дней проекта. Это уменьшает риск того, что команда разработчиков отклонится от курса, и позволяет наблюдать за тем, что делает команда, поскольку она постоянно делится результатами своего труда.
Эта прозрачность является ключевым фактором, поскольку подразумевает наличие обратной связи. Работает ли программное обеспечение? Отвечает ли оно потребностям пользователя? Отвечает ли оно целям, которые преследует компания? Зачем тогда ждать до конца проекта?
Представьте на мгновение, что вы являетесь исполнительным директором компании Amazon. Вы владеете огромной интернет-компанией, и, когда люди что-то у вас покупают, вы зарабатываете на этом деньги. Чтобы потребители могли что-нибудь у вас купить, они должны завершить процесс оформления заказа на вашем сайте. Таким образом, в ваших интересах оптимизировать процедуру оформления заказов так, чтобы люди могли успешно с этим справляться. Вы не хотите запутывать их. Не хотите отвлекать их. Вы хотите вести их по течению до тех пор, пока они не завершат транзакцию.
Один из приемов, который использует Amazon и похожие компании, направленный на очень быструю оптимизацию процесса, заключается в выпуске различных версий какой-либо части веб-сайта (например, процедуры оформления заказов) и направлении входящего трафика в разные версии для сравнения их производительности. Это научный метод в действии. Он получил название A/B-тестирование и стал стандартным приемом в онлайн-мире. Например, этот метод был использован командой Facebook для тестирования своих решений относительно проблемы жалоб на фотографии. Такие компании, как Amazon, ежедневно осуществляют множество тестирований для оптимизации своих потоков. И хотя может показаться, что эти процессы оптимизации не очень ценны, на самом деле все наоборот. В одном хорошо известном случае крупный онлайн-ритейлер запустил годовой объем продаж в 300 млн долларов, изменив текст для одной из кнопок в процедуре оформления заказа[8].
6
Jon Jenkins, “Velocity Culture,” 2011, https://www.youtube.com/watch?v=dxk8b9rSKOo.
7
Chris Doig, “Enterprise Software Project Success Remains Elusive,” CIO.com, October 23, 2015, http://www.cio.com/article/2996716/enterprise- software/ why- is- success- with-enterprise-software-projects-soelusive.html
8
Jared M. Spool, “The $300 Million Button,” User Interface Engineering, January 14, 2009, https://articles.uie.com/three_hund_million_button/.