Основы бизнес-аналитики и науки о данных

Системная инженерия. Часть 1

В материале последовательно раскрывается устройство системной инженерии как связующего звена между бизнес-задачами и технической реализацией. Сначала разбираются роли заказчика, системного инженера и разработчика, а также цикл уточнения требований. Затем вводится понятие системы, её границ и целей, задаваемых бизнесом. Далее рассматриваются классификации систем, логическое и физическое описание, отличия коробочного продукта от внедряемого решения. Логика строится от общего представления о ролях к детализации природы систем и завершается идеей «системы систем» (SoS), подводя к сложностям интеграции независимо спроектированных компонентов.

Основные мысли

В результате изучения лекции слушатель будет способен:
1. Описывать роли заказчика, системного инженера и разработчика в цикле создания ИТ-решения.
2. Объяснять, как потребности бизнеса преобразуются в техническое задание и уточняются через итеративное взаимодействие.
3. Определять понятие системы в контексте системной инженерии, включая её цель, элементы, связи и внешнюю границу.
4. Классифицировать системы по критериям открытости, происхождения и степени абстракции, выделяя те, что относятся к области системной инженерии.
5. Различать логическое описание системы (функциональное «что») и физическое описание (реализационное «как»).
6. Сравнивать модель «коробочного» продукта (autonomous product) и обеспечивающего продукта (enabling product), требующего кастомизации, внедрения и сопровождения.
7. Распознавать концепцию «системы систем» (System of Systems, SoS) и объяснять проблемы дублирования функций и локальной оптимизации при её создании.
Показывать лекцию целиком
Краткое изложение

Роли в системной инженерии

Вторая тема курса по бизнес-аналитике и науке о данных посвящена системной инженерии. Сначала мы рассматриваем формальную сторону — как устроена деятельность компании и какова роль бизнес-аналитика внутри неё. Это поможет очертить круг его ответственности и фронт работ, после чего мы перейдём к науке о данных.

Ключевые роли в процессе создания системы распределены по трём уровням. Первый — заказчик. Он предоставляет потребности: описывает, какой функционал хочет получить и какие задачи должен решать продукт.

Второй уровень — системный инженер. Он специфицирует систему, переводя язык заказчика на технический язык. Заказчик может не разбираться в архитектурных аспектах и технологиях, поэтому описывает функциональные и технические требования в терминах своей предметной области. Системный инженер трансформирует этот набор потребностей в чёткое техническое задание для разработчика.

Третий уровень — разработчик. На основе сформулированного задания он занимается непосредственной реализацией системы.

Важно понимать, что речь идёт о ролях, за которыми могут стоять целые команды сотрудников разного профиля. После реализации система предъявляется заказчику, в ходе диалога выявляются недостатки и потребность в дополнительном функционале. Цикл «уточнение — доработка — демонстрация» повторяется до достижения компромисса, устраивающего заказчика. Формально это фиксируется в договоре и пунктах технического задания, хотя начальное ТЗ редко полностью совпадает с итоговой промышленной версией.

Системный инженер также отвечает за поддержку процессов жизненного цикла системы. Полученная система не только передаётся заказчику, но и может взаимодействовать с внешней средой (например, запрашивать биржевые котировки), хотя существуют и полностью замкнутые системы. Главная задача системного инженера — обеспечить слаженную работу всех механизмов системы как единого целого.

Системный аналитик и бизнес-аналитик не являются системными инженерами, но им крайне необходимы навыки системного мышления — понимание зоны ответственности и методов работы системного инженера.

Что такое система

Слово «система» происходит от греческого σύστημα, означающего «целое, составленное из частей». Мы встречаем этот термин повсюду: нервная система, система железных дорог и т.д. В общем смысле система — это целое, возникающее в результате взаимодействия элементов, сгруппированных определённым образом и имеющих цель функционирования.

В контексте системной инженерии система — это набор элементов, взаимодействующих для достижения заданной цели. Цель формулируется бизнесом и заинтересованными сторонами (стейкхолдерами, stakeholders). Она служит отправной точкой для проектирования и критерием проверки успешности: с помощью системных KPI мы измеряем, насколько система достигает поставленной цели.

