9 декабря 2009 г.

Как написать стандарт (если вам очень нужно)

Еще прекрасное из блога Роба Вейра. Я только перевел.

Стандарты в целом являются плохой идеей. Они уменьшают свободу действий и ограничивают выбор. Но иногда вам нужно иметь один, чтобы успокоить регулятора, настроенного против бизнеса, или бюрократа социалистического толка. Итак, что нужно делать, если вы неожиданно обнаруживаете, что вам нужно срочно обратиться в Департамент по стандартам? Безусловно, создать стандарт и сделать это быстро! Я предлагаю здесь некоторые обобщения передового опыта, а также проверенные и надежные советы, как сделать стандарт быстро, с минимальными заморочками или риском.

Сначала небольшой ликбез. Написание стандартов, как это обычно делается, представляет собой многосторонний, совещательный процесс, в котором рассматриваются и обсуждаются несколько точек зрения - до тех пор, пока консенсус не будет достигнут и задокументирован. Этого нужно избежать любой ценой. Задержки, обусловленные таким  процессом консенсуса, весьма значительны, и результаты такого процесса не оправдывают затраченного на них времени. Если у вас уже есть монополия, зачем терять время в поисках консенсуса? Вспомните известные неудачи XHTML, XForms, SVG, XSLT и т.д. Посмотрите на несколько реализаций этих стандартов, в том числе пиратские и незащищенные авторскими правами продукты. Вы действительно хотите, чтобы эта тенденция сохранилась?

Начните с полной реализации продукта. Это делает весь процесс значительно более быстрым, поскольку время не теряется впустую на обсуждение таких абстрактных вещей, как интероперабельность, повторное использование, общность, элегантность и т.д. Только постоянное поклонение  Единственной Истинной Реализации (которая у вас уже есть) быстро приведет к спецификации. Избегайте рассмотрения альтернатив. Рассмотрение альтернатив является вашим основным фактором риска, способным привести к задержке.

По возможности выберите реализацию, имеющую нагромождение уровней сложности, обусловленное многолетним неуправляемым накоплением функциональности. Естественно, это приведет к византийски запутанной спецификации эпической длины. Но поскольку никто, на самом деле, не будет читать спецификацию, в этом нет никакого вреда. Более того, длина и сложность могут обеспечить ряд преимуществ:
  1. Любая критика спецификации может быть автоматически отклонена как мелочные придирки. Например, если вам будет предоставлен список из 500 ошибок в 6000-страничной спецификации, вы можете отвечать: "Это меньше, чем 10%. Вы просто придираетесь к мелочам. Мы можем исправить это в версии 1.1". Или вы даже можете просто воспользоваться известным оправданием: "Поставка продукта важнее всего". Любой конечный перечень дефектов может быть сделан незначительным при достаточно большой спецификации.
  2. Далее, поскольку периоды рассмотрения в ISO и в большинстве других организаций стандартов имеют фиксированную длительность, независимо от длины спецификации, достаточно большая спецификация может гарантировать, что ее вообще не будут читать, или только пролистают «по диагонали». Разделите длину спецификации в страницах, на длину периода рассмотрения в днях. Взрослый человек в состоянии прочесть и понять 50 страниц в день. Ваша задача - удвоить или утроить эту нагрузку. 100 страниц в день - хорошее правило для обеспечения того, чтобы добровольцы в Комитете по стандартам не смогли провести тщательное рассмотрение.
  3. Достаточно большой размер спецификации заставит многих думать, что это хорошо проработанный, всеобъемлющий и согласованный документ. Такой же, как налоговое законодательство и федеральный бюджет.
  4. В случае стихийного бедствия спецификация может быть использована в качестве топлива для костра.

Озаботтесь поиском наиболее подходящей организации по разработке стандартов (ОРС), которая знает, как быстро сделать дело. Критерии оценки включают в себя:
  1. Доказанная способность утверждать стандарты быстро. Вы не заинтересованы в достижении идеального результата. Вы хотите максимально быстро «прокомпостировать свой билет», чтобы вы могли заняться своим бизнесом.
  2. Модель членства, которая эффективно исключает индивидуальных экспертов и проекты с открытым кодом из процесса.
  3. Продемонстрированная компетентность в поддержании необходимой секретности при разработке конфиденциальных стандартов.
  4. Право представлять проекты стандартов в ISO по процедуре Fast-Track.

