ЦИФРОВАЯ ТРАНСФОРМАЦИЯ

Основной мировой тренд в бизнесе — цифровая трансформация. Что же подразумевают под этим термином?
  • Сделать данные полезными. Доступных данных (в цифре на компьютерах) становится всё больше — в некоторые годы происходило их удвоение. Те, кто способен извлечь из них пользу и взять на вооружение для бизнеса, получат значительное конкурентное преимущество, они и выживут в современном мире. Остальные просто погибнут, не выдержав конкуренции. Процесс принятия решений опирается на технологии работы с большими данными и искусственным интеллектом.
  • Предоставить доступ к продуктам и услугам через цифровое пространство (компьютер, телефон), а не через офисы организации.
Сейчас мир больше сфокусирован на решении второй задачи, потому что эффект от неё неоспоримо выше. Клиенты (особенно новое поколение) настолько не готовы ходить в офисы и отделения и так высоко ценят личное время и возможность получать продукты и услуги удалённо, что «голосуют деньгами» за тех, кто способен провести цифровую трансформацию своего бизнеса.
Лидерами в мире здесь стали финансовая и телекоммуникационная отрасли. В финансовой области лидером является Россия. Многочисленные международные отчёты подтверждают, что настолько высокого цифрового проникновения в финансовой сфере, как в России, нет нигде в мире. Согласно исследованию экспертов Ernst&Young, индекс проникновения цифровых услуг в России — 43%, это больше, чем в среднем в мире и в США (там он составляет 33%).
Пионеры цифровой трансформации потратили и продолжают тратить колоссальные средства на её реализацию. Большинство компаний в России не смогут столько вкладывать в свою цифровую трансформацию. Для них жизненно необходимо организовать эффективное производство программного обеспечения, опираясь на готовые платформы. Это снижает стоимость цифровой трансформации на один-два порядка. Платформы, которые помогают бизнесу провести цифровую трансформацию, называются цифровыми платформами.
Второй серьёзный тренд — импортонезависимость, что означает:
  • использование продуктов, включённых в реестр российского программного обеспечения;
  • использование программных компонентов с открытым исходным кодом, взятых под ответственное владение;
  • размещение программных компонентов в расположенных на территории России центрах обработки данных.
Строго говоря, использование программных компонентов с открытым исходным кодом нельзя считать совершенно независимым от импорта, потому что их исходный код, как правило, находится в репозиториях, расположенных за границами Российской Федерации. И отключение доступа к репозиторию, например, по политическим причинам, сделает невозможным сопровождение решения, построенного на компонентах с открытым исходным кодом.
Цифровая трансформация бизнеса обеспечивается на базе цифровых платформ, обладающих рядом характеристик.
  • Процессность — продукты и услуги представлены как процессы, которыми пользуются люди (клиенты и сотрудники). Развитие организации неминуемо связано с развитием процессов, их качества, контроля исполнения, сроков прохождения и т. д. Организацией управляют через ситуационный центр, где в режиме онлайн идёт контроль над выполнением процессов в разрезе каждого отдельного сотрудника и с агрегацией по продуктам, подразделениям, филиалам и пр. Мотивация сотрудников к повышению качества их работы осуществляется через монитор качества с демонстрацией текущих результатов работы и сравнения с другими сотрудниками.
  • Омниканальность — доступ к процессам (продуктам и услугам) возможен через любые каналы, основные из которых: веб- и мобильное приложение, call-центр, личный кабинет сотрудника. Каналы являются точками доступа к процессам и не содержат логики (только интерфейсы). В такой архитектуре цифровое пространство становится единым (как и видят его клиенты), а продукты и услуги как процессы могут инициироваться в одном канале (например, клиентом) и продолжаться в другом (предположим, сотрудником организации).
  • Непрерывность — платформа должна работать в режиме 24/7, без технологических перерывов на смену версий. Это возможно только при использовании для её создания нового стека технологий, называемого микросервисной архитектурой.
  • Производительность — при переходе бизнеса в цифровое пространство транзакционность (число операций в единицу времени) вырастает в 10−100 раз по сравнению с обслуживанием клиентов в отделениях. За это отвечает новый стек технологий, который позволяет линейно (пропорционально увеличивая затраты на технику) разогнать решение вплоть до 3000 TPS (англ. transactions per second) и выше.
  • Самообслуживание — клиенты и сотрудники получают доступ к продуктам и услугам в режиме 24/7. Процессы выполняются без участия сотрудников.
  • Импортонезависимость — компоненты платформы должны быть зарегистрированы в реестре российского программного обеспечения или базироваться на компонентах с открытым исходным кодом, взятых под ответственное владение. Исходный код или его копия должны находиться в репозитории, расположенном на территории Российской Федерации, а компания-поставщик — обладать компетенцией по сопровождению и развитию этих компонентов.
Достаточно ли реализовать доступ к процессам через цифровые каналы, предположим, через мобильное приложение, чтобы утверждать, что цифровая трансформация произведена? К сожалению, нет. У многих мобильные приложения есть уже 10−20 лет, а пользы для бизнеса нет.
На самом деле нужно строить цифровую систему управления бизнесом.
  • Продукты — это процессы. И описывать любой из них нужно как процесс. Это позволяет быстро развивать бизнес: оперативно описывать новые или развивать текущие продукты — и мгновенно обеспечивать к ним доступ через цифровые каналы.
  • Управляем тем, что измеряем. Измеряем процессы.
  • Сроки на их отдельные этапы, особенно там, где участвуют сотрудники.
  • Сроки на весь процесс. Командная ответственность за результат. Если весь процесс — не в «зелёной зоне» (скажем, потому что могут быть возвраты к началу из-за некачественного прохождения отдельных этапов), пропорционально уменьшается оценка всех этапов процесса.
  • Контроль отказов от входа в процесс. Например, требование излишних документов от клиента для начала процесса, а по сути — отказ от ответственности за возможный негативный сценарий.
  • Оценка количества завершённых процессов, например, когда у сотрудника KPI на продажи. Вы должны уговорить клиента и продать продукт — пройти по процессу.
  • Ситуационный центр — система управления. Агрегация и визуализация измеряемой информации в режиме онлайн:
  • по процессам (продуктам);
  • по организационной структуре;
  • по географии присутствия;
  • по ролям сотрудников.
Детализация информации вплоть до конкретного сотрудника. Принятие решений на основе актуальной информации в режиме реального времени. Это и есть система управления бизнесом.
  • Мотивационная среда для сотрудников. Монитор для сотрудника:
  • расчёт и визуализация его KPI — помогаем сотруднику быть хорошим и справляться;
  • агрегация и визуализация рейтинга сравнения с референсной группой (сотрудников этой же роли и этого же подразделения) — мощный мотиватор к тому, чтобы не отставать от коллег.
  • Цифровые каналы — удобство доступа.
Таким образом, руководители получают инструмент управления (измеряем и можем управлять в режиме онлайн), а сотрудники понимают, где надо прилагать усилия и как самостоятельно справляться — чтобы их руководителям и не нужно было управлять.

Архитектура приложений

Подход к построению эффективного производства программных продуктов позволяет существенно снизить стоимость разработки, независимо от языка программирования и выбранной архитектуры приложений. А правильный архитектурный подход усиливает положительный эффект хорошо организованного производства программных продуктов.
Цифровая трансформация как способ предоставления услуг через цифровые каналы выдвигает серьёзные требования к архитектуре приложений.
  • Высокая масштабируемость — необходимо обслуживать тысячи и даже миллионы клиентов.
  • Эластичное масштабирование используемых ресурсов — сейчас экстремальные нагрузки может испытывать один сервис, через полчаса — другой. Сервисы должны, при необходимости, занимать свободные ресурсы, а при снижении нагрузки сразу их освобождать.
  • Надёжность и отказоустойчивость — любой, даже незначительный, простой цифрового сервиса может стать причиной потери потенциальных клиентов и роста негативных отзывов клиентов.
  • Работа в режиме 24/7 и полное отсутствие технологических окон для модернизации — клиенты могут прийти за сервисом в любое время дня и ночи.
  • Простой, понятный и лаконичный интерфейс цифрового сервиса. Не стоит забывать, что клиент готов уйти к конкуренту, даже при столкновении с незначительной сложностью или нелогичностью работы сервиса.
  • Омниканальность — клиенты обращаются к цифровым сервисам через привычные и удобные для себя каналы: мобильное приложение, мессенджер или веб-браузер, причём могут менять их по своему усмотрению.
  • Способность быстро адаптировать бизнес-процессы к изменениям потребностей и ожиданий клиентов. Сегодня жизненно необходимо оперативно внедрять в процессы как свои ноу-хау, так и удачные находки конкурентов.
