#оффтоп #ИМХО #дляайтишников
Размышляя над текущей ситуацией, я осознал, что всю свою карьеру строю промышленные программные системы, применяя знания в области инженерии, включая системную. И это работает в проектах любого масштаба в любых предметных областях.
И что важно, эти знания можно тиражировать. Для этого и задуман новый архитектурный стиль – «Промышленная архитектура программных систем».
Как главный архитектор крупной ИТ-программы и тренер, проведший десятки тренингов по Микросервисной архитектуре, считаю, что могу с уверенностью так утверждать.
Размышляя над текущей ситуацией, я осознал, что всю свою карьеру строю промышленные программные системы, применяя знания в области инженерии, включая системную. И это работает в проектах любого масштаба в любых предметных областях.
И что важно, эти знания можно тиражировать. Для этого и задуман новый архитектурный стиль – «Промышленная архитектура программных систем».
Как главный архитектор крупной ИТ-программы и тренер, проведший десятки тренингов по Микросервисной архитектуре, считаю, что могу с уверенностью так утверждать.
👍5
Так что же такое «Инженерия»?
Есть и генетическая инженерия, и экологическая инженерия, и социальная инженерия… Как и многие другие понятия, Инженерия перегружена.
Нам необходимо определение, наиболее близкое к нашей области, а именно к программным системам.
Да, конечно, существует и программная инженерия. Но её определение мы оставим на десерт.
Есть и генетическая инженерия, и экологическая инженерия, и социальная инженерия… Как и многие другие понятия, Инженерия перегружена.
Нам необходимо определение, наиболее близкое к нашей области, а именно к программным системам.
Да, конечно, существует и программная инженерия. Но её определение мы оставим на десерт.
В русскоязычных словарях можно встретить упоминания Инженерии, как инженерного дела, как творческой технической деятельности.
Как мне кажется, в контексте Промышленной архитектуры программных систем, наиболее релевантным будет определение, близкое именно к творческой технической деятельности.
Как мне кажется, в контексте Промышленной архитектуры программных систем, наиболее релевантным будет определение, близкое именно к творческой технической деятельности.
Подходящее для нас определение инженерии, достаточно ёмкое и полное, приводит American Engineers' Council for Professional Development (ECPD):
“Творческое применение научных принципов для проектирования или конструирования машин, аппаратов или производственных процессов или эксплуатации их с полным пониманием их устройства; или прогнозирования их поведение в конкретных условиях эксплуатации; и всё это в согласованности с предполагаемой функцией, экономической эффективностью и безопасностью для жизни и имущества людей.”
https://www.britannica.com/technology/engineering
“Творческое применение научных принципов для проектирования или конструирования машин, аппаратов или производственных процессов или эксплуатации их с полным пониманием их устройства; или прогнозирования их поведение в конкретных условиях эксплуатации; и всё это в согласованности с предполагаемой функцией, экономической эффективностью и безопасностью для жизни и имущества людей.”
https://www.britannica.com/technology/engineering
Encyclopedia Britannica
engineering
Engineering, the application of science to the optimum conversion of natural resources to the uses of humankind. Engineers employ two types of natural resources—materials and energy. Engineers must concern themselves with the continual development of new…
👍6
#оффтоп #ИМХО
Об этом не спросят на собеседовании при приёме на работу. Об этом ничего не говорится на страницах книг по подготовке к интервью по системному дизайну, и на курсах по архитектуре этому тоже едва ли учат.
Возможно, поэтому наши системы зачастую трудно предсказуемы, не очень-то экономичны и недостаточно безопасны.
А наши разработчики вряд ли смогут внятно объяснить устройство своих систем, и мозговые штурмы по реверс-инженерингу бизнес-процессов лишь подчеркнут степень этого незнания.
Об этом не спросят на собеседовании при приёме на работу. Об этом ничего не говорится на страницах книг по подготовке к интервью по системному дизайну, и на курсах по архитектуре этому тоже едва ли учат.
Возможно, поэтому наши системы зачастую трудно предсказуемы, не очень-то экономичны и недостаточно безопасны.
А наши разработчики вряд ли смогут внятно объяснить устройство своих систем, и мозговые штурмы по реверс-инженерингу бизнес-процессов лишь подчеркнут степень этого незнания.
👍4
Итак
Мы, как инженеры, при проектировании программных систем, по определению, должны:
1. Руководствоваться принципами
2. Понимать устройство
3. Прогнозировать поведение
4. Обеспечивать согласованность с функциями
5. Учитывать экономику и безопасность
Мы, как инженеры, при проектировании программных систем, по определению, должны:
1. Руководствоваться принципами
2. Понимать устройство
3. Прогнозировать поведение
4. Обеспечивать согласованность с функциями
5. Учитывать экономику и безопасность
👍1
С определением Системной инженерии всё оказалось непросто.
Вроде бы мы уже знаем, что такое Инженерия и Система, и, может быть, стоило бы дать такое определение: «Системная инженерия — это инженерия применительно к Системам». Потом можно было бы скомпилировать определения Инженерии и Системы и получить некое их объединение.
Однако, Системная инженерия, это нечто большее, чем объединение Инженерии и Системы. А почему именно, мы увидим, когда разберём детально определения от Incose.
Вроде бы мы уже знаем, что такое Инженерия и Система, и, может быть, стоило бы дать такое определение: «Системная инженерия — это инженерия применительно к Системам». Потом можно было бы скомпилировать определения Инженерии и Системы и получить некое их объединение.
Однако, Системная инженерия, это нечто большее, чем объединение Инженерии и Системы. А почему именно, мы увидим, когда разберём детально определения от Incose.
#FYI
INCOSE - Международный совет по системной инженерии. Это организация, которая развивает и продвигает Системную инженерию.
Официальный сайт:
https://www.incose.org/
INCOSE - Международный совет по системной инженерии. Это организация, которая развивает и продвигает Системную инженерию.
Официальный сайт:
https://www.incose.org/
INCOSE
International Council on Systems Engineering Website
The International Council on Systems Engineering (INCOSE) is a not-for-profit membership organization founded to develop and disseminate the transdisciplinary principles and practices that enable the realization of successful systems.
#тизер #изкомьюнити
Любую систему, какой бы сложной она ни была, можно разложить на взрыв-схему до последнего «болтика».
Взрыв-схемами сложных систем, однако, пользоваться невозможно. Они слишком детальны.
Но если система хорошо спроектирована, если она иерархична и в её архитектуре явно присутствует уровни, которые достаточно чётко отделены, конструкция модульная на всех уровнях, то можно эффективно использовать приёмы системного мышления.
Можно быстро менять фокус, перемещаться между уровнями, проваливаться в детали или наоборот, повышать уровень абстракции
Любую систему, какой бы сложной она ни была, можно разложить на взрыв-схему до последнего «болтика».
Взрыв-схемами сложных систем, однако, пользоваться невозможно. Они слишком детальны.
Но если система хорошо спроектирована, если она иерархична и в её архитектуре явно присутствует уровни, которые достаточно чётко отделены, конструкция модульная на всех уровнях, то можно эффективно использовать приёмы системного мышления.
Можно быстро менять фокус, перемещаться между уровнями, проваливаться в детали или наоборот, повышать уровень абстракции
✍1
#тизер #изкомьюнити
И что особенно важно.
Если система иерархична, есть чёткое разделение уровней, модули хорошо инкапсулированы, то уже не важно с какой скоростью изменяется дизайн модулей на нижних уровнях, на более высоких уровнях всё-равно решения принимать будет возможно.
И что особенно важно.
Если система иерархична, есть чёткое разделение уровней, модули хорошо инкапсулированы, то уже не важно с какой скоростью изменяется дизайн модулей на нижних уровнях, на более высоких уровнях всё-равно решения принимать будет возможно.
⚡1
Вернёмся к определению Системной инженерии. Это определение я скомпилировал из двух определений от INCOSE. Вместе они указывают на разные важные вещи. Мы всё это разберём в деталях. И я постараюсь затем всё подытожить простыми словами.
Системная инженерия — это междисциплинарный и интегративный подход, направляющий технические и управленческие усилия, необходимые для преобразования набора потребностей, ограничений и ожиданий клиентов в инженерную систему и поддержку этой системы на протяжении всего срока её службы
Этот подход обеспечивает успешную реализацию, использование и вывод из эксплуатации инженерных систем с использованием системных принципов и концепций, а также научных, технологических и управленческих методов.
Этот подход обеспечивает успешную реализацию, использование и вывод из эксплуатации инженерных систем с использованием системных принципов и концепций, а также научных, технологических и управленческих методов.
#чтопочитать #цитаты
«Interdisciplinary approach governing the total technical and managerial effort required to transform a set of customer needs, expectations, and constraints into a solution and to support that solution throughout its life. (ISO/IEC/IEEE 2010)»
«A transdisiplinary and integrative approach to enable the successful realization, use, and retirement of engineered systems, using systems principles and concepts, and scientific, technological, and management methods. (INCOSE Fellows 2019)»
https://sebokwiki.org/wiki/Systems_Engineering_(glossary)
https://www.incose.org/about-systems-engineering/system-and-se-definitions
«Interdisciplinary approach governing the total technical and managerial effort required to transform a set of customer needs, expectations, and constraints into a solution and to support that solution throughout its life. (ISO/IEC/IEEE 2010)»
«A transdisiplinary and integrative approach to enable the successful realization, use, and retirement of engineered systems, using systems principles and concepts, and scientific, technological, and management methods. (INCOSE Fellows 2019)»
https://sebokwiki.org/wiki/Systems_Engineering_(glossary)
https://www.incose.org/about-systems-engineering/system-and-se-definitions
#чтопочитать #цитаты
Немного NASA
“At NASA, “systems engineering” is defined as a methodical, multi-disciplinary approach for the design, realization, technical management, operations, and retirement of a system. A “system” is the combination of elements that function together to produce the capability required to meet a need.”
https://www.nasa.gov/reference/2-0-fundamentals-of-systems-engineering/
Немного NASA
“At NASA, “systems engineering” is defined as a methodical, multi-disciplinary approach for the design, realization, technical management, operations, and retirement of a system. A “system” is the combination of elements that function together to produce the capability required to meet a need.”
https://www.nasa.gov/reference/2-0-fundamentals-of-systems-engineering/
NASA
SEH 2.0 Fundamentals of Systems Engineering - NASA
At NASA, “systems engineering” is defined as a methodical, multi-disciplinary approach for the design, realization, technical management, operations, and
И в завершение приведу определение, где в двух предложениях выражена сама суть Системной инженерии. Да и, пожалуй, инженерии в целом. Переводить на этот раз не буду:
«Systems engineering (SE) is a transdisciplinary approach and means to enable the realization of successful systems. Successful systems must satisfy the needs of their customers, users and other stakeholders.»
https://sebokwiki.org/wiki/Systems_Engineering_Overview
«Systems engineering (SE) is a transdisciplinary approach and means to enable the realization of successful systems. Successful systems must satisfy the needs of their customers, users and other stakeholders.»
https://sebokwiki.org/wiki/Systems_Engineering_Overview
Перед тем как чуть-чуть разобрать определения Системной инженерии и простыми словами подытожить весь предыдущий материл, хочу сделать краткие выводы:
1) Мы строим системы не просто так, мы их строим для удовлетворения потребностей людей
2) Успешные системы — это те системы, которые удовлетворяют потребности людей
3) Чтобы из раза в раз, системно, строить успешные системы, нужен какой-то подход
4) Подход, который позволяет успешно строить успешные системы — это Системная инженерия
5) Подход этот непростой, он комплексный, но познаваемый при желании
1) Мы строим системы не просто так, мы их строим для удовлетворения потребностей людей
2) Успешные системы — это те системы, которые удовлетворяют потребности людей
3) Чтобы из раза в раз, системно, строить успешные системы, нужен какой-то подход
4) Подход, который позволяет успешно строить успешные системы — это Системная инженерия
5) Подход этот непростой, он комплексный, но познаваемый при желании
Разберём кратко определение Системной инженерии и выделим главное:
Междицисциплинарный подход — сочетает разные дисциплины.
Можно найти ранние статьи и определения, где Системная инженерия считалась инженерным подходом. Сейчас уже понятно, что это не вполне так. Она сочетает и инженерные, и управленческие, и организационные методы.
Инженерные системы — мы их разберём чуть ниже, рассмотрим их особенности и заодно ответим, наконец, мы, как архитекторы и разработчики ПО, инженеры или нет.
Системные принципы и концепции — мы их рассмотрим в деталях и будем показывать их применение при решении задач всё время, пока существует канал.
Междицисциплинарный подход — сочетает разные дисциплины.
Можно найти ранние статьи и определения, где Системная инженерия считалась инженерным подходом. Сейчас уже понятно, что это не вполне так. Она сочетает и инженерные, и управленческие, и организационные методы.
Инженерные системы — мы их разберём чуть ниже, рассмотрим их особенности и заодно ответим, наконец, мы, как архитекторы и разработчики ПО, инженеры или нет.
Системные принципы и концепции — мы их рассмотрим в деталях и будем показывать их применение при решении задач всё время, пока существует канал.
👍1
#отдрузей
«Как тебе идея "Successful systems must satisfy the needs of their customers, users and other stakeholders"
описать как
"Successful systems must satisfy the needs of their customers, users and other stakeholders, and moreover, create the possibility to relate, to play, to argue, to believe" ?»
Публикую с разрешения @Eugene_Istomin
«Как тебе идея "Successful systems must satisfy the needs of their customers, users and other stakeholders"
описать как
"Successful systems must satisfy the needs of their customers, users and other stakeholders, and moreover, create the possibility to relate, to play, to argue, to believe" ?»
Публикую с разрешения @Eugene_Istomin
👍1
До сегодняшних дней инженерные системы рассматривались почти исключительно как технические. Да, конечно, мы говорили о стейкхолдерах и их потребностях. Но редко явно включали их в состав систем.
А сейчас мы уже точно уверены, что стейкхолдеры, это и пользователи, и разработчики, и инвесторы, это элементы наших систем.
Наверно, должно быть очевидно: без действий пользователей, например, достижение системного эффекта во многих системах невозможно.
А сейчас мы уже точно уверены, что стейкхолдеры, это и пользователи, и разработчики, и инвесторы, это элементы наших систем.
Наверно, должно быть очевидно: без действий пользователей, например, достижение системного эффекта во многих системах невозможно.
👍1
#ИМХО #дляайтишников
С моей точки зрения, принятые у нас в разработке софта подходы к управлению стейкхолдерами, в том же TOGAF, весьма примитивны и давно устарели.
Нужно начинать, а кто-то уже и начал, формировать пользовательский опыт у разных групп стейкхолдеров, не только у пользователей.
И, например, начать применять такие техники, как карты эмпатии, для менеджеров, инвесторов и разработчиков.…
С моей точки зрения, принятые у нас в разработке софта подходы к управлению стейкхолдерами, в том же TOGAF, весьма примитивны и давно устарели.
Нужно начинать, а кто-то уже и начал, формировать пользовательский опыт у разных групп стейкхолдеров, не только у пользователей.
И, например, начать применять такие техники, как карты эмпатии, для менеджеров, инвесторов и разработчиков.…
👍1