Разработка комитетом

Разработка комитетом (англ. Design by committee) — уничижительная характеристика стиля проектирования и полученного результата, когда группа участников объединяется для создания чего-либо (обычно технического устройства или стандарта) при плохом или некомпетентном руководстве. Отличительными чертами «разработанного комитетом» проекта являются излишняя сложность, неполнота, логические противоречия, банальность и отсутствие целостной структуры.

Термин распространён в технической среде; он обосновывает необходимость единого системного архитектора (См. Системный аналитик). В случае программного обеспечения, «разработанного комитетом», изначальная задача, базовые спецификации и технические критерии отступают на второй план перед самомнением и личными интересами отдельных участников комитета. Такие продукты и стандарты становятся объединением разрозненной функциональности или плохо взаимодействующих составных частей (поскольку создатели этих модулей или разделов не задумывались о качественном взаимодействии с другими участниками проекта).

Термин также употребляется в автомобильной индустрии для плохо спроектированных или непопулярных автомобилей.

Одной из самых известных максим является «Верблюд — это лошадь, разработанная комитетом». Эта фраза приписывается журналу Vogue[1], а также Алеку Иссигонису[2].

Преимущества

[править | править код]

К положительным сторонам данной методологии можно отнести высокую универсальность созданного. Например, язык C++ являются языками разработанными комитетом, учитывающим мнения специалистов из разных предметных областей - отличается высокой эклектичностью, что позволяют ему являться универсальным решением, как в рамках предметных областей (от графических десктопных программ с использованием Qt, до математических библиотек-расширений для GNU Octave), так и в рамках методологий написания кода (от ООП, до акторной модели). Но те же преимущества оборачиваются недостатками: большой по объему стандарт языка, сложность формальной верификации написанного ПО, быстро копящийся "технический долг" написанного ПО.

Обратным примером языка разработанного комитета является Haskell известный своим девизом "Avoiding success at all cost". Строгий стандарт языка и следование функциональной методологии позволяют языку являться эталоном функционального языка программирования.

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

Примечания

[править | править код]
  1. [1] Архивная копия от 12 июня 2007 на Wayback Machine, см. номер от июля 1958 года.
  2. A camel is a horse designed by committee - phrase meaning and origin. www.phrases.org.uk. Дата обращения: 16 апреля 2020. Архивировано 20 сентября 2020 года.