Перечисленным выше требованиям во многом отвечает микросервисная архитектура. Такое название получил вариант сервис-ориентированной архитектуры программных продуктов, «заточенный» на взаимодействие небольших, слабо связанных и легко заменяемых компонентов — микросервисов.
Сервис-ориентированная архитектура (SOA, англ. service-oriented architecture) — компонентный подход к разработке программных продуктов. Он основан на использовании распределённых, слабо связанных, заменяемых компонентов, оснащённых стандартизированными интерфейсами для взаимодействия по стандартизированным протоколам.
Использование микросервисной архитектуры хорошо согласуется с предлагаемым подходом к разработке программных продуктов. Небольшой сервис или микросервис можно полностью реализовать одной командой, а набор — группой команд разработки. Таким образом, набор микросервисов может быть реализован группой команд независимо друг от друга.
Такой подход позволяет хорошо масштабировать разработку приложений. Вполне реально сделать тысячу микросервисов параллельно тысячей команд разработки. Но как обеспечить, чтобы они выглядели одинаково, как если бы были разработаны одной командой? Чтобы все микросервисы и их графические интерфейсы пользователя соответствовали изложенным выше требованиям? Как добиться того, чтобы их функционал не дублировался? Если специально не предпринимать усилий, на выходе можно получить десятки микросервисов с абсолютно идентичной функциональностью. Мало того, что на текущий момент разработка приложений — очень дорогое удовольствие, так получится ещё дороже, если делать одно и то же многократно. И как быть с тем, что микросервисы слишком мелкие, а интерфейс их взаимодействия носит чересчур технический характер? Только технические специалисты могут использовать микросервисы и строить из них бизнес-приложения. Ведь никакие модные low-code платформы не позволят среднестатистическому бизнес-пользователю, не обладающему техническими компетенциями, самостоятельно разрабатывать бизнес-процессы и приложения. А это значит, требование оперативной адаптации бизнес-процессов к изменениям потребностей клиентов не будет выполняться.
Одним из вариантов решения поставленных вопросов может стать создание архитектурного департамента, включающего десятки или даже сотни архитекторов, которые будут следить, чтобы все эти риски не сработали. Но это ведёт к ещё большему удорожанию разработки программных продуктов. А эффективность может быть низкой, потому что архитектурный надзор, как правило, идёт формально, по документам. Документы же могут не соответствовать реальному положению дел.
Нет, я вовсе не призываю отказываться от архитектурного департамента, наоборот, считаю его обязательным элементом производственной структуры. Важно выстроить работу таким образом, чтобы инструменты сами помогали командам правильно разрабатывать микросервисы и следовать принятым правилам и стандартам. Количество архитекторов — не гарантия качества работы департамента.
Так как же выстроить работу, чтобы снизить риски и соответствовать требованиям к архитектуре приложений? Дальше я постараюсь ответить на этот вопрос.

Архитектурные принципы

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

Архитектурные принципы

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

Компонуемая бизнес-архитектура

Компонуемая бизнес-архитектура (англ. composable business architecture) — наиболее гибкий путь к расширению функциональных возможностей приложения с помощью рекомбинации отдельных блоков. Самой доступной аналогией может служить детский конструктор: соединяя отдельные детали различными способами, получаем фигуры для многих вариантов использования.
Иными словами, созданное по принципу «компонуемой бизнес-архитектуры» приложение должно состоять из отдельных блоков, которые можно реиспользовать для создания нового приложения без программирования.
Ключевые характеристики компонуемой бизнес-архитектуры:
  • модульность — оптимальный размер решения, лёгкое сопровождение, компоненты предназначены для первичной и повторной сборки решения в разных контекстах, чтобы обеспечить соответствие меняющимся бизнес-потребностям;
  • автономность — отдельные компоненты, минимум взаимозависимостей между ними;
  • оркеструемость — компоненты легко включаются в новые бизнес-процессы;
  • обнаруживаемость — компоненты сами включаются в каталог маркетплейса, легко выявляются и дают полную информацию о себе.
Приложение, состоящее из микросервисов, лишь частично соответствует принципу компонуемой архитектуры. Микросервисы можно использовать для создания нового приложения, но сделать это с небольшим объёмом кода (англ. low-code) и уж тем более совсем без программирования — не получится. Кода будет чересчур много. Поэтому для реализации этого принципа нужны более крупные строительные блоки — Packaged Business Capabilities (PBC).
Проще говоря, большие решения для бизнеса состоят из набора PBC, а они в свою очередь — из набора микросервисов. Из этих строительных блоков бизнес и может строить большие решения.
Примером реализации компонуемой архитектуры служат решения компании «Диасофт». Они называются платформами развития, состоят из наборов PBC и закрывают различные потребности бизнеса, например, работу на финансовых рынках, обслуживание корпоративных и розничных клиентов.

Платформы развития

Примером реализации компонуемой архитектуры служат решения компании «Диасофт». Они называются платформами развития, состоят из наборов PBC и закрывают различные потребности бизнеса, например, работу на финансовых рынках, обслуживание корпоративных и розничных клиентов.

Строительные блоки бизнес-приложений

Бизнес — это возможности. PBC — программный компонент (мини-приложение), содержащий в себе реализацию набора этих возможностей. То есть строительный блок для создания цифрового двойника бизнеса. PBC — это набор микросервисов, данных, методов программного интерфейса (API) и пользовательских диалогов, адаптивных или специфичных для каждого из каналов, где его планируется публиковать.
Почему недостаточно одних лишь микросервисов? Разумеется, можно создать лучшее в своём классе решение для бизнеса, состоящее из 50 или даже 100 микросервисов (причём каждый из них ещё и от разных поставщиков). Но никто так не делает, потому что при таком подходе неминуемы заоблачные затраты на интеграцию и больше десятка пользовательских интерфейсов, не стыкующихся друг с другом. И всё это в рамках одного решения, предназначенного вниманию единственного бизнес-пользователя. А если их будет несколько?
Это становится похоже на кошмар — вот почему компании создают цифровые решения из более крупных частей. PBC создаёт баланс в мире микросервисного хаоса и отвечает на давно повисший в воздухе вопрос.
Как определить правильный размер РВС?
  • PBC слишком мал, если для любого бизнес-пользователя нужны дополнительные PBC.
  • PBC слишком велик, если бизнес-пользователь использует (через API) лишь его отдельные части (микросервисы), никогда не обращаясь ко всему PBC напрямую.
  • PBC правильного размера, когда бизнес-заказчик может сразу же чётко связать его со своим бизнес-доменом на предприятии и быстро описать, чего от него ожидает.
Снова воспользуюсь аналогией из строительной отрасли. Дом можно построить из кирпичей, блоков или бруса — своего рода «микросервисов». А можно из заранее собранных квартирных блоков: однокомнатный, двухкомнатный, трёх- и четырёхкомнатный блоки — аналог PBC. Спроектировать и построить дом, комбинируя квартирные блоки, значительно проще и быстрее, чем возводить его из кирпичей. Причём бизнес-заказчик может самостоятельно скомбинировать дом из квартирных блоков, тогда как для постройки из кирпичей необходим архитектор.

