Необходимость хорошей модульности
Система должна собираться из модулей по принципу подводной лодки, в которой все отсеки делаются максимально автономными — если один из них будет затоплен, это не будет означать затопления подводной лодки. В системе все части системы взаимосвязаны, в системном окружении они ведут себя совершенно не так, как могли бы вести себя без системного окружения. Если у нас нет интерфейсов, через которые мы контролируем все взаимодействия в системе, то любая попытка улучшить модуль может привести к улучшению только этого модуля — но ухудшению системы в целом через влияние на другие модули по неотслеживаемым связям.
Вот компьютерная симуляция зависимости от числа попыток улучшений падения стоимости разработки при улучшении n отдельных модулей, при d связей каждого из них :
Видно, что если связь одна, то стоимость разработки с каждым улучшением падает быстро по экспоненте, слабо зависящей от числа модулей. Но если связей больше, то снижение стоимости идёт плохо.
Каждая связь имеет свою цену, не было бы этой цены, мы не имели бы даже в живой природе «органов», «клеток» и других модулей . Но модульность человеческого организма не идёт ни в какое сравнение с модульностью современного компьютера или смартфона, собираемого из стандартизованных деталей. Поэтому слабомодульный человеческий организм не очень понятно как улучшать или даже просто лечить, а компьютер или смартфон удаётся улучшать конструктивно и лечить-ремонтировать много проще.
Интерфейс — это не просто соединение, это соединение через какой-то вполне определённый канал по вполне определённому протоколу (лучше бы — определяемому стандартом, хотя это и не всегда соблюдается), так что это взаимодействие можно отследить, и ошибка не распространится по системе. Более того, можно просто заменить модуль на альтернативный (это проще, если интерфейс стандартный) — и система продолжит работать. Если же какие-то связи будут проходить не через интерфейсы модулей, а система будет эти связи использовать для реализации своей функции, то замена модуля приведёт к исчезновению этих связей и нарушениям в работе системы.
Есть множество методов, которые помогают уменьшать связность модулей в создаваемой системе. Одним из наиболее известных таких методов является DSM (design/dependency structure matrix) .
Минимальная связность модулей нужна и в «железных» системах, и в программных системах, и в организационных, и даже в танцах. Это совсем не означает, что части системы/подсистемы не находятся в тесном взаимодействии друг с другом. Это означает, что эти взаимодействия ставятся под жёсткий контроль, и подсистемы можно улучшать, а в случае стандартизации интерфейса даже заменять на принципиально другие по конструкции и принципу действия, не рискуя при этом ухудшить работу всей системы в целом.
Системный подход обычно называют холистическим, ибо он обращает внимание на систему в целом. Но нет других подходов, которые так бы интересовались разбиением на самые разные части, как системный подход. Суть системного подхода не только ко вниманию к целой системе, но и одновременному вниманию к частям системы.
- 1. О мышлении Разные мышления
- Требования к мышлению
- Место системного мышления среди других мышлений
- Варианты системного мышления
- Системная инженерия
- Наш вариант системного подхода
- Наша онтология системного подхода
- Семантика и описания
- Терминология
- Формы мышления
- Можно ли научить мышлению?
- Стадии обучения мышлению
- Особенности решения учебных задач по системному мышлению
- Переход к использованию мышления
- 2. Воплощение системы, стейкхолдеры и интересы Воплощение, определение и описание системы
- Абстрактные объекты
- 4D экстенсионализм
- Отношение состава
- Отверстия
- Процессы и действия
- Компьютерные программы
- Функции
- Физические и функциональные объекты
- Второе поколение системного подхода
- Стейкхолдер
- Театральная метафора
- Мышление о людях: прежде всего они стейкхолдеры
- Позиция
- Лидерство
- Внешние и внутренние стейкхолдеры
- Организационные места, ответственность, звания
- Сколько всего стейкхолдеров
- Луковичная диаграмма
- Интересы
- Кто участвовал в последнем совещании?
- 3. Системная холархия Не всё системы, что ими называют
- Понятие холона и холархии
- Эмерджентность
- Пять видов систем в холархии
- Рекурсивное применение системного мышления
- Потребности, требования, ограничения
- Примеры использования терминологии видов систем
- Системы систем
- Люди в системах
- Государственное строительство и госпроекты
- Будущее
- Общность мышления по мере усложнения систем
- Сложность и меры сложности
- 4. Целевая и использующая система Сначала найти целевую систему
- Система — это продукт, или сервис?
- Признаки целевой системы
- Принцип почтальона
- Типовые ошибки определения целевой системы
- Именование системы
- Использующая система
- Холархия человеческого движения
- Системный подход: для всех видов систем, не только для целевой
- 5. Определение и описание системы Междисциплинарность
- Многерица: единонемыслие единого
- Многерица холархий
- Компонентный анализ и модульный синтез
- Альфы и рабочие продукты
- Описание системы
- Модели и виды моделей
- Мультимодель и междисциплинарность
- Метод описания и мега-модель
- Компонентные описания: принципиальные схемы
- Модульные описания
- Платформы и технологические стеки
- Важность функциональных рассмотрений целевой системы
- Предпринятия
- Необходимость хорошей модульности
- Борьба со сложностью в мышлении
- Требования как часть определения системы
- Два понимания требований
- Требования и холархия
- Целеориентированная инженерия требований
- Проверка и приёмка
- Понятие архитектуры
- Понятие конфигурации
- Инженерия предприятия
- 6. Понятие жизненного цикла Биологический жизненный цикл
- Понятие жизненного цикла системы 1.0
- Изображение жизненного цикла как работ (1.0)
- Проблемы с жизненным циклом 1.0
- Жизненный цикл 2.0
- Эксплуатация как выделенная стадия жизненного цикла
- Три времени жизненного цикла
- Понятие практики
- Дисциплина в составе практики
- Технология в составе практики
- Практики жизненного цикла
- Пример: практики жизненного цикла системной инженерии
- Методологии
- 7. Вид жизненного цикла
- Моделеориентированность в жизненном цикле
- Гибридные модели жизненного цикла
- Управление работами и управление жизненным циклом
- Виды практик управления работами
- Тренды в практиках управления работами
- За пределами жизненного цикла
- Жизненный цикл как архитектура деятельности
- 8. Системная схема проекта и основной жизненный цикл Системная схема проекта
- Альфы — общий объект отслеживания команды
- Альфа возможности
- Альфа стейкхолдеров
- Альфа определения системы
- Альфа воплощения системы
- Альфа работы
- Альфа команды
- Альфа технологии
- За чем следить в проекте
- Состояния альфы и рабочие продукты
- Как работают с системной схемой проекта
- Подальфы
- Основной жизненный цикл
- Модели зрелости и модели готовности технологий
- Системные практики
- Итоговое эссе
- Что дальше