Элементы, связи между ними и внешняя граница системы — это результаты проектирования. Система должна достигать цели автономно: ею можно управлять независимо от других систем.

Классификации систем

Системы классифицируют по множеству признаков. По отношению к среде выделяют открытые и закрытые системы. По происхождению — естественные (созданные природой), искусственные (созданные человеком) и модифицированные человеком. По природе — абстрактные и конкретные. Также говорят о прецедентных и беспрецедентных, статических и динамических, гомеостатических, гомогенных и гетерогенных, мягких и жёстких, централизованных и децентрализованных.

Системная инженерия работает с открытыми, искусственными или модифицированными человеком, конкретными и прецедентными системами. Чисто математические модели тоже являются конкретными и прецедентными — механизм их построения опирается на кейсы из прошлого или ожидаемые ситуации, и эти прецеденты как раз и есть обслуживаемые бизнес-процессы.

Открытость системы означает наличие внешнего интерфейса, связывающего её с элементом внешней среды. Этот элемент может быть частью другой системы. Среда, в которой работает система, становится операционной средой. Для успешного выполнения операций необходимы связи с внешними элементами через эти интерфейсы. Внешние элементы, в свою очередь, взаимодействуют с другими внешними сущностями, но для нашей системы это уже системы второго уровня, которые мы можем не учитывать.

Система как продукт

На ИТ-рынке (в широком смысле, включая кассовые терминалы и любые устройства со встроенным ПО) система часто выступает как продукт. Программная система может существовать в двух основных формах.

Функционирующий продукт (autonomous product)

Функционирующий продукт (или «коробочный», out-of-the-box) — это полностью самостоятельная программная система, готовая к использованию сразу после установки. Примеры: операционная система Windows, офисные пакеты, Adobe Acrobat Reader. Покупатель не взаимодействует с разработчиком для уточнения технических требований — он просто скачивает и пользуется готовым решением.

Обеспечивающий продукт (enabling product)

Если систему необходимо адаптировать под конкретного заказчика, она становится обеспечивающим продуктом (enabling product). Тогда возникает целый набор процессов: изменение программного кода, тестирование, развёртывание на серверах (продакшн-серверы, production servers), внедрение на промышленный контур, обучение персонала, сопровождение. Без обеспечения всех этих процессов невозможно продать продукт и извлечь прибыль.

Пример с самолётом

Самолёт — типовое изделие, например Boeing определённой модели. Но конкретная авиакомпания заказывает его со специфическими модификациями: разное количество мест, соотношение бизнес- и эконом-класса, расстояние между сиденьями (лоукостеры уменьшают его для размещения большего числа рядов), материал обивки, состав бортового оборудования. Формально продаётся типовая модель, но для совершения сделки требуется реализовать огромную цепочку кастомизации. Это и есть пример обеспечивающего продукта.

Логическое и физическое описание системы

Описание системы разделяется на два уровня.

Логическое описание отвечает на вопрос «что?». Система разбивается на элементы, цели — на подфункции. Задача — скомпоновать элементы и правила их взаимодействия так, чтобы совокупность функций приводила к достижению цели. Например, «передать сигнал» — задача логического проектирования.

Физическое описание отвечает на вопрос «как?» и описывает конкретную реализацию: система, подсистема, агрегаты, компоненты. Описание конкретного оборудования, передающего сигнал, — это уже физический уровень.

Система систем (System of Systems, SoS)

Сложные продукты могут представлять собой «систему систем» (System of Systems, SoS). Это иерархия, где каждый узел — самостоятельная система со своей целью. Как и в обычной системе, SoS разбивается на дерево систем.

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

Краткие итоги

Понимание структуры системной инженерии критически важно для бизнес-аналитика, чья работа лежит на стыке бизнес-целей и технической реализации. Ключевой разделяющей гранью выступает ролевая модель «заказчик — системный инженер — разработчик». Через неё становится ясным, каким образом неструктурированные потребности бизнеса проходят путь до детализированного технического задания и воплощаются в коде. На практике аналитик регулярно участвует в итерационном цикле уточнений, не позволяя проекту бесконечно дрейфовать и помогая сторонам зафиксировать компромиссный, но измеримый результат.

