В экономике продукции, основанной на программном обеспечении, доминирует иная система. Поскольку разнообразные функции добавляются не в осязаемую сталь, медь или пластик, а в неосязаемый программный код, руководителям старой закалки кажется, что дополнительные возможности почти бесплатны. Им кажется, что функциональную мощь программ легко наращивать и «улучшать».
Прямо сейчас я слушаю диск Джимми Бафета при помощи оптического привода своего компьютера. Небольшая программа, проигрывающая диск, предлагает мне множество функций: я могу перейти к предыдущей композиции, к следующей, к любой выбранной, могу задать особый порядок воспроизведения, запланировать проигрывание в течение определенного времени, зациклить дорожку, просмотреть информацию о Бафете в сети, добавить альбом в свою коллекцию, создавать примечания к различным композициям, получать названия песен из базы данных в Интернете, просматривать информацию о диске, создавать список любимых композиций с диска и много чего еще. Все это очень приятные возможности, и я, наверное, не стал бы от них избавляться, однако в целом они крайне затрудняют понимание и использование программы. Кроме того, если звонит телефон и мне надо быстро приостановить воспроизведение диска, я не могу найти нужную функцию, потому что она похоронена среди тех самых многочисленных – бесплатных — функций. Для меня эти функции не «бесплатны». Какой-то горе-инженер решил, что окажет мне любезность, если добавит все эти бесплатные функции, но я бы предпочел простое средство воспроизведения с легкодоступной кнопкой паузы.
Что касается системы дистанционного управления замками, я серьезно сомневаюсь, что хоть один из ее разработчиков задался вопросом, какие функции нужны и сколько их должно быть. Уверен, что вместо этого какой-то из младших сотрудников выбрал стандартную микросхему, случайно имевшую два канала. Воспользовавшись одним каналом для реализации функций запирания и отпирания, он обнаружил, что есть еще один бесплатный канал. Этот инженер, возможно, находясь под влиянием очень активного, но некомпетентного менеджера по маркетингу, на ходу выдумал аргументы в пользу того, что ручное включение сигнализации может послужить какой-то цели. Он был горд, что смог обеспечить дополнительную функциональность без очевидных затрат.
Полноценный микропроцессор в ключе вашего автомобиля, в микроволновой печи или мобильном телефоне обходится дешевле, чем отдельные микросхемы и электронные компоненты. Так новая экономика влияет на проектирование продукта. Отрицательная обратная связь стоимости производства сдерживает добавление новых физических органов управления, но не сдерживает процесс добавления функций и возможностей программного обеспечения. Разработчикам программ кажется, что новые функции практически бесплатны, поэтому любая предложенная функция
В случае с настольными компьютерами отсутствие обратной связи не менее опасно. Создатель программы воображает, будто можно добавлять любые функции по собственному желанию, и они будут «бесплатны», если доступны посредством стандартной клавиатуры и мыши. Они наполняют экраны сотнями загадочных пиктограмм, кнопок, элементов меню, и каждая функция в конечном итоге требует работы с клавиатурой или щелчка кнопкой мыши. Как же пользователю отличить мелкие, незначительные функции от функций, приводящих к серьезным отрицательным последствиям?
Практически каждый коммерческий программный продукт усложнялся с каждой новой версией. В ходе эволюции продукта добавляются функции и возможности, а потому в интерфейсе появляются новые органы управления. На жаргоне программистов это явление называется «bloatware» – распухшее программное обеспечение. Продукты вроде Lotus Notes, Adobe Photoshop, Intuit Quicken и Microsoft Word настолько плотно напичканы возможностями, что пользователей сбивает с толку беспорядочное нагромождение функций, редкие из которых используются эффективно, если вообще используются. Между тем, мириады малополезных возможностей вытесняют немногие действительно необходимые функции.
В корпоративных программах проблема проявляется еще более остро, чем в приложениях для конечных пользователей. Такие фирмы, как Oracle, PeopleSoft, ADP, SAP, Siebel, создают сложное программное обеспечение, необходимое для корпоративной деятельности. Эти продукты крайне сложны, невразумительны и перегружены возможностями. Каждое ежегодное обновление добавляет множество новых функций, но по-прежнему оставляет уже имеющиеся функции непонятными и неподвластными для людей, не прошедших месяцы суровых тренировок.
Апологеты и уцелевшие