Автор Тема: Закон Конвея  (Прочитано 7861 раз)

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Закон Конвея
« : Июнь 20, 2012, 02:45:39 pm »
http://artamonov.ru/2012/06/20/conways-law/

Цитировать
…Джон Конвей когда-то заявил что:

Цитировать
Organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations

что можно перевести как:

Цитировать
Организация которая разрабатывает систему ... вынуждена делать систему по структуре повторяющую структуру коммуникаций внутри организации

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

Причем если эти команды тесно общаются, например устраивая ежедневные skype митинги и вообще, то и модули будут тесно связаны — например единая сборка, репозиторий, документация, трекер, но разные библиотеки лежащие рядом. Но если общаются лишь переписываясь по email, то получите связь через какой нибудь RESTful API. Десятки раз видел подобные примеры.

Или, как сказал Эрик Реймонд:

Цитировать
Если у вас есть 4 команды разрабатывающие один компилятор — вы получите компилятор работающий в 4 прохода (4-pass compiler)


И похоже, что закон действительно работает.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

DIzer

  • Гость
Re: Закон Конвея
« Ответ #1 : Июнь 20, 2012, 04:09:01 pm »
нельзя так переводить - правильно использовать глагол "проектировать" ;)

DIzer

  • Гость
Re: Закон Конвея
« Ответ #2 : Июнь 20, 2012, 04:15:37 pm »
То есть дословно
Organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations
Организации которые проектируют системы... ограничены выпуском проектных решений , которые копируют коммуникационные структуры этих же организаций

Valery Solovey

  • Hero Member
  • *****
  • Сообщений: 509
    • Просмотр профиля
Re: Закон Конвея
« Ответ #3 : Июнь 20, 2012, 05:53:25 pm »
И похоже, что закон действительно работает.
Во-первых, это не закон, а во-вторых, формулировка этого утверждения настолько расплывчата, что в случае некоторых её интерпретаций утверждение действительно правильное.

А в других - нет.

alexus

  • Гость
Re: Закон Конвея
« Ответ #4 : Июнь 21, 2012, 05:30:50 am »
http://artamonov.ru/2012/06/20/conways-law/

Цитировать
Организация которая разрабатывает систему ... вынуждена делать систему по структуре повторяющую структуру коммуникаций внутри организации

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

albobin

  • Full Member
  • ***
  • Сообщений: 198
    • Просмотр профиля
Re: Закон Конвея
« Ответ #5 : Июнь 21, 2012, 06:03:00 am »
Вообще то этот Конвей на самом деле вовсе не Джон а Мел  (Melvin E. Conway)
Это дядька приложил руку в деле стандартизации МАМПСа.
И правило его как-бы шуточное, но, повторюсь, - "как-бы".
Кто тут слышит звон - вопрос открытый :)
 

alexus

  • Гость
И правило его как-бы шуточное, но, повторюсь, - "как-бы".
Кто тут слышит звон - вопрос открытый :)
В шутку это было сказано или нет... не столь важно. Важно то, как это воспринимается... а здесь, как бы всё серьёзно.
Теперь о звоне. Представим любую проектную организацию... софверную компанию, или тех, кто проектирует самолёты, суда, космические корабли или здания и мосты... Любую!
Когда такая организация впервые выходит на создание большой системы (где каждый элемент сам может быть системой), то модель системы, как единого целого, у них, как правило, довольно... громоздкая, и её понимает 1-3 человека (а иногда никто!). Разработчики, соответственно, делятся на группы и каждая берётся реализовывать свою подсистему. Для тех, кому нужны примеры, ссылка на фильм "Укрощение огня"...
По мере осмысления "предмета труда"... иногда приходит понимание системы, как единого целого. Тогда, вдруг, становится понятно, что не должно быть в каждой группе своих специалистов, которые занимаются прочностными расчётами, компоновкой, дизайном (эргономикой и эстетикой) и т.п. Эти специалисты становятся "общими", то есть, выделяются в самостоятельные структуры, обслуживающие весь проект, распространяющие единые методики на все части проекта. Чем глубже понимание системы, как единого целого, тем "слабее" становятся горизонтальные (первоначальные) группы, тем активнее растут вертикальные группы. Это неизбежный процесс, поскольку он значительно сокращает трудозатраты, выдаёт более эффективные (эргономичные) решения, сокращает сроки и финансовые затраты... Заканчиваются этот этап процесс развития проектной организации тем, что... горизонтальные группы либо исчезают, либо отторгаются в самостоятельные проектные организации. Теперь, для работы над конкретным проектом создаются временные коллективы (на время создания проекта, и сопровождения в течении заданного интервала времени). В эти трудовые коллективы направляются различные специалисты из разных вертикальных отделов. В чём принципиальная разница между этими временными коллективами и первоначальными горизонтальными коллективами?..
  • Временные коллективы исходят из понимания системы, как единого целого;
  • Каждый из членов временного коллектива выполняет свою специфическую работу для всего проекта в целом и каждого элемента в частности;
  • Каждый из членов временного коллектива не разрывает связи со своим подразделением и привносит в проект весь предыдущий опыт подразделения (формализованный в правилах и методиках, помощи своих коллег/наставников).