Центральное понятие — система как целенаправленный набор взаимодействующих элементов — служит единицей анализа на всех уровнях: от отдельного программного модуля до комплексного социотехнического продукта. Принципиально, что цель системы всегда задаётся бизнесом и стейкхолдерами, а не выводится из технических возможностей. Отсюда возникает необходимость в системных KPI, которые позволяют объективно судить о достижении цели. Классификационный фильтр (открытые, искусственные, конкретные, прецедентные системы) помогает аналитику определить, попадает ли рассматриваемый объект в поле применимости инженерных методов, и корректно подобрать инструментарий.

Практическое следствие — различение функционирующего и обеспечивающего продукта. Коробочное решение минимизирует издержки внедрения, но редко полностью покрывает уникальные процессы заказчика. Как только начинается продажа с кастомизацией, запускается каскад дополнительных активностей: доработка, тестирование, развёртывание, обучение. Бизнес-аналитик должен с самого начала оценивать стоимость этой «обеспечивающей» периферии, иначе маржинальность проекта будет иллюзорной. Аналогия с самолётом наглядно показывает, что даже типовой продукт при штучной поставке превращается в обеспечивающий.

Разделение описания системы на логический («что») и физический («как») уровни выступает защитой от преждевременной фиксации реализации. На стадии сбора требований аналитик концентрируется на функциональности, не привязывая её к конкретным техническим артефактам. Это снижает риск переделок, когда под давлением подрядчика заказчик необдуманно согласует архитектурные решения.

Наконец, концепция «системы систем» высвечивает природу интеграционных проблем в крупных организациях. Каждое подразделение могло создавать свою систему, оптимальную локально, но при попытке заставить их работать вместе возникает дублирование, конфликты целей и неоправданная сложность. Аналитик, видящий эту слоистую архитектуру, способен выявлять зоны избыточности, ставить вопрос о консолидации или, напротив, обоснованно сохранять независимость систем из-за физических либо операционных ограничений. Таким образом, системное мышление даёт не только понятийный каркас, но и инструмент для повышения совокупной эффективности бизнеса.
Роли и зоны ответственности

Процесс создания системы строится вокруг трёх ключевых ролей. Заказчик формирует потребности и описывает желаемый функционал на языке своей предметной области. Системный инженер специфицирует систему — переводит потребности в техническое задание, понятное разработчику. Разработчик непосредственно реализует систему согласно этому заданию. Важно понимать, что это именно роли, за каждой из которых может стоять множество сотрудников.

После реализации система демонстрируется заказчику, в ходе диалога выявляются недостатки и необходимость дополнительного функционала. Запускается итерационный цикл «уточнение — доработка — демонстрация», который продолжается до достижения компромисса. Системный инженер также поддерживает процессы жизненного цикла системы и обеспечивает слаженную работу всех её механизмов как единого целого. Системный аналитик и бизнес-аналитик не являются системными инженерами, но им критически необходимо системное мышление — понимание логики и границ инженерной роли.

Понятие системы

Система (от греч. «целое из частей») в прикладном контексте — это набор элементов, взаимодействующих для достижения заданной цели. Цель формулируется бизнесом и стейкхолдерами (stakeholders). Она является отправной точкой проектирования и позволяет через системные KPI оценить, насколько система успешна. Элементы, связи и внешняя граница — результаты проектирования. Система должна достигать цели автономно.

Классификации

Системы делятся на открытые и закрытые; естественные, искусственные и модифицированные человеком; абстрактные и конкретные; прецедентные и беспрецедентные и т.д. Системная инженерия работает с открытыми, искусственными или модифицированными, конкретными и прецедентными системами. Прецеденты — это обслуживаемые бизнес-процессы. Открытые системы имеют внешние интерфейсы для взаимодействия с операционной средой, внешние элементы могут принадлежать другим системам (системам второго уровня).

