Еще одна проблема скорость. Цифровые компании могут превратить отличную идею в работающий код за считаные недели или даже дни. Они ежедневно представляют новые версии программ. Чтобы идти в ногу с технологиями, традиционным компаниям необходимо ускориться. «Вы больше не можете позволить себе тратить шесть или 12 месяцев на разработку программ перед их запуском», утверждает Фогельс. Не верите? Спросите у Blockbuster. Спросите у Borders. Спросите у Nokia. Спросите у Yellow Taxi. Эти компании стали жертвами цифровой революции, потому что не успели достаточно быстро адаптироваться к новой реальности.
Как мыслят разработчики программного обеспечения
Чтобы действительно преуспеть в цифровую эру как цифровой революционер или тот, кто защищается от цифрового подрыва, нужно мыслить как разработчик программного обеспечения. Теперь к этой категории относятся не только те, кто пишет программы, но и те, кто, столкнувшись с проблемой, задает вопрос: «Как программное обеспечение может решить эту проблему?» Иными словами, это образ мышления, а не просто набор навыков.
Разработчики это те, кто видит мир через программное обеспечение. Они бесконечно оптимистичны, поскольку верят, что любая проблема бизнеса будет решена, стоит только перенести ее в сферу программного обеспечения. Перенос все большего и большего числа мировых проблем в сферу программного обеспечения именно то, чем специалисты по высоким технологиям занимались последние 70 лет.
Если вдуматься, то компьютер это машина, выполняющая математические вычисления, с набором подключенных датчиков (входов) и исполнительных механизмов (выходов). Датчики и исполнительные механизмы единственный способ узнать, что происходит внутри машины, и на историю компьютеров вполне можно смотреть как на непрерывное усложнение датчиков и исполнительных механизмов, которые позволяют нам «вычислять» все в большем и большем масштабе. Первые два десятилетия вычислительной техники, 1950-е и 1960-е гг., были связаны с математическими вычислениями, и мы применяли перфокарты для ввода и вывода цифровых данных. Программы обрабатывали именно эти цифровые данные. Компьютеры использовались практически только для расчета траекторий ракет и государственного долга. В 1960 г. в мире существовало всего несколько тысяч компьютеров. Но после усовершенствования датчиков и исполнительных механизмов появилась возможность вводить в компьютеры текст и применять программное обеспечение к текстовым задачам. В следующие два десятилетия обрабатывались уже тексты, а не только числовые данные. Появление клавиатур и принтеров в 1970-е и 1980-е гг. открыло дорогу текстовым редакторам, настольным издательским системам и электронным таблицам, и персональный компьютер стал атрибутом каждого рабочего места. Прогресс в сфере датчиков и исполнительных механизмов затем позволил оцифровывать аудио- и видеоинформацию. Компьютеры получили сложные графические и звуковые карты, а 1990-е и 2000-е стали годами мультимедиа они принесли нам звуковые файлы в формате MP3, компьютерные игры и возможность реализации спецэффектов в таких фильмах, как «Парк юрского периода». Сегодня, имея в кармане постоянно включенные смартфоны, мы несем с собой массу датчиков и исполнительных механизмов, постоянно подключенных к интернету, что превращает весь остальной мир в сферу программного обеспечения. Таким образом, 2010-е и 2020-е гг. связаны с вычислениями практически всего сущего. Именно это сделало последнее десятилетие (и сделает следующее десятилетие) таким захватывающим. Набор проблем, к которым можно применить программный образ мышления, растет взрывными темпами.
И дело не в самом программном обеспечении разработчиками движет быстрота адаптации ПО. Цикл начинается с выслушивания клиентов, быстрого предложения первоначального решения их проблем, и затем идет получение откликов клиентов и непрерывная доработка и улучшение продукта. Разработчики могут применять этот процесс для решения все большего числа мировых проблем. Мне особенно приятно наблюдать за таким процессом в традиционно аппаратных сферах, потому что там, когда разработчик применяет свой подход, можно увидеть физическую реализацию эволюции в пластике, металле и стекле.
Вспомните, что компания Apple сделала с пультом дистанционного управления телевизора. До того как Apple выпустила медиаплеер Apple TV, приставки снабжались пультом дистанционного управления с чуть ли не сотней кнопок. Некоторые компании даже хвастались в рекламе количеством кнопок. Рядом с каждой кнопкой была надпись «Громкость больше/меньше», «Номер канала больше/меньше», «Избранное», «Картинка в картинке», «Источник сигнала», «Меню» и т. д. Первый пульт Apple TV имел всего семь кнопок. Почему? Потому что все функции медиаплеера Apple TV были заложены в программное обеспечение данного устройства. Это давало Apple возможность учиться у клиентов и постоянно дополнять программное обеспечение новыми функциями. Разработчики не могут улучшать то, что отлито в пластике и металле, после выпуска изделия с завода его функциональность остается неизменной. Так что решение убрать кнопки с пульта не только эстетично, но и отражает стратегию развития высоких технологий. Когда я впервые увидел минималистичный пульт Apple TV, то подумал: «О, это уже игра на уровне программного обеспечения».
Вспомните, что компания Apple сделала с пультом дистанционного управления телевизора. До того как Apple выпустила медиаплеер Apple TV, приставки снабжались пультом дистанционного управления с чуть ли не сотней кнопок. Некоторые компании даже хвастались в рекламе количеством кнопок. Рядом с каждой кнопкой была надпись «Громкость больше/меньше», «Номер канала больше/меньше», «Избранное», «Картинка в картинке», «Источник сигнала», «Меню» и т. д. Первый пульт Apple TV имел всего семь кнопок. Почему? Потому что все функции медиаплеера Apple TV были заложены в программное обеспечение данного устройства. Это давало Apple возможность учиться у клиентов и постоянно дополнять программное обеспечение новыми функциями. Разработчики не могут улучшать то, что отлито в пластике и металле, после выпуска изделия с завода его функциональность остается неизменной. Так что решение убрать кнопки с пульта не только эстетично, но и отражает стратегию развития высоких технологий. Когда я впервые увидел минималистичный пульт Apple TV, то подумал: «О, это уже игра на уровне программного обеспечения».
Тот же образ мышления Стив Джобс применил при разработке iPhone в 2007 г. Он высмеивал телефоны с физической клавиатурой, поскольку, по его замечанию, такая клавиатура всегда была на месте независимо от того, нужна она или нет. Такую клавиатуру нельзя обновить, на ней невозможно изменить язык, и, конечно, ее нельзя убрать, когда она не нужна. Физическая клавиатура и зашитый на заводе язык навечно оставались с устройством. Клавиатура iPhone это программное обеспечение. Она исчезает, когда не нужна, т. е. ее не видно большую часть времени. При необходимости ее можно переключить на эмодзи или другой язык, если вы полиглот. Это означает, что Apple может поставлять одно устройство во все страны мира. Нужный язык это просто программное обеспечение, а не то, что зашивается только на заводе-изготовителе.
Другой пример считыватель кредитных карт Square. Традиционные устройства для работы с кредитными картами солидные конструкции с экраном как у калькулятора для научных расчетов из 1990-х гг. и клавиатурой. Когда появляется новый метод оплаты или экраны с разрешением более чем в сотню пикселей, то подобное устройство приходится менять. Ведь все, что мог делать традиционный считыватель, зашивалось на заводе в пластик и кремний. Считыватель Square это всего лишь небольшой интерфейс, необходимый для связи физического мира (считывателя магнитной полосы) с миром программного обеспечения. Все остальное делает программное обеспечение, которое компания Square может обновлять еженедельно. Программное обеспечение становится совершеннее с каждой версией оно получает новые функции, а ошибки в нем исправляются. Считыватель Square может улучшаться и обучаться так же быстро, как и программные средства, потому что его разработчики вложили в программное обеспечение абсолютно все, оставив только минимальную пластиковую конструкцию, необходимую для выполнения работы. С приходом бесконтактных платежей исчезает все большее число физических элементов. Чем меньше вокруг аппаратных средств, тем больше делают программы.
Еще один пример электромобили Tesla. У обычного автомобиля на приборной панели десятки кнопок. У большинства электромобилей Tesla всего четыре кнопки и два колесика прокрутки на рулевом колесе. Все остальное это программное обеспечение, работа которого отображается на гигантском экране. На кнопках Tesla даже нет надписей. Это значит, что все можно рассматривать как программное обеспечение, которое обновляется по мере того, как компания Tesla получает отзывы клиентов. Обновляется не только информационно-развлекательная система электромобиля (туда, например, добавили функцию караоке и YouTube), но и важные функции безопасности.
В октябре 2013 г. один владелец Tesla S наехал на камень, который повредил аккумулятор, что вызвало пожар. Система безопасности предупредила водителя о возникшей проблеме, он благополучно съехал на обочину и вышел из машины за несколько минут до того, как пламя охватило электромобиль. Но для компании Tesla это была PR-катастрофа. Чтобы сделать автомобиль безопаснее, конструкторы Tesla решили увеличить клиренс электромобиля на один дюйм при выходе на высокую скорость. В большинстве компаний это потребовало бы отзыва автомобилей, что обошлось бы производителю в десятки или сотни миллионов долларов и создало бы неудобства для владельцев машин. Но Tesla всего лишь произвела рассылку обновления, изменившего параметры подвески электромобиля, и проблема была решена. Вот так работает программное мышление.