PACKAGED BUSINESS CAPABILITIES (PBC)

Бизнес — это возможности. PBC — программный компонент (мини-приложение), содержащий в себе реализацию набора этих возможностей. То есть строительный блок для создания цифрового двойника бизнеса.
Используя комбинации таких «мини-приложений» (PBC), каждое бизнес-подразделение, команда или отдельный бизнес-пользователь в рамках организации вполне сможет создавать собственные функциональные приложения с помощью композиционной платформы.

Композиционная платформа

Композиционная платформа позволяет пользователю самостоятельно, путём рекомбинации PBC, создавать необходимые приложения. Фактически эта платформа включает в себя:
  • каталог PBC, где самостоятельно регистрируются все имеющиеся PBC;
  • инструменты компоновки приложений на основе PBC;
  • инструменты создания единого графического интерфейса пользователя;
  • средства публикации созданных приложений во всех цифровых каналах;
  • средства управления доступом для различных категорий пользователей.
Композиционная платформа
В качестве примера реализации композиционной платформы приведу экосистему цифровой трансформации Digital Q компании «Диасофт». Экосистема цифровой трансформации Digital Q включает в себя 34 платформы и более 110 РВС, обеспечивающих быструю и надёжную разработку программных продуктов для решения любых бизнес-задач с минимальными затратами. Платформы объединены в четыре группы — производственные, технологические, инфраструктурные и кросс-продуктовые. Подробнее об экосистеме речь пойдёт в соответствующей главе книги.
Чтобы скомпонованные из сотен и тысяч разработанных разными командами PBC-приложения для конечного пользователя выглядели как единое целое, применяется дизайн-система.

Дизайн-система

Дизайн-система — целостный визуальный язык и его техническое отражение в виде библиотеки компонентов на едином репозитории и сопутствующих дизайнерских шаблонов. Она включает в себя библиотеки шаблонов, руководства по стилю и другие объекты.
Дизайн-система — это не сами компоненты, а то, что связывает их воедино. То есть правила и ограничения, которые указывают, как эти шаблоны работают вместе, когда и где целесообразно использовать каждый. Критически важно, чтобы существовал ресурс, где будет отражена дизайн-система со всеми составляющими. Он упростит взаимодействие с дизайн-системой, поскольку станет единым «источником правды», с которым можно будет регулярно сверяться в процессе работы. Пример реализации дизайн-системы — технологическая платформа Digital Q.Palette от компании «Диасофт».

ДИЗАйН-СИСТЕМА

Омниканальность

Цифровая трансформация отличается от автоматизации фокусировкой на доступности продуктов и услуг (сервисов) предприятия в цифровых каналах. Все цифровые сервисы должны быть доступны в любом канале.
  • Клиент или сотрудник могут начать операцию в одном канале, а завершить — в другом.
  • Пользовательский опыт одной и той же операции для одного и того же клиента или сотрудника в разных каналах должен быть одинаковым, а графический интерфейс пользователя — схожим.
Информация о действиях клиента или сотрудника и взаимодействии с ним должна быть доступна во всех каналах. Поэтому цифровые сервисы создаются не под канал, а с прицелом публикации их во всех каналах, причём сразу, одной командой разработки.
Разве это возможно? Да, но для этого продуктовая логика должна быть сосредоточена внутри микросервисов, инвариантных к каналам. А необходимые этой продуктовой логике графический интерфейс пользователя и логика взаимодействия с ним пользователя — совместимы для всех каналов и выпущены в одном релизном цикле с микросервисами.
Один PBC — это один продукт для всех каналов, созданный усилиями одной команды разработки. Такой PBC уже создан омниканальным. А омниканальное решение создаётся из отдельных омниканальных PBC.
Другой способ реализации омниканального решения — собрать для каждого канала множество команд разработки. Но обеспечить в будущем соблюдение принципа омниканальности становится практически невозможным, потому что придётся пойти путём интеграции разных канальных приложений, а это повлечёт за собой неприятные последствия:
  • слишком большие затраты на интеграцию (до 90% всех затрат);
  • высокая стоимость решения из-за дублирования функционала для разных каналов;
  • некачественный конечный результат из-за невозможности обеспечить бесшовные процессы в разных каналах;
  • высокая сложность управления процессом.
Создание приложений для каналов отдельными командами неизбежно приводит к рассогласованию логики взаимодействия, а также к дополнительным усилиям на создание у пользователя впечатления бесшовного взаимодействия в разных каналах. Такое решение является не омниканальным, а кросс-канальным.
Для снижения стоимости создания омниканальных PBC компания «Диасофт» предлагает набор технологических платформ, входящих в экосистему цифровой трансформации.

Омниканальность

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

ЭКОСИСТЕМА ЦИФРОВОЙ ТРАНСФОРМАЦИИ

Компания «Диасофт» создала экосистему цифровой трансформации:
  • для построения эффективной производственной среды;
  • для полной автоматизации производственных процессов;
  • для разработки архитектурно правильных решений;
  • для повсеместного использования готовых компонентов и low-code инструментов;
  • для выделения большего времени на решение уникальных бизнес-задач.
Модульная архитектура приложений стала достаточно распространённой практикой, при этом технологическая платформа, на которой разрабатываются модульные приложения, является монолитом со всеми присущими ему ограничениями:
  • отсутствует или слабо представлен слой API;
  • отсутствует модульное обновление; возможно лишь полное обновление платформы, что тянет за собой полное тестирование всех построенных на её основе приложений;
  • отсутствует возможность выбора лучших компонентов платформы.
Экосистема цифровой трансформации компании «Диасофт» представляет собой реализацию компонуемой архитектуры в части технологических платформ. Это набор технологических платформ для перевода существующих сервисов в цифровые каналы, создания новых цифровых сервисов и реализации собственного производства цифровых сервисов. Такой подход наилучшим образом реализует концепцию Digital First. То есть сначала реализуется цифровая версия услуги, а затем, при необходимости, её физический вариант.
В соответствии с принципами компонуемой архитектуры возможно следующее:
  • использование только необходимых технологических платформ;
  • выбор лучшей реализации компонентов;
  • создание собственных технологических платформ с новыми свойствами на основе PBC, входящих в состав технологических платформ экосистемы цифровой трансформации.
Принцип использования технологических платформ наиболее полно раскрывается на примере low-code платформы по проектированию и созданию PBC и микросервисов — Digital Q.Archer. Она предоставляет инструменты для проектирования PBC в терминах узнаваемых бизнес-заказчиком объектов — API и событий, которые понадобятся для интеграции PBC в процессы на уровне бизнес-домена или предприятия, а также для создания программных сервисов. Пользователь описывает бизнес-объекты предметной области и связи между ними.
Экосистема цифровой трансформации и платформы развития

СОЗДАНИЕ PACKAGED BUSINESS CAPABILITIES (PBC)

Опираясь на готовые платформы экосистемы цифровой трансформации, компании получают огромную экономию по стоимости своей трансформации и существенно сокращают её сроки.
На основании описания Digital Q.Archer позволяет автоматически:
  • создавать необходимый набор микросервисов и распределять по ним бизнес-объекты;
  • генерировать типовой набор контрактов методов и событий по каждому микросервису;
  • генерировать исходный код по каждому микросервису;
  • создавать с использованием платформы управления исходным кодом — Digital Q.VCS — ветки для каждого микросервиса и сохранять в них исходный код;
  • запускать с помощью платформы управления CI/CD-конвейером Digital Q.DevOps сборку и выпуск каждого микросервиса;
  • развёртывать контейнеры с микросервисами, используя инфраструктурную платформу управления контейнерами Digital Q.Kubernetes.