Если Конвей был менее... шутлив... и более... наблюдателен, он бы заметил, что и сфера материального производства развивалась по той же схеме.
Заканчивается ли на этом этапе развитие проектной организации? Нет, но это отдельный разговор...

DIzer

  • Гость
Re: Закон Конвея
« Ответ #7 : Июнь 21, 2012, 07:40:11 am »
Лично я всегда воспринимал, подобные высказывания как обычный афоризм (законченное оригинальное (отличающееся от других) суждение)... поэтому солидарен с -Albobinым - статус "закона" ему придали левые люди, ну а дальше пошли вариации  с изменением изначального смысла (это продемонстрировал Алексей), еще более"левые" люди, признающие авторитет Конвея, рефлексируя по этой "теме" с поддекстом "а что собственно он имел ввиду". Но случается это настолько часто... причем, изначальное высказывание необязательно должно быть шуточным...

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: Закон Конвея
« Ответ #8 : Июнь 21, 2012, 09:01:41 am »
Это такой же "закон" как и "закон" Мура например.

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

albobin

  • Full Member
  • ***
  • Сообщений: 198
    • Просмотр профиля
... Если Конвей ...
Для тех кто предпочитает не слушать звон с той или иной способностью слышать или генерить его, а  "звон" читать :
http://www.melconway.com/Home/Conways_Law.html
http://www.melconway.com/Home/Committees_Paper.html

albobin

  • Full Member
  • ***
  • Сообщений: 198
    • Просмотр профиля
Re: Закон Конвея
« Ответ #10 : Июнь 21, 2012, 10:18:10 am »
Лично я всегда воспринимал, подобные высказывания как обычный афоризм .... изначальное высказывание необязательно должно быть шуточным...
Оно не было шуточным изначально, оно так может восприниматься в отрыве от всего текста статьи.  В любом случае, как бы оно не выглядело - голословным ведь не является.

alexus

  • Гость
... Если Конвей ...
Для тех кто предпочитает не слушать звон с той или иной способностью слышать или генерить его, а  "звон" читать :
http://www.melconway.com/Home/Conways_Law.html
http://www.melconway.com/Home/Committees_Paper.html
Для тех, кто понимает суть развития, чтение подобных перлов совсем необязательно... Ещё Лао-Цзы сказал: "Мудрый многого не знает. Знающий много - не мудр" :)
Если есть, что сказать, по поводу написанного мной выше... оспорить, например, то я готов выслушать... Чтение Брукса или Конвея не предлагать... В том, что такое проектное производство они не разобрались... увы.

albobin

  • Full Member
  • ***
  • Сообщений: 198
    • Просмотр профиля
Для тех, кто понимает суть развития, чтение подобных перлов совсем необязательно... Ещё Лао-Цзы сказал: "Мудрый многого не знает. Знающий много - не мудр" :)
Если есть, что сказать, по поводу написанного мной выше... оспорить, например, то я готов выслушать... Чтение Брукса или Конвея не предлагать... В том, что такое проектное производство они не разобрались... увы.
Оспаривать написанное Вами  равносильно отрицанию сути, а это - глупое занятие.  Нет уж, увольте.

Peter Almazov

  • Sr. Member
  • ****
  • Сообщений: 482
    • Просмотр профиля
Заканчивается ли на этом этапе развитие проектной организации? Нет, но это отдельный разговор...
А какие этапы идут дальше?

DIzer

  • Гость
Re: Закон Конвея
« Ответ #14 : Июнь 21, 2012, 06:02:06 pm »
Лично я всегда воспринимал, подобные высказывания как обычный афоризм .... изначальное высказывание необязательно должно быть шуточным...
Оно не было шуточным изначально, оно так может восприниматься в отрыве от всего текста статьи.  В любом случае, как бы оно не выглядело - голословным ведь не является.
А какая разница..дело в том, что я воспринимаю  такого рода вещи  скорее как источник эстетического удовольствия...(а уж шутка это или нет.. дело вторичное )