Принцип Парето: из бизнеса – в ИТ

20 май, 2009 - 09:06Елена Дериева

На первый взгляд, кажется вполне очевидным и естественным, что между причинами и следствиями имеется пропорциональная зависимость, например, что половина инвестиций должна принести половину дохода или что за треть рабочего времени будет выполнена такая же часть производственных операций. Однако на самом деле подобная идеальная картина очень далека от реальной – неотъемлемым свойством соотношения между усилиями и результатами, инвестициями и доходом является дисбаланс.

История знаменитого принципа дисбаланса достаточно длинная – более ста лет назад итальянский экономист Вильфредо Парето (1848–1923), анализируя экономические условия Италии XIX века, обратил внимание на интересный феномен, состоящий в том, что 20% населения страны владеет 80% пригодных для возделывания сельскохозяйственных угодий. В ходе дальнейших исследований выяснилось, что бóльшая часть материальных ценностей всегда принадлежит меньшинству людей, причем существует неизменное соотношение между величиной изучаемой группы (к общему числу населения) и долей богатства, которую она контролирует. Оказалось, что в системе, где на 20% населения приходится 80% дохода, 10% жителей обладают 65% ценностей, и такая диспропорция характерна для разных стран и эпох. Справедливости ради стоит заметить, что описав данный феномен, Парето не смог его объяснить, предложив крайне спорные социологические теории. Да и вообще, в течение довольно длительного времени принцип дисбаланса не был востребован.

Современная формулировка принципа дисбаланса (его еще называют принципом Парето, или правилом 80/20) – «20% усилий дают 80% результата, а остальные 80% усилий – лишь 20% результата» – принадлежит американскому инженеру и известному специалисту по контролю качества Иосифу Юрану (Joeseph M. Juran). Он же впервые применил данный принцип на практике, что в сочетании с другими статистическими методами позволило уменьшить долю бракованной продукции, повысить надежность и качество промышленных товаров. Его бестселлер, «Руководство по контролю за качеством» (Quality Control Handbook), увидевший свет в 1951 г. (и переизданный пять раз) содержал детальное описание правила 80/20. Впрочем, крупным американским компаниям теории И. Юрана показались не слишком интересными, а вот японские корпорации сразу взяли их на вооружение. И только в начале 70-х годов, ощутив серьезную экономическую угрозу от Страны восходящего солнца, американская промышленность обратила внимание на предложенные И. Юраном способы управления качеством и начала активно использовать принцип дисбаланса в самых разных сферах.

В области бизнеса имеется множество примеров, подтверждающих справедливость принципа Парето: 20% ассортимента продукции дают около 80% общего объема продаж, 20% покупателей обычно приносят компании 80% прибыли, 80% склада заполнены 20% ассортимента товара и пр. Легко заметить и другие факты диспропорции в экономических показателях. Скажем, в США 75% всех активов страны приходится примерно на 5% семей, а 64% прироста дохода попадает в руки примерно 1% населения. И хотя доля ВВП США в мировом валовом продукте колеблется в районе 20%, более половины мировых валютных резервов приходится на доллар, и это несмотря на значительные изменения в портфеле резервных валют, произошедшие в последнее время.

Вообще говоря, фигурирующие в формулировке правила числовые значения весьма приблизительны. Анализ двух наборов данных, относящихся к причинам и их следствиям, чаще всего (но не всегда!) демонстрирует дисбаланс – когда результат формируется из действия множества причин, их вклад бывает различным. В численном выражении соотношение может быть каким угодно 90/10, 70/30, 85/22, причем сумма чисел не обязательно равна ста. Более того, конкретные значения могут отличаться даже при анализе одних и тех же данных, достаточно лишь изменить правила группирования элементов выборки. И даже то, что факторов, дающих наибольший вклад в результат, всегда немного – лишь эмпирическое наблюдение; есть множество контрпримеров, когда относительно большое число существенно и примерно одинаково влияющих на результат факторов не дает возможности применить принцип Парето.

Принцип Парето из бизнеса – в ИТ
Для визуального представления относительной важности факторов, определяющих результат, часто используется так называемая диаграмма Парето. В этом случае видно (особенно по накопительному графику), что наибольший ущерб надежности функционирования ИТ-системы (по данным Mindshift Technologies) наносят лишь три первых. Что как раз и свидетельствует о применимости принципа Парето. Если же влияние всех факторов было бы примерно одинаковым, то эффект дисбаланса был бы практически незаметным.

Тем не менее ученые не оставляют попыток теоретических изысканий в данной области, например в работах Альфреда Ульца (Alfred Ultsch) из университета Марбурга предложены научные обоснования правила Парето с использованием понятия энтропийной прибыли (интересно, что согласно этой теории, 20,13% инвестиций дают около 87% энтропийной прибыли), а также точные условия возможности применения ABC-анализа. (Последний, кстати, представляет собой методику классификации ресурсов компании по их важности и используется уже достаточно давно. На основании того простого факта, что 20% всех товаров дает 80% оборота, производится разделение их на группы, к управлению которыми применяются разные подходы: товары группы A находятся под постоянным контролем, B – в системе периодического дозаказа, C – планируются и закупаются, скажем, на год. Однако параметры такой классификации на протяжении длительного времени выбирались вручную, на основании лишь имеющейся в данной области статистики.)

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

