Многие программные продукты не становятся лучше просто ради того, чтобы стать лучше. Они развиваются, чтобы отсрочить неизбежное наступление момента, когда пользователи от них откажутся. Успех – способность отсрочить неудачи на будущее. И если внешняя среда не изменяется, то создатели продолжают поставлять свой продукт без изменений. Зачем им вносить в него изменения? Отсутствие сильных конкурентов было причиной того, почему Microsoft в течение пяти лет после появления версии 6.0 не выпускал обновлений браузера Internet Explorer. Можно даже утверждать, что угроза быть вытесненным с рынка конкурирующими продуктами – это куда более сильный драйвер эволюции программных продуктов, чем новые потребности уже существующих пользователей. Провайдер может игнорировать своих клиентов, но не действия конкурентов.
В ближайшие несколько десятилетий способность каждого общества, организации и индивидуума адаптироваться подвергнется небывалым прежде испытаниям. ‹…› Отсюда важнейшим вопросом для каждой компании в XXI веке будет: «Меняемся ли мы столь же быстро, как мир вокруг нас?» Как мы уже видели, для многих компаний этот ответ – нет [93].
Автомобиль, на котором я езжу сейчас, стоил мне в два раза больше, чем тот, на котором я начинал водить, и у него в десять раз больше опций. Сделало ли это меня счастливее? Боюсь, лишь ненадолго. Дело в том, что у него парковочный радар только сзади, а не со всех сторон, что для меня проблема. Обогрев сидений слишком медленно набирает нужную температуру. К тому же нельзя регулировать подсветку педалей… День за днем мой автомобиль все больше и больше отстает в Гонке Черной Королевы.
Можно ли измерить сложность?
Шестой закон Лемана гласит: «Если мы хотим, чтобы удовлетворенность пользователей не снижалась, в программных системах должна появляться новая функциональность». А согласно второму закону, если не предпринимать усилий по упрощению системы, то по мере своего развития она будет становиться все сложнее. Мой личный опыт это подтверждает. Когда-то я более пяти лет работал над интранет-приложением. Со временем оно стало жить своей жизнью, и даже я уже с трудом понимал его. Будет ли такое увеличение сложности тенденцией любых сложных систем? Нормально ли, что системы со временем становятся все более сложными?
Проблема возрастающей сложности не раз становилась предметом горячих дебатов среди ученых. Некоторые из них утверждают, что нет никакого внутреннего механизма, заставляющего системы в обязательном порядке становиться сложнее. Другие говорят, что развитие жизни на Земле, и в особенности человеческого общества, доказывает: все постоянно усложняется. Есть и третья группа, считающая, что мы не представляем себе, как измерить сложность, и поэтому не можем определить, будет ли одна система сложнее другой.
Давайте присоединимся к этой дискуссии с ее конца, а именно с измерения сложности. Действительно, нет единого мерила сложности, с которым были бы согласны все исследователи. Предлагалось много различных параметров, начиная от количества агентов и связей в системе до количества ее возможных состояний, от уровня энтропии в системе до ее вычислительной мощности, а также от количества уровней в ее иерархии до «фрактальной размерности» [Mitchell 2009: 94–111]. Как и в случае с моим интранет-приложением, во всех подходах были недостатки.
И тем не менее отсутствие единого метода измерения сложности вовсе не означает, что мы не можем сказать об одной системе, что она сложнее другой. Как сказал судья Верховного суда США Поттер Стюарт, говоря о жесткой порнографии, «я узнаю ее, когда увижу». По его словам, он не смог бы дать точного определения порнографии, но безошибочно определит, что это она, когда увидит ее. То же самое относится к сравнению мозга человека с мозгом, например, цыпленка. Или к сравнению моего интранет-приложения с Центром управления полетами НАСА. Я не знаю, как доказать, что одно сложнее другого. Но «я узнаю это, когда увижу».
Становятся ли программные продукты более сложными?
Вернемся к первоначальному утверждению: действительно ли системы имеют тенденцию к усложнению? Некоторые ученые отрицают это. Существует масса примеров, когда биологические виды со временем утрачивали некоторые свои характеристики. Например, предки морских звезд имели мозг. У современных морских звезд мозг отсутствует, и никто не знает почему [Le Page 2008: 29]. (Некоторые полагают, что то же самое относится к менеджерам.) Также известно, что приматы потеряли способность синтезировать витамин C примерно в то же самое время, когда начали питаться фруктами. И параллельно они вновь приобрели цветное зрение, которое ранее ими было утрачено [Corning 2003: 176]. Так что несмотря на то, что в настоящий момент на планете обитает множество более сложных видов, чем ранее, с точки зрения биомассы наиболее успешными оказались несколько видов бактерий.
Читать дальше
Конец ознакомительного отрывка
Купить книгу