Почему это так?
Думаю, все объясняется ошибочным разделением бизнесменов и разработчиков программного обеспечения. Часто взгляды и замыслы бизнесменов не совпадают с представлениями разработчиков о том, что они должны делать. Вместе с тем, как ни удивительно, бизнесмены и разработчики программного обеспечения нередко хотят одного и того же – создавать потрясающие продукты, которые восхищают клиентов, массово используются и приносят много денег. Однако бизнесмены и разработчики часто говорят на разных языках и имеют разные стили работы, и эти различия мешают им эффективно сотрудничать для достижения общих целей.
«Спроси разработчика» – это не просто набор навыков, это образ мышления. За последнее десятилетие я видел немало людей с таким мышлением в разных функциональных подразделениях – от финансов до поддержки клиентов, от маркетинга до производства, от продаж до разработки продукта, – которые строят цифровое будущее своих компаний. Все они являются создателями. Существует ошибочное мнение, что цифровая революция – дело рук разработчиков. Это не так. Да, компаниям нужны разработчики для создания программного обеспечения. Но в действительности им требуется успешное сотрудничество между всеми функциональными подразделениями и разработчиками программного обеспечения, которые пишут код. Иначе говоря, общие усилия.
Я – разработчик программного обеспечения и пишу коды почти 25 лет, но теперь я еще и генеральный директор публичной компании с несколькими тысячами сотрудников, рыночная капитализация которой летом 2020 г. составила $25 млрд, доход превысил $1 млрд, а число клиентов приблизилось к 200 000. Я все еще пишу коды, но львиную долю времени выполняю функции генерального директора публичной компании. Это ставит меня в уникальное положение, помогая соединить эти две точки зрения и два стиля работы и добиться более гармоничных взаимоотношений между бизнесменами и разработчиками программного обеспечения. В этом и заключается цель настоящей книги: мышление в духе «Спросите своего разработчика» призвано помочь бизнесменам лучше понять технарей и сотрудничать с ними для достижения общих целей.
Если вы, как руководитель бизнеса, призываете к цифровой трансформации, но изменения происходят недостаточно быстро, то книга «Спроси разработчика» поможет найти и мобилизовать таланты, необходимые для ускорения перехода.
Если вас разочаровывает медлительность команд разработчиков, то мышление в духе «Спросите своего разработчика» поможет раскачать эти команды, которые, можете поверить мне, тоже хотят двигаться быстрее.
Если, на ваш взгляд, технические команды работают усердно, но упускают из виду важные потребности клиентов, то книга «Спроси разработчика» поможет добраться до причин организационных проблем, мешающих пониманию клиентов.
Если конкуренты движутся быстрее вас в предоставлении клиентам цифровых удобств, значит, они уже поняли, как раскрыть потенциал своих разработчиков. Не отчаивайтесь, вам это тоже под силу: на помощь придет мышление в духе «Спросите своего разработчика».
Если вы видите необходимость цифровизации и хотите осуществить трансформацию компании, но не знаете, с чего начать, то книга «Спроси разработчика» станет хорошей отправной точкой.
Если вы не можете найти хороших технических исполнителей или, что хуже, находите их, но они увольняются, так ничего и не создав, то книга «Спроси разработчика» подскажет, как привлечь и удержать хороших специалистов, используя их внутреннюю мотивацию к созиданию.
Если вы просто не знаете, какие вопросы задавать в быстро меняющемся цифровом ландшафте (а это совершенно обычное дело), то книга «Спроси разработчика» станет отличной отправной точкой для понимания того, что происходит в недрах цифровой революции.
Если вы технический руководитель, пытающийся помочь своим коллегам по бизнесу понять сложности создания отличного программного обеспечения, то книга «Спроси разработчика» даст вам инструменты для укрепления сотрудничества и поможет преодолеть разрыв в понимании с помощью общего языка.
Даже если вы уже далеко продвинулись на пути цифровой трансформации, то книга «Спроси разработчика» поможет вам переосмыслить представление о том, на что способны ваши разработчики.
Надеюсь, вы поняли: я считаю, что бизнес-лидеры, технические руководители и специалисты на каждом этапе цифровой трансформации только выиграют от более тесного сотрудничества и создания общих принципов работы. Книга «Спроси разработчика» показывает, как добиться этого. Смотрите на нее как на набор идей, которые помогают бизнес-лидерам, менеджерам по продукту, техническим руководителям и разработчикам программного обеспечения достичь общей цели – победы в цифровой экономике.
Руководителей компаний, которые создают программные продукты, изменяющие целые отрасли, отличают три вещи. Во-первых, они понимают, почему разработчики программного обеспечения важны сейчас больше, чем когда-либо. Во-вторых, они понимают разработчиков и знают, как их мотивировать. И в-третьих, они инвестируют в успех своих разработчиков. Именно поэтому в моей книге три раздела, а возглавляет их тот, в котором речь идет о важности разработчиков.
Готовы? Вперед!
Часть I
Почему разработчики сейчас важны больше, чем когда-либо
Глава 1
Создать или умереть
Выживают не самые сильные виды и не самые умные, а те, которые наиболее восприимчивы к изменениям.
ЧАРЛЬЗ ДАРВИН. ПРОИСХОЖДЕНИЕ ВИДОВВ сентябре 2004 г. я поступил на работу в компанию Amazon в качестве менеджера по продуктам и на первом собрании коллектива, на котором мне довелось присутствовать, услышал от основателя и генерального директора Джеффа Безоса то, что навсегда врезалось в память.
Когда мы добрались до вопросов руководству, кто-то из 5000 собравшихся встал и спросил о розничной торговле, даже не помню, о чем именно. Но ответ Джеффа стал неожиданностью для большинства из нас.
«Amazon, – сказал он, – не розничный продавец. Мы – софтверная компания».
Это казалось странным, особенно если учесть, что многие сотрудники Amazon в то время были выходцами либо из розничной сети Walmart, либо из Microsoft, занимавшейся программным обеспечением. И те и другие были одинаково удивлены. Но Джефф настаивал на своем. Большинство софтверных компаний тогда продавали ПО на CD-ROM, в коробочном варианте и даже через традиционные магазины CompUSA.
Джефф считал, что Amazon такая же софтверная компания, как Microsoft, Oracle и Adobe. Просто наше программное обеспечение вместо того, чтобы быть продуктом, который мы продаем потребителям, работает за кулисами, позволяя нам доставлять коробки с книгами, музыкой и кучей других вещей к порогу дома покупателя.
«Наш бизнес заключается не в том, что находится в коробках, – сказал он. – Наш бизнес – это программа, которая отправляет эти коробки в путь». Мы получаем доход от нашего программного обеспечения не за счет его продажи, а за счет продажи с его помощью всего остального – книг, DVD и CD. Более того, именно качество нашего программного обеспечения определяет наш успех. «Наши победы, – добавил Джефф, – зависят от умения располагать магнитные частицы на жестких дисках лучше, чем это делают конкуренты».
Я и сейчас считаю, что это классный способ представления того, что мы делали. Если вы когда-нибудь задавались вопросом, как Amazon стала таким глобальным игроком за то время, что прошло с момента того собрания в 2004 г., то ищите ответ в этом заявлении. Основная причина успеха Amazon заключается в том, что Джефф Безос раньше всех понял, что на самом деле его бизнес софтверный.
В начале 2000-х гг. казалось, что электронная коммерция уничтожит существующую форму розничной торговли. Однако XXI в. показывает, что не только розничные торговцы находятся в осаде. Почему все отрасли стремительно превращаются в софтверную индустрию? Дело в том, что на наших глазах развертывается настоящая дарвиновская эволюция – я называю этот процесс «Создать или умереть».
Вполне вероятно, что ваша отрасль и ваша компания быстро меняются из-за угроз и возможностей, создаваемых именно программным обеспечением. Когда в контексте вашей отрасли упоминается компания Amazon, все присутствующие напрягаются, не так ли? Вот почему цифровая трансформация является горячей темой во многих компаниях, однако далеко не все понимают, как ориентироваться в этой сфере. Если именно вы отвечаете за подобный переход, то вас наверняка одолевают поставщики приложений или консультанты, которые обещают решить эту проблему. Вы завалены обещаниями, но скептически относитесь к тому, что простое сокращение затрат решит все проблемы. И вы правы. Это сложнее, чем просто купить подрывную цифровую стратегию у софтверной компании или консультанта. Великие компании умеют создавать. Посмотрим, почему так происходит.
От центра затрат до центра определения стратегии
Долгое время в большинстве компаний считалось, что ИТ-службы лишь поддерживают программы и серверы в отделах обработки документации или работу персональных компьютеров на рабочих местах. У всех имелись мощные программы для управления финансами и еще более мощные ERP-системы предприятия для отслеживания запасов, поставок и прочего. Но по сути все это предназначалось для учета денег и материалов, т. е. того, что интересно больше всего бухгалтерам. ИТ-служба также обеспечивала персонал компьютерами для выполнения работы и принтерами для распечатки результатов. В 1980‒1990-х гг. ИТ-службы были центрами затрат – они поглощали средства компании, но сами по себе не приносили прибыли. Поэтому многие компании экономили на них и передавали их задачи на аутсорсинг, причем нередко офшорным фирмам, где специалисты обходились дешевле.
Когда директор по информационным технологиям искал новое решение, он часто запускал хорошо известный процесс оценки «Создать или купить», чтобы определить, нужно ли компании приобрести готовую программу или создать собственную. Иногда компании решались на создание собственного ПО, но это было сложно и рискованно, поэтому по большей части ПО приобреталось. В конце концов, у поставщиков ПО был хороший аргумент в свою пользу: зачем компании создавать собственное финансовое ПО или ERP-систему, если она может просто купить ее? Да и преимущества создания собственного ПО были ограниченными. Клиентам абсолютно безразлично, какую ERP-систему использует ваша компания. А если вы попытаетесь создать свою собственную и сядете в лужу, то последствия будут ужасными: вы не сможете отслеживать запасы или сообщать свои финансовые результаты Уолл-стрит. Давно известна мудрость: «Никого еще не уволили за покупку компьютера IBM». Поэтому почти все компании просто покупали ПО и занимались своими делами.
Но вскоре появился интернет, а затем и мобильные устройства, и интерфейс между большинством компаний и их клиентами внезапно стал цифровым. Программное обеспечение перекочевало с внутренней кухни бизнеса на передний край работы с клиентами. Из средства автоматизации внутренних процессов ПО превратилось в визитную карточку компании. Вместо похода в банк вы открываете приложение. Вы не идете в магазин, а делаете покупки в интернете.
Этот факт имел два важнейших последствия для мира программного обеспечения. Во-первых, клиентам вдруг стало не все равно, какое ПО используют компании, поскольку они напрямую взаимодействуют с ним. Если ваш сайт или мобильное приложение лучше, чем у конкурентов, значит, клиенты с большей вероятностью выберут именно вас. Во-вторых, это облегчило конкурентам выход на рынок. Чтобы стать банком или розничным продавцом, вам не нужно больше открывать филиалы или магазины на каждом углу. Достаточно иметь просто приложение и склад где-нибудь.
Обе эти тенденции ярко проявились в начале 2000-х гг. Внезапно начали появляться стартапы, которые умели создавать ПО, но не имели традиционной инфраструктуры или физических магазинов. Такие исходно цифровые компании сосредоточились на качестве обслуживания клиентов и использовали для этого свой опыт создания программ. Новое игровое поле было цифровым, и новые игроки вели на нем сложную игру.
Компании Uber и Lyft, не имея в собственности ни одного такси, менее чем за пять лет с помощью ПО полностью изменили алгоритм передвижения людей в городах. В свою очередь, Airbnb, не имея в собственности недвижимость, бросила вызов мировой гостиничной индустрии.
Один из моих любимых примеров подобных компаний – производитель матрасов Casper. Эта компания выпускает матрасы и продает их напрямую потребителям через свой сайт. Меня всегда удивляло, почему Casper оказалась в рядах технологических компаний, как ей удается привлекать значительные средства от венчурных инвесторов Кремниевой долины и почему ее оценивают подобно высокотехнологичным компаниям. Есть ли производство менее похожее на высокую технологию, чем изготовление пружин и ткани для сна? Но Casper действительно высокотехнологичная компания. Технология заключается не в самом продукте, а в том, как компания приобретает клиентов и распространяет свои продукты и в конечном счете обеспечивает качество обслуживания на протяжении всего процесса покупки и использования продукта. Благодаря технологии компания может делать все это с размахом и с минимальными вложениями. Она использует стратегии цифрового взаимодействия для обеспечения невероятно быстрого роста. Всего за пять лет с момента основания Casper довела выручку почти до $500 млн с персоналом менее сотни человек. Разительный контраст с крупнейшей в мире компанией по производству матрасов Tempur Sealy, в которой занято 7000 человек, а доход составляет $2,7 млрд. Подумайте о преимуществах, которые дает технология компании Casper: да, Tempur Sealy имеет доход в пять раз больше, но для этого ей требуется в 70 раз больше сотрудников. Победит ли в конечном счете компания Tempur Sealy своего конкурента Casper в его игре, пока трудно сказать, но их война продолжается.
Подобное происходит в каждой отрасли. Возьмите бритвенные приборы: стартап Harry’s бросает вызов общеизвестному бренду Gillette. В сфере инвестиций стартап Robinhood конкурирует с Fidelity, T. Rowe Price и другими институтами с вековой историей. Компания Opendoor перевернула сферу сделок с недвижимостью, изменив процесс покупки и продажи домов. В одной отрасли за другой цифровые компании используют технологию для вывода на рынок новых продуктов и делают это быстрее, дешевле при более высоком качестве обслуживания.
Можно сказать и по-другому: программное обеспечение превратилось из источника затрат в источник прибыли.
Вот так разворачивается неумолимая и неослабевающая дарвиновская конкуренция. Внезапно программное обеспечение перестает быть тем пассивом, который можно передать на аутсорсинг. Нет, теперь это источник конкурентного преимущества. Цифровые компании – стартапы, умеющие создавать программное обеспечение, – начинают завоевывать позиции на рынке. В ответ один из известных брендов, намереваясь отбиться от выскочки, отказывается от ИТ-аутсорсинга и начинает формировать собственные команды разработчиков. Так, один за другим все игроки в отрасли (по крайней мере те из них, кто намерен выжить) становятся создателями собственного ПО. Это неизбежно. Вот почему я называю это дарвиновской эволюцией. Это больше не вопрос «создать или купить». Это вопрос жизни и смерти – «создать или умереть». Это естественный отбор, определяемый клиентами, выбирающими те компании, которые лучше обслуживают их в современную цифровую эпоху.
Вернемся к матрасам. В ответ на успех Casper фирма Tempur Sealy запустила программу Cocoon by Sealy, которая обеспечивает онлайновое обслуживание клиентов по аналогии с Casper. Получай! Империя наносит ответный удар! А теперь подумай о своем банке. Наверное, он предлагает то же самое, что и любой другой банк. Расчетный счет, сберегательный счет – это высококонкурентная сфера. Так что же отличает один банк от другого? Раньше речь шла о качестве обслуживания в отделении банка. Каким оно было? Сотрудники были хорошо одеты и дружелюбны? Вас угощали печеньем? А вашему ребенку предлагали леденец? Но теперь вы не ходите в офис, а просто открываете приложение. Поэтому банкам нужны совершенно новые навыки – навыки разработки ПО. И они не могут просто купить все эти программы у стороннего поставщика. Конечно, в компаниях, предлагающих программы, необходимые банкам для осуществления цифровой трансформации, нет недостатка. Но если бы банки просто покупали одинаковый софт, все они были бы на одно лицо. В конечном счете они должны ориентироваться на потребности клиентов и реагировать на них, быстро создавая собственное ПО.
Компании, приспособившиеся к новой цифровой реальности, будут лучше обслуживать клиентов и таким образом выживут. Но те, кто этого не сделает, умрут. Возможно, кончина не произойдет в одночасье, но она неизбежна. Да, именно так. Не имеет значения, в какой сфере вы ведете бизнес: банковское обслуживание, авиаперевозки, автомобилестроение, страхование, недвижимость, розничная торговля, здравоохранение… Конечно, необходимо также предоставлять отличный продукт или услугу по конкурентоспособной цене. Но на любом рынке в конечном итоге победит компания, обладающая лучшим программным обеспечением. Джефф Иммельт, бывший генеральный директор General Electric и член совета директоров компании Twilio, однажды сказал своей команде в General Electric: «Если мы не станем лучшей технологической компанией в мире, мы обречены. Мы мертвы. Альтернативы этому нет».
«Это стремление к выживанию», – говорит Вернер Фогельс, легендарный директор по технологиям компании Amazon и один из главных архитекторов сетевых сервисов Amazon, крупнейшей в мире платформы облачных вычислений с десятками дата-центров по всему земному шару. Фогельс – человек очень высокого роста, 198 см, сложенный как полузащитник Национальной футбольной лиги США. Он имеет докторскую степень в области компьютерных наук и провел более десятилетия в университетской среде, прежде чем присоединиться к Amazon.
Сегодня он много ездит по миру и помогает традиционным компаниям адаптироваться к цифровой реальности и выжить. Он также играет главную роль в видеосериале под названием «А теперь создавай» (Now Go Build), который Amazon создала в честь компаний, разрабатывающих программное обеспечение. Помощь клиентам идет на пользу самой Amazon. «Наше облако было бы бесполезно, если бы люди не знали, как им пользоваться. Мы должны помогать им с организационными и культурными преобразованиями, а затем показывать, как принять новую технологию», – говорит Фогельс. Большинство компаний приняли облачные вычисления, но им непросто стать организациями, ориентированными на программное обеспечение. «Это самый часто задаваемый вопрос, – утверждает Фогельс. – Клиенты спрашивают нас: “Как нам это сделать?” Они действительно пытаются учиться у таких компаний, как Amazon».
Одно из больших препятствий на пути таких компаний – подбор персонала. Гигантские транснациональные компании, которые на протяжении 2000-х гг. отдавали на аутсорсинг большинство своих высокотехнологичных операций, теперь закрывают эти контракты и берут разработку программного обеспечения в свои руки. «Крупные фирмы знают, что цифровые технологии становятся их хлебом насущным, поэтому нужно брать их под свой контроль, а не обращаться к аутсорсерам. Но это также их самая большая проблема», – отмечает Фогельс.
Еще одна проблема – скорость. Цифровые компании могут превратить отличную идею в работающий код за считаные недели или даже дни. Они ежедневно представляют новые версии программ. Чтобы идти в ногу с технологиями, традиционным компаниям необходимо ускориться. «Вы больше не можете позволить себе тратить шесть или 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, то подумал: «О, это уже игра на уровне программного обеспечения».
Тот же образ мышления Стив Джобс применил при разработке iPhone в 2007 г. Он высмеивал телефоны с физической клавиатурой, поскольку, по его замечанию, такая клавиатура всегда была на месте независимо от того, нужна она или нет. Такую клавиатуру нельзя обновить, на ней невозможно изменить язык, и, конечно, ее нельзя убрать, когда она не нужна. Физическая клавиатура и зашитый на заводе язык навечно оставались с устройством. Клавиатура iPhone – это программное обеспечение. Она исчезает, когда не нужна, т. е. ее не видно большую часть времени. При необходимости ее можно переключить на эмодзи или другой язык, если вы полиглот. Это означает, что Apple может поставлять одно устройство во все страны мира. Нужный язык – это просто программное обеспечение, а не то, что зашивается только на заводе-изготовителе.