Система как продукт

Программная система может быть функционирующим продуктом (autonomous product) — готовым к использованию «из коробки» (Windows, Adobe Reader). Если же система требует адаптации под заказчика, она становится обеспечивающим продуктом (enabling product). Тогда к разработке добавляются внедрение на продакшн-серверы (production), доработка кода, тестирование, обучение персонала, сопровождение. Пример — самолёт: типовая модель Boeing кастомизируется под конкретную авиакомпанию (компоновка салона, оборудование), что требует гигантской цепочки согласований и изменений.

Два уровня описания

Логическое описание отвечает на вопрос «что?» — система разбивается на элементы, цель — на подфункции, определяется логика взаимодействия. Физическое описание отвечает на вопрос «как?» — конкретные агрегаты, компоненты и их физическая реализация.

Система систем (System of Systems, SoS)

Крупные продукты могут быть «системой систем» (SoS) — иерархией, где каждый узел представляет собой самостоятельную систему со своей целью. Поскольку каждая такая система локально оптимизирована, в глобальной SoS возникает дублирование функций и неоптимальность. Объединению дублирующих элементов могут препятствовать территориальная разнесённость, различия в целях или иные ограничения. Это порождает отдельный класс задач по оптимизации и поиску компромиссов.

Выводы

1. Процесс создания ИТ-решения включает три роли: заказчик выражает потребности, системный инженер переводит их в техническое задание, разработчик реализует.
2. Уточнение требований и доработка системы происходят итерационно до достижения компромисса, фиксируемого договорными документами.
3. Системный инженер обеспечивает целостность работы всех механизмов системы на протяжении её жизненного цикла.
4. Система в системной инженерии — это совокупность элементов, взаимодействующих ради заданной бизнесом цели.
5. Достижение цели измеряется системными KPI, что даёт объективную основу для приёмки и развития продукта.
6. Системная инженерия фокусируется на открытых, искусственных или модифицированных человеком, конкретных и прецедентных системах.
7. Открытая система имеет внешние интерфейсы, связывающие её с элементами операционной среды, которые могут принадлежать другим системам.
8. Функционирующий продукт готов к применению «из коробки», тогда как обеспечивающий продукт требует кастомизации, внедрения и сопровождения.
9. Логическое описание системы определяет «что» она делает, физическое — «как» конкретные компоненты это реализуют.
10. «Система систем» (SoS) — это иерархия самостоятельных систем, каждая со своей целью, что часто порождает дублирование функций и локальную субоптимизацию.
11. Бизнес-аналитик и системный аналитик не являются системными инженерами, но обязаны владеть системным мышлением для эффективной работы.
12. Разнесение элементов SoS в пространстве (например, в самолёте) может делать нецелесообразным создание общих компонентов даже при дублировании функций.

Вопросы для самопроверки

1. Какие три ключевые роли выделяются в процессе создания системы и как распределяется между ними ответственность?
2. Каким образом цикл «уточнение — доработка — демонстрация» влияет на итоговое содержание технического задания?
3. Что такое системное мышление и почему оно необходимо бизнес-аналитику, если он не является системным инженером?
4. Дайте определение системы с точки зрения системной инженерии и назовите её обязательные составляющие.
5. Какую роль в определении успешности системы играют бизнес-цели и системные KPI?
6. По каким ключевым признакам можно отнести систему к области компетенции системной инженерии?
7. В чём заключается различие между логическим и физическим описанием одной и той же системы?
8. Чем модель функционирующего продукта отличается от модели обеспечивающего продукта с точки зрения бизнес-процессов компании-разработчика?
9. Почему продажа типового самолёта конкретному заказчику превращается в пример обеспечивающего продукта?
10. Что такое «система систем» (SoS) и почему её глобальная архитектура часто оказывается неоптимальной?
11. Как внешние интерфейсы и операционная среда влияют на границы системы?
12. Приведите пример, когда дублирование функций в рамках SoS может быть оправданным, несмотря на неоптимальность.
Вернуться к учебному плану