Закон Конвея и архитектура программного обеспечения
Архитектура программного обеспечения часто отражает структуру вашей организации.
Вы слышали о законе Конвея (𝗖𝗼𝗻𝘄𝗮𝘆'𝘀 𝗟𝗮𝘄)? Это теория, созданная компьютерным учёным Мелвином Конвеем (Melvin Conway) в 1967 году, которая гласит: «Организации, которые разрабатывают системы, склонны продуцировать проекты, которые отражают коммуникационные структуры этих организаций»
(в оригинале: "𝘖𝘳𝘨𝘢𝘯𝘪𝘻𝘢𝘵𝘪𝘰𝘯𝘴, 𝘸𝘩𝘰 𝘥𝘦𝘴𝘪𝘨𝘯 𝘴𝘺𝘴𝘵𝘦𝘮𝘴, 𝘢𝘳𝘦 𝘤𝘰𝘯𝘴𝘵𝘳𝘢𝘪𝘯𝘦𝘥 𝘵𝘰 𝘱𝘳𝘰𝘥𝘶𝘤𝘦 𝘥𝘦𝘴𝘪𝘨𝘯𝘴 𝘸𝘩𝘪𝘤𝘩 𝘢𝘳𝘦 𝘤𝘰𝘱𝘪𝘦𝘴 𝘰𝘧 𝘵𝘩𝘦 𝘤𝘰𝘮𝘮𝘶𝘯𝘪𝘤𝘢𝘵𝘪𝘰𝘯 𝘴𝘵𝘳𝘶𝘤𝘵𝘶𝘳𝘦𝘴 𝘰𝘧 𝘵𝘩𝘦𝘴𝘦 𝘰𝘳𝘨𝘢𝘯𝘪𝘻𝘢𝘵𝘪𝘰𝘯𝘴.").
Проще говоря, структура программной системы часто находится под влиянием структуры и паттернов коммуникации внутри команды, создающей её.
Это может привести к созданию архитектуры программного обеспечения, которая не является оптимальной для решаемой задачи, поскольку команда может ставить во главу угла собственные организационные потребности, а не потребности системы.
Это означает, что организация с распределёнными командами будет создавать модульную сервисную архитектуру, в то время как организация с крупными совместно расположенными командами будет создавать монолитную архитектуру.
В широком смысле можно даже сказать, что HR (управление персоналом) обычно определяет архитектуры программного обеспечения.
Чтобы смягчить это влияние, можно использовать манёвр «Обратная Конвея» (𝗜𝗻𝘃𝗲𝗿𝘀𝗲 𝗖𝗼𝗻𝘄𝗮𝘆 𝗺𝗮𝗻𝗲𝘂𝘃𝗲𝗿). Этот метод включает привлечение архитекторов программного обеспечения, инженеров и руководителей к определению организационных структур. Это может привести к созданию более качественного программного обеспечения.
Тем не менее мы видим, что многие организации игнорируют закон Конвея и считают, что организационные структуры и архитектура программного обеспечения не связаны друг с другом, что в итоге приводит к неожиданным результатам.
Post #2295
1.8K
- ❤ 8
- 👍 5
- 👏 1