Технологическая low-code платформа Digital Q.Archer даёт возможность пользователю (даже не имеющему квалификации разработчика) создавать рабочие приложения в микросервисной архитектуре буквально с помощью одной кнопки, чем существенно экономит трудозатраты на создание PBC.
Опираясь на готовые платформы экосистемы цифровой трансформации, компании получают огромную экономию по стоимости своей трансформации и существенно сокращают её сроки.

Производственные платформы

Фундамент экосистемы — производственные платформы, позволяющие просто, организационно правильно и эффективно разрабатывать программные приложения за счёт повсеместной автоматизации производственных процессов. Производственные платформы автоматизируют:
  • весь жизненный цикл программного продукта — от формирования требований до запуска в промышленную эксплуатацию и последующего сопровождения;
  • все процессы эффективной командной работы по методологии Scrum и использующие наилучшие практики, наработанные компанией «Диасофт»;
  • управление производством, состоящим из сотен команд и направленным на постоянное повышение производительности и эффективности работы команд.
ПЛАТФОРМА DIGITAL Q.REQUIREMENTS
Платформа Digital Q.Requirements «Управление требованиями» — позволяет управлять требованиями от возникновения бизнес-потребности до её программной реализации. С её помощью можно быстро и в полном объёме выявлять, фиксировать бизнес-требования и с высокой точностью оценить трудоёмкость реализации. Помогает управлять скопом проекта с помощью матрицы трассировки, а также проектировать решение по заранее подготовленным шаблонам, опираясь на понятные и прозрачные архитектурные принципы. Контролирует архитектуру решения с помощью fitness-функций. Автоматически формирует удобную пользовательскую и сопроводительную документацию.
Платформа состоит из набора PBC:
  • «Архитектурные принципы» — для формирования, утверждения и контроля применения архитектурных принципов. Инструмент автоматизирует работу с архитектурными принципами на всех этапах жизненного цикла: от идеи до архитектурного надзора. А именно, позволяет вести реестр архитектурных принципов и их характеристик, контролировать соблюдение архитектурных принципов средствами платформы Digital Q.Health «Мониторинг здоровья», вести реестр архитектурных паттернов, устанавливать связь между паттерном и принципом, устанавливать связь между архитектурными принципами и правилами компании.
  • «Входящие требования» — для регистрации входящих требований, описания бизнес-процессов, бизнес-требований, функциональных и нефункциональных требований и последующего автоматического формирования технического задания и архитектуры решения.
  • «Управление требованиями» — для формализации процессов аналитической работы, подготовки решения и сопроводительной документации.
  • «Пользовательская документация» — инструмент автоматической подготовки и последующей визуализации пользовательской документации PBC. Пользовательская документация включает в себя описание бизнес-процессов, бизнес-объектов, алгоритмов, API и событий, инструкции по использованию.
ПЛАТФОРМА DIGITAL Q.DEVOPS
Платформа Digital Q.DevOps «CI/CD-конвейер» — объединённый в конвейер набор инструментов и технологий для непрерывных процессов интеграции, тестирования, доставки и развёртывания программных продуктов.
Платформа состоит из набора PBC:
  • «Сборка» — инструменты непрерывной интеграции. Сборка приложений из исходного кода, размещение артефактов сборки в репозитории.
  • «Автоматизированное тестирование ПО» — инструменты для непрерывного автоматизированного тестирования, контроля версий и слияния кода. Запуск и анализ результатов автоматических тестов:
  • Unit-тесты;
  • функциональные тесты через пользовательский интерфейс;
  • функциональные тесты для API;
  • smoke-тесты для нагрузочного тестирования.
  • «Статические анализаторы кода» — инструменты для непрерывного статического анализа кода, например, SonarQube и собственной разработки компании «Диасофт».
  • "Хранилище образов" — хранение и доставка docker-образов на целевые стенды. Обеспечивает доступ к необходимым настройкам реестров образов и позволяет управлять правилами доставки docker-образов.
  • «Развёртывание» — инструмент управления автоматическим развёртыванием компонентов на платформах управления контейнерами, например, Digital Q.Kubernetes.
  • «Конвейер» — инструмент управления сценарием интеграции и доставки. CI/CD-конвейер непрерывной интеграции, непрерывной доставки, непрерывного развёртывания и автоматизации выпуска продуктов, построенный на базе Jenkins.
ПЛАТФОРМА DIGITAL Q.CMDB
Платформа Digital Q.CMDB «Управление конфигурацией» создана для учёта IT-компонентов (от физических стендов до установленных на них продуктов), планирования целевой конфигурации и управления развёртыванием целевой конфигурации согласно проектным планам и регламентам.
Платформа состоит из набора PBC.
  • «Каталог IT-компонентов» — учёт IT-компонентов:
  • физические и виртуальные серверы;
  • кластеры СУБД;
  • кластеры серверов приложений;
  • кластеры платформ управления контейнерами;
  • кластеры брокеров сообщений;
  • кластеры http-серверов;
  • файловые серверы и т. д.
Учёт связей между IT-компонентами.
  • «Управление конфигурацией стенда» — учёт конфигураций продуктов и PBC, установленных на стендах. На основе конфигурации стенда может быть получена схема развёртывания внедряемого решения, выполнено планирование поставок новых решений и т. д.
  • Приложение обеспечивает выполнение следующих задач:
  • актуализация справочника конфигурации продуктов и PBC, установленных на стенде;
  • использование конфигурации стенда при планировании поставок новых решений.
  • «Планирование поставок» — планирование конфигурации поставок с учётом бизнес-задач, управление развёртыванием целевой конфигурации согласно проектным планам и регламентам.
  • Обеспечивает выполнение следующих задач:
  • планирование сроков и порядка установки поставок;
  • передача поставки на установку в платформу Digital Q.DevOps;
  • передача поставки заказчику;
  • проверка успешности установки на стенд;
  • автоматическое определение стендов.
ПЛАТФОРМА DIGITAL Q.VCS
Платформа Digital Q.VCS «Система контроля версий» — гибкое конфигурационное управление. Платформа «скрывает» реальную систему контроля версий, например, Git или Bitbucket. Позволяет работать с любыми распространёнными системами контроля версий исходного кода и репозиториями артефактов, например, Sonatype Nexus.
Платформа состоит из набора PBC.
  • «Хранилище кода» позволяет работать с популярными системами контроля версий, например, Git. Помогает организовать хранение исходного кода приложений. Обеспечивает управление репозиториями кода и хранит информацию о коммитах.
  • «Конфигурационное управление» решает задачу контроля выполнения правил конфигурационного управления, например, правил работы с ветками исходного кода, хранения связи изменения кода с другими конфигурационными элементами (сервисами, задачами), для которых оно предназначено.
  • «Репозиторий артефактов» обеспечивает работу с популярными репозиториями артефактов, например, Sonatype Nexus. Ведет учёт владельцев библиотек и групп библиотек, хранит связь между версиями библиотек и конфигурационными элементами.
ПЛАТФОРМА DIGITAL Q.TASKS
Платформа Digital Q.Tasks «Управление задачами» — это единая система управления задачами с понятными моделями состояний и актуальной информацией о статусе. Платформа «скрывает» реальную систему работы с задачами, например, Redmine или Atlassian Jira.
Платформа состоит из набора PBC:
  • «Трекер задач» позволяет гибко настроить типы задач и их модели состояний. Обеспечивает инструментальную поддержку основных процессов разработки, таких как реализация требований и исправление ошибок. Реализует процессы и регламенты решения задач, оценку трудоёмкости задач через нормирование.
  • «Работа в спринтах» — для создания и планирования спринтов команд, установки и оценки их целей. Помогает командам проводить демонстрацию реализованной функциональности, завершая рабочий цикл сессией по выработке мероприятий для улучшений уже в следующем спринте. Содержит следующие инструменты: интерактивная доска задач спринта, график сгорания задач, объём спринта, нормативные трудозатраты.
  • «Управление распределёнными трекерами задач» обеспечивает интеграцию различных типов и экземпляров трекеров. Устанавливает соответствие между различными моделями состояний и типами задач, маршрутизирует задачи, синхронизирует спринты между различными трекерами.
