Выбрать главу

Давайте воспользуемся моментом, чтобы выразить признательность за быстрое совершенствование программного обеспечения в последнее время, и попытаемся понять, нельзя ли провести некоторые параллели с эволюцией маркетинга.

Революция XXI века в программном обеспечении

За последние двадцать лет область разработки программного обеспечения значительно развилась. Большинство наших худших представлений об этой сфере деятельности уходят корнями в более ранние времена. Вспомните с трудом поддающиеся изменению проекты, тянувшиеся месяцами или годами; ужасные пользовательские интерфейсы; команды, укомплектованные несговорчивыми инженерами, отвергавшими любые просьбы внедрить то, что не вошло в исходную спецификацию. Власть ИТ-отделов над всем программным обеспечением, используемым в компании, в большинстве корпораций была почти диктаторской. Такое положение вещей негативно воспринималось как бизнес-пользователями (они часто жаловались на ограничения), так и разработчиками программного обеспечения и ИТ-менеджерами, которые считали, что их труд недооценивается. Однако «идеальный шторм» из нескольких преобразований, произошедших в середине 1990-х годов, позволил, тем не менее, резко улучшить практику разработки ПО.

Движущей силой послужило стремительное распространение интернета. Поскольку мир стал цифровым, потребность в программном обеспечении постоянно росла. Список программных возможностей, которые компании хотели получить, расширялся и менялся очень быстро. Старые подходы к созданию ПО с многомесячными, а то и многолетними циклами разработки не поспевали за переменами. Поэтому разработчики ПО начали осваивать новые способы управления этим процессом. Все более популярная методика, названная гибкой разработкой программного обеспечения, делала акцент на инкрементном и итеративном[16] подходах к построению ПО за счет увеличения числа укороченных циклов разработки. Программное обеспечение создавалось теперь более адаптивными способами, вместо того чтобы строго соответствовать спецификациям, сформулированным в самом начале работы, до написания первой строчки кода.

Адаптивный подход стал возможен благодаря новой модели распространения программного обеспечения, которую открыл интернет. В прежние времена ПО устанавливали на компьютеры с дискет или компакт-дисков. Развертывание обновлений могло стать тяжелым испытанием, так что к частым изменениям относились неодобрительно. Но с появлением интернета стало достаточно просто посетить сайт, чтобы воспользоваться программным обеспечением через браузер. Этот способ, так называемое облачное программное обеспечение, или программное обеспечение как услуга (software-as-a-service, SaaS), значительно упростил применение ПО. Его больше не приходилось устанавливать. Некоторые облачные программы настолько легки в использовании, что большинство людей даже не считают их программным обеспечением. Например, сайт Google на самом деле просто программа для поиска в интернете.

SaaS нарушил централизованный контроль использования ПО, применявшийся ИТ-отделами. Хотя они продолжали развивать и обеспечивать работу многих систем, бизнес-пользователи все чаще стали обращаться к внешним SaaS-продуктам из-за их широких возможностей. Со временем подобная практика распространилась так широко, что ИТ-отделы приспособились к новой среде. Они начали поддерживать политику «принеси свое устройство» (bring-your-own-device, BYOD) и обеспечивать комплексное управление сервисами SaaS, а не контролировать их использование вручную. Это было движение к демократизации технологий в бизнесе, которая напрямую связывала бизнес-пользователей и разработчиков ПО.

У подхода SaaS есть еще одно преимущество: разработчики теперь могут обновлять программное обеспечение так часто, как пожелают, без привлечения пользователя к установке новых версий. Поэтому при следующем посещении сайта SaaS люди могут даже не догадаться, что произошло обновление.

Гибкая разработка ПО и SaaS — взаимодополняющие подходы, каждый делает другой практичнее. Программное обеспечение стало меньше зависеть от окончательной версии продукта и больше — от постоянно меняющихся возможностей. Гибкая разработка популяризировала идею «вечного» бета-тестирования. Иначе говоря, программа может постоянно развиваться в течение нескольких месяцев или лет, оставаясь доступной для широкого применения. Это привело к известной сегодня концепции непрерывного развертывания ПО. Например, программное обеспечение сайта может постоянно обновляться в течение дня, если разработчики создали новую функцию или исправили некую ошибку. Благодаря этому существенно увеличились темпы разработки ПО, а сам процесс стал проще и надежнее. Вместо того чтобы делать крупные ставки на небольшое количество рискованных, сложных выпусков программы, все происходит практически непрерывно с медленно внедряемыми изменениями, что размывает риски и снижает сложность.

вернуться

16

При инкрементном, или инкрементальном, подходе разработка проводится по принципу приращений: на каждом новом этапе используют данные предыдущих этапов и к ним добавляют новые функциональные возможности. Итеративный подход в разработке программного обеспечения — это выполнение работ параллельно с непрерывным анализом полученных результатов и корректировкой предыдущих этапов работы. Прим. ред.