суббота, 26 марта 2011 г.

Фазы стандартизации технологий

Оригинал статьи

Вместо предисловия (от переводчика):

Наблюдая за работой JCP и других организаций по стандартизации технологий (вспомнить хотя бы два стандарта на офисные документы - ODF и OpenXML) возникают вопросы об адекватности участвующих в этом деле людей. Но любую идею всегда кто-нибудь придумывал до нас, так и над стандартизацией уже вовсю наприкалывались корифеи. Ниже - перевод одной из таких шуточных статей, написанной в далеко 1990 году.

Фазы стандартизации технологий


Тоши Дой из Sonу описал процесс стандартизаци следующей диаграммой.
image
Ось i на ней описывает интерес к технологии, а ось t - время. Ti - кривая технического интереса, и Pi - кривая политического интереса. По мере того, как технология осмысляется сообществом, техническая активность замедляется. Вместе с этим, по мере того как проявляется экономическое значение технлогии, усиливается политический интерес к ней.

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

В этой модели Ws - "окно стандартизации", где технический интерес уже падает (т.е. технология уже осознана), но политическая обстановка еще недостаточно накалилась, чтобы препятсвовать констуктивному процессу.

В этой модели можно найти пищу для не одной интересной идеи, но в действителности ситуация несколько сложнее. На оригинальном графике кривая T или же P имеет отличное от нуля значение на всей временной оси. Скорее график должен иметь такой вид:

image

Здесь кривые Ta и Pa описывают техническую и политическую активность. Как правило, техническая активность предшествует политической. Оба типа при этом проходят через несколько фаз, различающихся по своей интенсивности. Результат той и другой активности можно изобразить следующими кривыми, являющимися по сути интегралами предыдущих:

image

Интеграл Ta - это K (знание), а интеграл Pa - это C (замусоленность1 - да, я весьма циничен). Ss - возможности стандартизации, это прости разница K-C. Оптимальным временем для принятия стандарта является максимум Ss, где знание технологии велико, но она еще не замусолена.

Очень интересно соотношение фаз Ta и Pa. Если максимум Pa отдален во времени от максимума Ta, имеем широкое окно Ss. Достаточно легко принять разумный и удобный стандарт, так как вместе с политической активностью, направленной на его принятие, уже имеется серьезный технический базис, о который можно опереться.

Рассмотрим сдвиг Pa влево - ближе к Ta.

image

Когда эта кривая близка к Ta, окно стандартизации Ss очень мало. Хуже того - оно плоское, и невозможно правильно выбрать момент для принятия стандарта. Это регион хаоса. Пока технология еще не замусолена, просто нет необходимых для принятия стандарта знаний, чтобы получилось хоть что-нибудь стоящее. К моменту, когда эти знания появляются, технология уже затерта политической активностью и компромисный стандарт становится непригодным к использованию, если его вообще смогут принять. Между этими двумя точками, ни один из моментов для принятия стандарта не лучше другого, и происходит брожение умов.

Рассмотрим случай, когда Pa смещается еще левее, до тех пор пока она не оказывается справа Ta.
image

Это наихудший сценарий: Ss всегда отрицательно. Длинный плоский участок отрицательных возможностей стандартизации - это панические броски из крайности в крайность. Политики/менеджеры решили, что технологию нужно стандартизировать, но ее никто не понимат в полной мере. Стандарт принимается на основе случайных предположений и тычков пальцем в небо, в основе которые нет каких бы то ни было технических реалий. Вместо этого стандарт целиком основан на экономической целесообразности.

На самом деле даже предыдущий случай лучше того, что происходит в реальности:

image

Сам факт принятия стандарта препятствует независимой и продуктивной технической работе. Пик кривой Ta затупляется и K снижается. Ss никогда не приближается даже к нулю.

Горьская правда об IT состоит в том, что последний случай доминирует среди попыток стандатизации. Стандарты регулярно создаются и принимаются до того, как кто-нибудь поэкспериментирует, а нужны ли они. Хуже того, стандарты принимаются до кого, как их напишут. Смешная ситуация.

Очевидно как это происходит: стандарты всё более рассматриваются, как оружие в конкурентной борьбе, а не как стабилизаторы технологий. Компании используют стандарты для уничтожения конкуренции со стороны более новых технологий. Как только техническая активность становится заметна политическим/экономическим силам, она приковывает их интерес, так как они видят угрозу, которой нужно противостоять, пока она не стала слишком велика.

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

1. В оригинале "calcification" - накопление извести или солей кальция.

Вместо послесловия

Благородному читателю предлагается самому распределить между описаными сценариями стандарты JPA (и предшествовавший ему де-факто стандарт Hibernate), HTML, XML, XHTML, ODF (1.0, 1.1 и все еще готовящийся 1.2), EJB и LightBeans (и другие части JEE в различных версиях), множество разнообразнейших версий Lisp и Common Lisp, и так далее, и тому подобное.

P.S. Ссылки на Чехова у Гослинга конечно не было.
blog comments powered by Disqus