ПЛАТФОРМА DIGITAL Q. TEAMS
Платформа Digital Q.Teams «Осознанные команды» предназначена для объединения людей в команды, улучшения их результатов и получения эффекта синергии командной работы.
Платформа состоит из набора PBC:
  • «Команды» — интерактивный конструктор, позволяющий создавать, измерять и управлять зоной владения, а также компетенциями участников команд. Организация людей в устойчивые, компетентные, сбалансированные, самостоятельные, кросс-функциональные scrum-команды с понятными показателями производительности.
  • «Мастер практик» — учёт используемых командами практик. Отслеживание уровня зрелости применения практики в командах. Содержит инструменты помощи agile-коучу в пилотировании и масштабировании практик на всю организацию. Содержит реестр успешно применяемых в компании «Диасофт» практик с измеряемыми показателями, признаками осознанности их применения и внедрения, включая самый популярный в мире фреймворк процессной работы SCRUM. Помогает командам непрерывно работать над приростом программных продуктов, вместе с заказчиком систематически проводить ретроспективы и корректировать стиль своей работы. Это делает работу команд прозрачной и предсказуемой.
  • «Носитель культуры» помогает каждой роли в команде определить точки роста и создавать продукты в соответствии с технологиями. Фокусирует каждого участника команды на своей зоне ответственности. Помогает соблюдать и поддерживать технологию аналитики, разработки и тестирования создаваемых программных продуктов. Предоставляет виджет с показателями команды для каждой роли.
  • «Доска команды» — интерактивный монитор основных показателей команды и списка актуальных задач.
ПЛАТФОРМА DIGITAL Q. MANAGEMENT
Платформа Digital Q.Management «Умное управление» предназначена для организации эффективной работы IT-команд. Ведёт сбор и расчёт агрегированных показателей производства программных продуктов. Собирает показатели производства программных продуктов на единой панели. Помогает предупредить возникновение узких мест в производственном процессе. Обеспечивает управляемое сокращение стоимости производства в 12 раз за счёт нормирования типовых работ и других инструментов.
Платформа состоит из набора PBC:
  • «Нормирование задач» — для оценки задач на основе нормативов типовых работ. Контролирует осознанное использование нормативов в командах и анализирует результаты их применения для снижения трудоёмкости работ. Виджет нормирования подключается к любому веб-приложению, например, к системе управления задачами. Фактические трудозатраты можно сравнить с нормативной трудоёмкостью, выявить отклонения на ранних стадиях проекта. Эксперты корректируют действующие нормативы на основе анализа их использования. Показатель осознанности нормирования учит команды оценивать свои работы.
  • «Оценка спринтов» — для комплексной оценки работы команд в спринтах и контроля договорённостей с заказчиком. Выполняется расчёт агрегированных показателей по завершённым спринтам и расчёт прогнозных значений этих показателей по действующим спринтам. Команды проактивно информируются при выходе значений показателей из допустимого коридора. Формируется понимание того, что надо изменить в организации командной работы по Scrum.
  • «Ситуационный центр команд» — единая панель всех показателей работы всех команд. Управление организацией осуществляется через ситуационный центр, где в онлайн-режиме контролируется выполнение процессов в разрезе каждого сотрудника или команды, с агрегацией по продуктам и организационной структуре.
  • «Эффективность в проектах» — для автоматизации контроля бюджетов и сроков IT-команд в проектах. Менеджеры проектов ставят задачи командам в спринты. Команды выполняют работу в нужный по проекту срок, попадая при этом в ранее согласованный бюджет.
  • «Рейтинг команд» обеспечивает публичную соревновательную среду для IT-команд.
  • «Производственные показатели» — библиотечный PBC для быстрой реализации собственных показателей и подключения их к ситуационному центру команд.
  • «Монитор производственных рисков» обеспечивает мониторинг и контроль основных производственных показателей: попадание в норматив, зависшие задачи и другие. Обеспечивает проактивное информирование об отклонениях и формирует инциденты при грубых нарушениях производственных процессов.
ПЛАТФОРМА DIGITAL Q. DEVPROFILE
Платформа Digital Q.DevProfile «Цифровой профиль производства» — единая витрина для доступа к информации о работе IT-команд. Если в организации несколько команд разработки и они используют разные инструменты, например, для ведения задач и спринтов, в какой-то момент хочется заглянуть «под капот» каждой из них и сравнить результаты. Для этого нужно одно место, где хранятся данные из разных мест. Это и есть «Цифровой профиль производства».
Платформа состоит из набора PBC:
  • «Цифровой профиль производства» обеспечивает быстрый доступ к информации о работе IT-команд. Состав предоставляемых данных:
  • команды, состав команд, функционал команд;
  • спринты, плановый и фактический список задач спринтов, ретроспективы спринтов;
  • задачи с нормативом, концепциями, списком изменённых файлов с кодом;
  • ветки с кодом с датами архивации последнего коммита, неслитого коммита;
  • сборки кода со статусом (успешная/неуспешная), с временем от неуспешной до успешной сборки;
  • информация по коду: ошибки инспекции кода, запуска автотестов и т. д.

Производственные платформы

Производственные платформы автоматизируют все процессы эффективной командной работы по методологии Scrum и используют наилучшие практики, наработанные компанией «Диасофт».

Технологические платформы

Чтобы разработать даже простейший компонент, приходится решать много базовых вопросов:
  • как будет реализована аутентификация и управление доступом;
  • как обеспечить взаимодействие с инфраструктурными компонентами, например, какой и каким образом будет использоваться фреймворк для формирования запросов к базе данных и получения ответов, какой при этом будет использоваться протокол;
  • как сервисы будут взаимодействовать друг с другом и т. д.
Прежде чем разработчик начнёт писать бизнес-код, он потратит огромное количество времени на решение базовых вопросов. Даже опираясь на фреймворки и библиотеки с открытым исходным кодом, всего 10% времени он потратит на сам код и 90% — на базовые вопросы. Именно поэтому большую популярность приобрели готовые технологические платформы разработки. Они закрывают большинство базовых вопросов, и программист может практически сразу приступать к написанию бизнес-код.
Технологические платформы — low-code платформы, которые включают готовые шаблоны, компоненты и инструменты для быстрого создания архитектурно правильных программных приложений и публикации их в цифровых каналах. Технологические платформы предназначены для быстрого, буквально в несколько кликов, создания как отдельных компонентов, обладающих широкими функциональными возможностями, так и законченных высоконагруженных решений уровня предприятия. Платформы собраны на базе готовых библиотек с открытым исходным кодом, взятым под ответственное владение.
ПЛАТФОРМА DIGITAL Q. ENVIRONMENT
Платформа Digital Q.Environment «Системное окружение» обеспечит решение базовых системных задач: версионирование бизнес-объектов, взаимодействие с инфраструктурными компонентами, сбор метрик показателей здоровья компонентов и многих других.
Платформа состоит из набора PBC:
  • «Версионность» — ведение истории объектов и управление их версиями.
  • «Расписание заданий» управляет периодическими операциями. Поддерживается вызов по расписанию REST API. Отправка сообщений в Digital Q.Kafka. Запуск BPMN-процессов.
  • «Взаимодействие с хранилищами данных» обеспечивает работу с файловыми хранилищами по различным протоколам, например, «S3».
  • «Нотификация» обеспечивает настройку шаблонов уведомлений и адресов рассылки, отправку уведомлений по различным каналам, например, почтовыми серверами и sms-центрами.
  • «Взаимодействие со службами обнаружения сервисов» обнаруживает доступные реестры сервисов и обеспечивает регистрацию в них микросервисов.
  • «Генератор отчётов» — ведение шаблонов отчётов, построение пользовательских отчётов в различных форматах по шаблонам.
  • «Кэширование» обеспечивает взаимодействие с распределёнными кэшами, например, с системой с открытым исходным кодом Hazelcast IMDG, Apache Ignite, Infinispan.
  • «Сотрудники» — цифровой профиль штатной структуры организации, включает реестр сотрудников организации с назначенными ролями.
  • «Автонумерация» позволяет настраивать маску нумерации объектов системы, автоматически вычислять следующий номер по маске.