Ecma International утвердила стандарты DVD-RAM, DVD-R, DVD+R, DVD-RW и DVD+RW. Хотя некоторые ошибочно утверждают, что эти дублирующиеся стандарты путают потребителей, ясно, что наличие нескольких форматов дало производителям широкие возможности для увеличения продаж мультиформатных DVD-плееров и рекордеров. При наличии единственного формата, разве можно продать более дорогой товар? Ecma четко понимает назначение стандартов и на нее можно положиться.

Когда вы уже пришли в ОРС и готовы создать свой Технический Комитет, не забудьте внимательно изучить вопросы членства и Устава. Конечно, вам нужно собирать команду партнеров-единомышленников. Лояльность может быть достигнута различными способами. У Ваших советников могут быть неплохие идеи

Ваш Устав является первой линией вашей обороны. Так как ваш Технический Комитет может содержать несколько технических специалистов, вам нужно строго ограничить то, что они могут обсуждать. Технические специалисты опасны, если они получат слишком много свободы. Кто знает, что они могут натворить, если предоставить их самим мебе? Они могут даже заняться инновациями (кошмар!), а инновации такие разрушительные! Хорошо написанный Устав позволит избежать инноваций, как нежелательного гостя, который когда-либо мог постучаться в вашу дверь.

Поскольку положения Устава определяют рамки вашей ответственности, вы должны убедиться, что Устав содержит несколько ограничений, которые вы не захотите обсуждать или отстаивать в будущем. Лучше, чтобы эти ограничения заранее были внесены в Устав, так чтобы вы могли просто сказать: "У нас нет выбора, это наш Устав". Так как ваша задача заключается в описании Единственной Истинной Реализации, хорошее ограничение, которое нужно добавить в Устав, состоит в сосредоточении внимания Технического Комитета на этой единственной задаче. Обходным путем этого можно достичь, потребовав, чтобы разрабатываемая спецификация оставалась 100%-совместимой с другой вашей спецификацией, которая секретна. Таким образом, вы и только вы можете решить, находится ли предлагаемое изменение в рамках Устава. Это обеспечивает большую гибкость и позволяет избежать ненужных дискуссий. "Мы сверились с секретной спецификацией и в ней говорится, что в октябре 40 дней. Извините, парни, но мы ничего не можем сделать. Устав не позволит это нам".

Несколько дополнительных рекомендаций относительно повседневной работы по описанию Единственной Истинной Реализации:
  • Изучите другие успешные стандарты и процессы, которые привели к ним. Посмотрите на размеры их спецификаций и сколько времени ушло на их разработку. Предположите, что вы сможете спокойно работать со скоростью в 10-20 раз быстрее. Этот темп оправдает преимущество вашей Единственной Истинной Реализации и отсутствие совещаний, дискуссий или рассмотрения альтернатив.
  • Любой ценой не допускайте повторного использования любых существующих стандартов. Повторное использование стандарта приведет лишь к общности, интероперабельности и увеличению повторного использования, и вы рискуете быть вовлеченным в дискуссии с другими организациями по разработке стандартов. Нужно избегать подобной задержки. Единственная Истинная Реализация есть все, что вы или кто-либо другой должен знать. Это истинная fons et origo всей мудрости и знаний.
  • Это также означает, что вы не должны взаимодействовать с другими группами стандартов. Предположите просто, что руководимый вами Технический Комитет является экспертом по всем вопросам. В любом случае, опыт не имеет значения, поскольку вы просто описываете Единственную Истинную Реализацию. Все решения по существу уже были приняты много лет назад. Ваша задача - просто записывать.
  • Секретность имеет первостепенное значение. Если публика узнает, что вы обсуждаете и с какими проблемами вы сталкиваетесь, они могут начать предлагать вам свои мнения или альтернативные варианты. Это так раздражает... Поэтому все заседания, протоколы, списки рассылки и т.д., должны быть сугубо конфиденциальными.

Вот и все. Остальное, что нужно - просто здравый смысл. Думайте быстро. Думайте взвешенно. Сосредоточтесь на Единственной Истинной Реализации. Свободное применение вышеуказанных принципов должно позволить любому быстро и безболезненно создать Международный Стандарт.

Комментариев нет:

Отправить комментарий