Возьмем социологию. Оказывается, 20% преступников совершают 80% правонарушений; 20% водителей виновны в 80% дорожно-транспортных происшествий и только 20% населения использует 80% возможностей, предоставляемых системой образования страны. Аналогичная картина и в области защиты окружающей среды: 80% выбросов транспорта приходится на 20% автомобилей. Кстати, имеются характерные примеры и с другими числовыми показателями: 25% прокатных автомобилей приходится на 0,5% клиентов, 6% людей, употребляющих кока-колу, выпивают 60% этого напитка.

А что же в сфере ИТ? Полагаем, с принципом Парето сталкивался почти каждый, кто хотя бы раз поработал в программе Microsoft Word. Несмотря на обилие разнообразных и достаточно хитроумных инструментов, подавляющее большинство пользователей применяет этот текстовый процессор в основном как усовершенствованную печатную машинку, а следовательно, обращается примерно к 20% имеющихся в нем возможностей. Кстати, именно эту особенность учли разработчики при создании нового пользовательского интерфейса в Microsoft Office 2007 – теперь те самые 20% инструментария находятся всегда на виду, под рукой.

Но на самом деле применять принцип дисбаланса в ИТ-индустрии стали значительно раньше. Статистические исследования компьютерных программ, проведенные еще в 70-х годах в США и Англии, показали, что в течение боóльшей части времени процессор выполняет машинные команды, составляющие лишь малое подмножество всей системы. Таким образом, на основании правила «80% кода типичной прикладной программы использует 20% машинных команд» родилась чрезвычайно простая идея – выбросить из схемы процессора реализацию 80% маловостребованных команд, и, оставив всего 20%, к которым обращаются часто, упростить схему, повысить тактовую частоту и распараллелить исполнение команд между несколькими блоками исполнения. Такой подход сулил повышение производительности при одновременном удешевлении чипа. Первый RISC-процессор с 31 командой был создан в Университете Беркли, затем в Стэнфордском и Калифорнийском университетах были выпущены устройства с набором до ста команд, и в настоящее время многие процессорные архитектуры (в том числе ARM, SPARC, AVR, MIPS, POWER и PowerPC) являются RISC-подобными.

Нельзя обойти принцип дисбаланса и при построении прикладных программ. Известно, что за обработку большинства данных отвечает лишь незначительная часть программного кода, тогда как остальная (иногда – до 95%) предназначена как раз для обработки исключений, и, что удивительно, поскольку отказы все-таки бывают (хотя и гораздо реже, чем в 5% случаев), учесть все 100% исключений до сих пор ни одному разработчику, видимо, не удалось.

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

Очень показательна статистика в сегменте ИТ-безопасности: по данным Verizon за 2004–2007 гг., 83% вторжений осуществляется посредством 20% известных уязвимостей, 20% хакеров повинны в 80% атак, а 80% киберпреступности сосредоточено в 20% стран. Интересно также, что по информации Microsoft, поставившей поиск и латание пробелов в безопасности собственных программных продуктов на промышленную основу, на выявление 80% известных уязвимостей ее специалисты затратили около 20% усилий.

На сегодняшний день нет недостатка в средствах обеспечения безопасности ИТ-систем, работающих с разной эффективностью и требующих различных ресурсов; задача состоит прежде всего в выборе адекватных инструментов. И, естественно, применив к данной области принцип Парето, можно добиться надлежащего уровня защищенности без значительных инвестиций. Дефекты безопасности ИТ-систем возникают почти исключительно по причине человеческих ошибок, используемых киберпреступностью для незаконных действий. Поскольку с определенного момента их поиск оказывается чрезвычайно затратным мероприятием, разумно предположить, что широко распространенные уязвимости, которые, к тому же, легко применять в злонамеренных целях, будут наиболее популярными среди хакеров. Таким образом, согласно принципу Парето, своевременное исправление даже 20% наиболее распространенных уязвимостей позволит защититься от 80% проблем.

Заметим также, что разного рода дефекты могут таиться как раз в той части инструментария, которую пользователи применяют весьма редко (а его, как мы помним, до 80%). Характерный пример из недавнего прошлого – эпидемия макровирусов, хотя к макросам в Microsoft Office зачастую не обращается и половина работников. Соответственно, своевременное исключение (деинсталляция, запрет) этих возможностей значительно повысит общую безопасность.

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

Кстати, говоря об экономической выгоде, следует вспомнить, что 20% рекламы и прочих маркетинговых усилий дают 80% необходимого эффекта. Соответственно, на долю остальных 80% приходится только пятая часть. Это значит, к примеру, что даже в кризисные времена не стоит совсем отказываться от привычных инструментов, гораздо разумнее сохранить наиболее эффективные из них.