ПЛАТФОРМА DIGITAL Q.SECURITY
Платформа Digital Q.Security «Обеспечение безопасности» обеспечит решение базовых системных задач: аутентификация, управление ролями и правами доступа пользователей, протоколирование событий информационной безопасности.
Платформа состоит из набора PBC:
  • «Аутентификация» поддерживает OAuth2 и более двадцати схем аутентификации в решении. Например, по протоколу LDAP — интеграция с различными системами управления доступом (продуктом с открытым исходным кодом KeyCloak), аутентификация для мобильных решений, поддержка многофакторной аутентификации. Поддержка функции единого входа SSO (Single-Sign On and Single-Sign Out).
  • «Управление пользователями» — для ведения реестра пользователей, управления их учётными записями и ролями. Настройка схем аутентификации для пользователей. Синхронизация пользователей из LDAP и Active Directory серверов и других идентификационных провайдеров. Управление сессиями пользователей.
  • «Управление политиками доступа» — предназначен для контроля прав доступа к бизнес-объектам в соответствии с моделью доступа ABAC. Для реализации ABAC используется промышленный стандарт XACML.
  • «Аудит действий пользователей» — протоколирование всех действий пользователя в системе.
  • «Хранение настроек и секретов» — управление системными настройками, включая защищённое хранение. Поддерживается возможность интеграции с HashiCorp Vault.
  • «Криптография» управляет сертификатами пользователей, а также взаимодействует с сертифицированными системами криптозащиты информации.
ДИЗАЙН-СИСТЕМА DIGITAL Q.PALETTE
Платформа Digital Q.Palette «Дизайн система» представляет собой не только палитру визуальных компонентов, необходимых для создания графических интерфейсов приложений. И не только определение единого визуального ряда и подхода к организации UX. Это ещё и набор проверенных веб- и мобильных технологий и инструментов, необходимых для организации процессов создания UI цифровых сервисов. Содержит low-code инструменты проектирования и создания пользовательского интерфейса приложений. Базируясь на современном стеке технологий, промышленных веб-фреймворках Angular и ReactJS, включает богатую палитру визуальных компонентов, выразительный UI и эргономичный UX для цифровых сервисов.
Платформа состоит из набора PBC:
  • «Инструменты проектирования» — для создания дизайн-макетов интерфейса приложения. В состав инструментов проектирования платформы Digital Q.Palette входят:
  • стандарт проектирования web- и мобильных приложений;
  • дизайнер форм пользовательского интерфейса;
  • дизайнер меню приложения;
  • шаблоны проектирования экранов и сценариев, доступные в виде образцов макетов в проекте Figma;
  • библиотека UI-элементов для проектирования web- и мобильных приложений;
  • библиотека UI-элементов для проектирования Landing page.
Используя инструменты проектирования, вы можете полностью определить, каким будет ваш будущий цифровой продукт или сервис.
  • «Инструменты web-разработки» — помогут сгенерировать интерфейс приложения по макетам на основе шаблона веб-приложения, а также развернуть готовый пользовательский интерфейс в вашем микросервисном пространстве. В состав инструментов разработки платформы Digital Q.Palette входят:
  • библиотека UI-компонентов для web-приложений;
  • интерактивные примеры использования компонентов;
  • архетипы (шаблоны) web-приложений;
  • готовые библиотеки системного уровня (web SDK);
  • low-code редактор компоновки интерфейсов;
  • генератор экранных форм по макетам Figma;
  • UI-микросервис для запуска web-приложений.
Используя инструменты web-разработки Digital Q.Palette, вы получаете интерфейс ваших приложений в единой проработанной архитектуре и на признанных индустрией технологиях.
  • «Инструменты мобильной разработки» — позволяют сгенерировать мобильное приложение с использованием готовой палитры компонентов мобильных приложений на основе шаблона приложения и необходимых системных библиотек. Будут сгенерированы нативные приложения под платформы iOS и Android. В состав инструментов мобильной разработки Digital Q.Palette входят:
  • библиотека UI-компонентов мобильных приложений;
  • архетипы (шаблоны) мобильных приложений;
  • готовые библиотеки системного уровня (mobile SDK);
  • low-code редактор компоновки интерфейсов;
  • генератор экранов по макетам Figma;
  • pipeline сборки и публикации мобильных приложений.
Используя инструменты мобильной разработки Digital Q.Palette, вы получаете нативные мобильные приложения в единой проработанной архитектуре и дизайне.
  • «Портал разработчика Q. Palette» — справочный портал frontend-разработчика Q.Palette.
ПЛАТФОРМА DIGITAL Q.ARCHER
Платформа Digital Q.Archer «Создание PBC и микросервсиов» обеспечивает проектирование PBC и создание полнофункциональных микросервисных приложений «по одной кнопке».
Платформа состоит из набора PBC:
  • «Дизайнер PBC» — основное рабочее место бизнес-архитектора. Предназначен для проектирования архитектуры бизнес-приложений. Архитектура бизнес-приложения, спроектированная в дизайнере PBC, включает в себя:
  • описание приложения, в котором содержится бизнес-смысл приложения, перечислены решаемые приложением задачи и его преимущества;
  • логическую схему, на которой визуализированы объекты и их отношения, атрибуты объектов, а также отношения объектов приложения с объектами других приложений, спроектированных в дизайнере PBC;
  • описания объектов, в которых содержится смысл объекта, перечислены атрибуты объекта, API и события;
  • описания бизнес-процессов, в которых содержится смысл процесса и его схема, спроектированная с использованием нотации BPMN;
  • описания диалогов, в которых содержится смысл диалога, макеты пользовательских интерфейсов и описание взаимодействия пользователя с представленными пользовательскими интерфейсами, спроектированными с помощью платформы Digital Q.Palette;
  • описание всех артефактов, порождаемых технологическими платформами экосистемы цифровой трансформации.
Кроме того, на основании всей этой информации автоматически формируется документация PBC.
  • «Дизайнер микросервисов» — рабочее место системного архитектора. Позволяет «по одной кнопке» преобразовать спроектированную бизнес-архитектуру решения в набор микросервисов. Процесс преобразования полностью автоматизирован. Инструмент сам предложит, какие микросервисы нужны для обработки требуемых бизнес-объектов и интерфейсов. Заведёт паспорта будущих микросервисов, необходимые им объекты базы данных, API и события. Архитектор может согласиться с предложением системы либо самостоятельно скорректировать дизайн микросервисов. В итоге инструмент автоматически генерирует код микросервисов в соответствии с их паспортом, выкладывает его в систему версионного контроля Digital Q.VCS, запускает CI/CD-конвейер из Digital Q.DevOps по сборке Docker-образа, тестированию, доставке и развёртыванию микросервиса на целевом стенде. А если стенда нет, автоматически создаст его при помощи Digital Q.CMDB.
  • «Реестр PBC» — предназначен для ведения плановой и фактической конфигурации PBC, установленных на стенде.
ПЛАТФОРМА DIGITAL Q.BPM
Платформа Digital Q.BPM позволяет перевести в цифру бизнес-процессы в общепринятой нотации проектирования процессов BPMN 2.0, анализировать и оптимизировать их исполнение, устранять узкие места, используя встроенные low-code инструменты проектирования и мониторинга бизнес-процессов. Предоставляет средства управления процессами, в том числе запуск, остановку и их отладку.
Платформа состоит из набора PBC:
  • «Дизайнер бизнес-процессов и бизнес-правил» ведёт реестр бизнес-процессов BPMN и бизнес-правил DMN. Low-code инструменты для проектирования и публикации процессов и правил, отладки бизнес-процессов и бизнес-правил.
  • «Средства исполнения бизнес-процессов» — готовый базовый образ микросервиса с ядром исполнения бизнес-процессов BPMN и бизнес-правил DMN.
  • «Мониторинг бизнес-процессов» собирает информацию об используемых процессах, представляет её в агрегированном виде или в деталях исполнения отдельного процесса. Позволяет отслеживать инциденты, возникающие в ходе исполнения процессов, как технические, так и связанные с просрочкой планов выполнения задач.
  • «Отладчик бизнес-процессов и бизнес-правил» обеспечивает доступ к списку выполняемых в системе бизнес-процессов, предоставляет информацию о запущенных процессах, исполненных процессах и процессах, в ходе исполнения которых произошли инциденты. Содержит следующую информацию:
  • статистика — сводная информация об исполняемых бизнес-процессах;
  • live — перечень исполняемых бизнес-процессов;
  • бизнес-правила — список опубликованных бизнес-правил с основной информацией;
  • инциденты — перечень ошибок, возникших во время исполнения бизнес-процесса.
  • «Пользовательские задачи» — включает средства настройки и исполнения пользовательских задач, алгоритмы их назначения и автоматической обработки, назначение связанных с задачами пользовательских диалогов и контроль нормативов обработки задач.
  • «Дизайнер машины состояний» предназначен для моделирования машины состояний объектов. Инструмент включает в себя:
  • настройку состояний объекта;
  • связь состояний через переходы;
  • графический интерфейс настройки.
  • «Машина состояний» — библиотечный PBC предназначен для сохранения истории движения по состояниям многостадийных объектов и контроля возможности переходов в соответствии с настроенной в дизайнере состояний моделью. Основные преимущества:
  • автоматическая проливка настроенной машины состояний при установке приложения на стенд;
  • автоматическая генерация API при сборке приложения, применившего «машину состояний».
ПЛАТФОРМА DIGITAL Q.SENSOR
Платформа Digital Q.Sensor «Бизнес-мониторинг» содержит средства визуальной аналитики для создания удобных, привлекательных и интерактивных панелей графиков (дашбордов). Позволяет извлекать практическую пользу из уже накопленных данных.
Платформа состоит из набора PBC:
  • «Дизайнер дашбордов» — low-code инструмент технолога для настройки дашбордов и графиков. Настройка связи данных с их графическим представлением.
  • «Средство просмотра дашбордов» реализует пользовательский интерфейс: удобные, интерактивные графики, понятные любым категориям пользователей.
ПЛАТФОРМА DIGITAL Q.DATAFLOWS
Платформа Digital Q.DataFlows «Управление данными» предназначена для управления данными и помогает:
  • понять, какими данными располагает ваша организация, как они связаны между собой, поддерживать информацию в актуальном состоянии;
  • создавать и выполнять процессы преобразования и транспортировки данных между системами;
  • обеспечивать контроль качества данных и лёгкое встраивание инструментов контроля в процессы обработки данных.
Платформа состоит из набора PBC:
  • «Интеграция данных» позволяет быстро создавать процессы извлечения и преобразования данных в простом интерфейсе. Работает как в режиме потока, так и в пакетном режиме. Автоматизирует сложные процессы из множества потоков данных для работы с «озером» и хранилищем данных. Базируется на проекте с открытым исходным кодом Apache NIFI.
  • «Контроль качества данных» позволяет проверять качество данных с помощью конструктора проверок. Встраивает процессы проверки в потоки данных для контроля качества информации в рамках общих процессов организации. Формирует аналитику и визуализирует результаты проверок и протоколов в дашбордах качества данных.
  • «Каталог данных» управляет метаданными из любой информационной системы в едином месте, предоставляя пользователям полный контекст для аналитики данных и отчётности. Позволяет связать бизнес-термины с физическими данными в системах. Визуализирует путь данных на детальном уровне от источников до конечных витрин и отчётов.
ПЛАТФОРМА DIGITAL Q.AIML
Платформа Digital Q.AIML «Искусственный интеллект и машинное обучение» — это быстрое и простое, буквально в несколько кликов, создание умных приложений. Не нужны дополнительные ресурсы, чтобы вручную писать программный код для подготовки нейронных сетей или конструирования чат-ботов. Подход low-code/no-code позволит использовать готовые алгоритмы, сэкономить время и ресурсы.
Платформа состоит из набора PBC:
  • «Фабрика обучения нейронных сетей» — это инструмент проектирования и обучения нейронных сетей. Формирует различного рода модели: для предсказания, классификации или анализа данных. На основе подготовленного набора данных выполняет обучение и тренировку нейронной сети, определяет её оптимальные параметры.
  • «Фабрика чат-ботов» — инструмент для проектирования и описания модели поведения чат-бота. Для каждого шага описывается логика его исполнения. Возможности платформы позволяют подключить внешние сервисы, реализовать событийную модель обработки данных и т. д. Позволяет тестировать полученную модель поведения в интерактивной среде с возможностью ручного тюнинга.
  • «Рабочее пространство чат-бота» — интерактивная среда исполнения умных помощников. В своём составе приложение предоставляет компоненты для взаимодействия пользователя с цифровыми помощниками посредством общения через сервер обмена сообщениями. В целях обеспечения корректности и целостности ведения диалога используются потоки обмена данными, где регистрируются исполняемые процессы для поддержания контекста разговора.
  • «Генератор цифровых помощников для PBC» — инструмент автоматической генерации и публикация чат-ботов при публикации РВС для доступа к основной функциональности PBC.
ПЛАТФОРМА DIGITAL Q.HEALTH
Платформа Digital Q.Health «Мониторинг здоровья» — система мониторинга и отслеживания состояния систем (программных, финансовых, управленческих), выявления инцидентов и их автоматического устранения. Предназначена для предупреждения возможного возникновения инцидентов.
Платформа состоит из набора PBC:
  • «Хранилище метрик» — инструмент по сбору и хранению метрик и их значений, характеризующих работу систем.
  • «Обработка инцидентов» регистрирует и автоматически обрабатывает инциденты в работе систем. Позволяет настраивать правила их обработки, а также вести базу знаний возможных причин инцидентов и рекомендаций по их устранению.
  • «Управление метриками» позволяет подключать сбор метрик из разных источников и обрабатывать собранные значения согласно заданным условиям и правилам расчёта.
ПЛАТФОРМА DIGITAL Q.MESSAGEHUB
Платформа Digital Q.MessageHub «Центр сообщений» — позволяет системам обмениваться бизнес-сообщениями в требуемых форматах. Предоставляет единую точку взаимодействия с различными источниками при обмене сообщениями любого формата.
Платформа состоит из набора PBC:
  • «Обмен сообщениями» — предназначено для создания и запуска процессов загрузки, выгрузки и обработки бизнес-сообщений, поступивших в организацию. Основные функции решения:
  • загрузка бизнес-сообщений различного формата из внешних систем;
  • выгрузка бизнес-сообщений во внешние системы согласно правилам маршрутизации;
  • выбор зарегистрированного процесса обработки поступившего бизнес-сообщения.
Таким образом, можно отказаться от множества инструментов для обмена сообщениями и работать в одном окне, использовать одну точку взаимодействия с различными источниками при обмене сообщениями любого формата.
  • «Учет сообщений» — обеспечивает приём, хранение и учёт бизнес-сообщений, поступивших в организацию. Основные функции решения:
  • хранение и просмотр бизнес-сообщений;
  • типизация и предоставление доступа прикладных продуктов к бизнес-сообщениям для их обработки.

Технологические платформы

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

Инфраструктурные платформы

Инфраструктурные платформы являются основой для надёжной, высокопроизводительной и управляемой работы программных приложений. Платформы созданы на основе программных продуктов с открытым исходным кодом, взятым под ответственное владение.
ПЛАТФОРМА DIGITAL Q.KUBERNETES
Платформа Digital Q.Kubernetes «Управление контейнерами» предназначена для оркестровки контейнеризированных приложений и создана на основе проекта с открытым исходным кодом Kubernetes. Помогает автоматизировать развёртывание и масштабирование таких приложений. Масштабирование происходит в автоматическом режиме с учётом меняющегося уровня нагрузки и легко настраивается с помощью набора метрик. Установка и конфигурирование микросервисов в контейнерах не требует большого объёма работ и выполняется простым запуском подготовленных скриптов.
Платформа состоит из набора PBC:
  • «Контейнер» — для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации. Поддерживаются различные типы контейнеров (Docker, Cri-o, LXD).
  • «Система управления контейнерами» позволяет управлять окружением всех микросервисов, размещённых в контейнерах. Развёртывание, масштабирование, перераспределение ресурсов производится автоматически на основании метрик, список которых можно настроить в соответствии со своими потребностями. Основные функции:
  • управление ресурсами кластера Q.Kubernetes, ручное управление кластером (kubectl);
  • общее управление кластером, предоставление внешнего и внутреннего доступа к функциям Q.Kubernetes (kube-apiserver);
  • централизованное хранение в ConfigMaps настроек приложений (etcd);
  • хранение в Secrets в зашифрованном виде конфиденциальной информации: логины, пароли, токены или ссылки на СУБД (etcd);
  • управление запуском контейнеров на каждой рабочей ноде кластера (kubelet);
  • планирование запуска подов с микросервисами исходя из доступности ресурсов каждой ноды кластера (kube-scheduler).
ПЛАТФОРМА DIGITAL Q.KAFKA
Платформа Digital Q.Kafka «Брокер сообщений» — высокопроизводительный, распределённый, отказоустойчивый брокер сообщений, созданный на основе продукта с исходным кодом Apache Kafka. Позволяет обрабатывать триллионы событий в день. Это центральный элемент событийно-ориентированной архитектуры.
Платформа состоит из набора PBC:
  • «Брокер сообщений» — распределённый потоковый брокер сообщений позволяет объединить управление обменом сообщениями по всем используемым каналам, обеспечивая высокую производительность и надёжность решения. Основные функции:
  • гарантированная доставка — хранение всех передаваемых сообщений в файловой системе или в отдельной БД и гарантия их сохранности, даже если подписчик временно недоступен;
  • гибкое управление масштабированием — с повышением нагрузки на систему обмена сообщениями система позволяет легко увеличивать скорость их обработки путём добавления дополнительных обработчиков сообщений — обмен сообщениями идёт в многопоточном режиме;
  • гарантия последовательности доставки — получение сообщений производится в той же последовательности, что и их отправка, что исключает ошибки в логике бизнес-процессов при обработке сообщений в неверном порядке.
ПЛАТФОРМА DIGITAL Q.ELK
Платформа Digital Q.ELK «Сквозная диагностика» — сбор в реальном времени журналов из различных источников (файлы, базы данных и т. п.), хранение их в общем хранилище и визуальный анализ.
Платформа состоит из набора PBC:
  • «Система распределённой трассировки» выполняет визуализацию и анализ последовательности выполнения операций в распределённых процессах. Построена на распределённой системе с открытым исходным кодом Zipkin.
  • «Хранилище журналов» — масштабируемое NoSQL хранилище данных произвольной сложности и структуры, с функциями полнотекстового поиска и аналитики реального времени. Построено на поисковой системе с открытым исходным кодом Elasticsearch.
  • «Средство сбора журналов» — инструмент для сбора из разных источников, обработки и маршрутизации журналов. Имеет богатые возможности расширения, «из коробки» поддерживает около 30 источников данных. Построен на базе решения с открытым исходным кодом Fluent Bit.
  • «Средство просмотра журналов» — инструмент для визуализации, поиска и анализа журналов. Он помогает создавать дашборды, настраивать формы визуализации, формировать интерактивные графики, отображать геоданные, анализировать связи и изучать аномалии данных. Построен на программном продукте для визуализации на основе браузера с открытым исходным кодом Kibana.
ПЛАТФОРМА DIGITAL Q.DATABASE
Платформа Digital Q.DataBase «Управление БД» — система управления базами данных, обеспечивает организацию, хранение и доступ к данным.
Платформа состоит из набора PBC:
  • «СУБД PostgreSQL» — система управления базами данных, построенная на основе свободной объектно-реляционной СУБД PostgreSQL.
  • «СУБД Tarantool» — высокопроизводительная система вычислений в памяти (in-memory). Включает в себя СУБД и сервер приложений. Обладает высокой скоростью работы по сравнению с традиционными СУБД и теми же свойствами: персистентности, транзакционности ACID, репликации master-slave, master-master.
  • «СУБД ClickHouse» — колоночная аналитическая СУБД, позволяющая выполнять аналитические запросы в режиме реального времени на структурированных больших данных.

ИНФРАСТРУКТУРНЫЕ ПЛАТФОРМЫ

заключение

Организация эффективного производства программных продуктов — проект колоссальной сложности. Это объединение людей, инструментов, технологий, процессов, практик и программно-аппаратной среды. Нельзя просто так взять и объединить составляющие производства, получив на выходе эффективное производство программных продуктов. Можно собрать тысячи прекрасных команд, а результат окажется неадекватно слабым. Нет «серебряной пули», сфокусировавшись на которой, можно было бы легко реализовать эффективное производство. Все составляющие важны, и ничего нельзя упускать из виду.
Тем не менее, можно назвать ключевые аспекты эффективного производства:
  • Люди, объединённые вокруг программного продукта в автономные осознанные команды.
  • Гибкие методологии разработки, сознательно применяемые командами.
  • Культура производства, направленная на непрерывное повышение профессионализма людей.
  • Умное управление и сознательное использование лучших практик, например, нормативов, снижает трудоёмкость реализации задач в двенадцать раз.
  • Готовые платформы экосистемы цифровой трансформации компании «Диасофт» помогают уменьшить сложность реализации задач ещё в шесть раз.
Знать путь и пройти его — не одно и то же. Только опытный лоцман сможет провести корабль фарватером, чтобы не посадить его на мель или не разбить о риф. Так и для построения эффективного производства программных продуктов нужен опытный проводник, который поможет провести цифровую трансформацию и создать адаптивную организацию. Пройдя успешный путь цифровой трансформации, вы будете гордиться собой!

ПРОИЗВОДСТВО КАК ПРОДУКТ (PAAP)

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

благодарности

Организация эффективного производства программных продуктов, подробно описанная в книге, является плодом огромных усилий большой команды единомышленников, в том числе — Наталии Оржевской, Александра Ольшанского, Дмитрия Старова, Александра Захарова, Дениса Тимощука и многих других. Результат проделанной работы многократно превзошёл наши ожидания. Огромное удовольствие — рассказывать о работе, результатами которой я по-настоящему горжусь!
Отдельно хочу выразить благодарность управляющему директору компании «Диасофт» Александру Глазкову, который вдохновил меня своей книгой «Бизнес в условиях перемен». Также хочу поблагодарить Алексея Грошева, Дмитрия Грачева и Евгения Сентябрева за ценные советы по содержанию и структуре книги. Благодаря Елене Ланге и её содействию этот труд смог выйти из печати в разумные сроки.
Наконец, хочу сказать огромное спасибо своей жене Екатерине за неоценимую помощь в подготовке книги и понимание — когда я посвящал слишком много времени работе над книгой. Своими советами, правильными вопросами и безусловной поддержкой она помогла существенно сократить срок создания книги.

Команда проекта

автор Сергей Ломака
главный редактор Екатерина Ломака
продюсер проекта Елена Ланге
редактор Людмила Коваленко
корректор Татьяна Вишневская
креативный директор Софья Болдова
дизайнер Ирина Павлова
иллюстрации команда Insight Group
Made on
Tilda