Gartner предлагает индекс композитного бизнеса, который поможет ИТ-лидерам оценить и повысить гибкость своих приложений. О том, как разрабатывать корпоративные приложения, которые являются композитными по умолчанию, на портале ComputerWeekly рассказывает Ефим Натис, заслуженный вице-президент и почетный научный сотрудник Gartner Research.
Устойчивость бизнеса необходима перед лицом таких потрясений, как глобальная пандемия, изменение нормативных требований или геополитические перестановки. Она может быть улучшена (или затруднена) посредством программного обеспечения. Поэтому гибкость ПО становится главной задачей для руководителей в области разработки приложений. Но рано или поздно они обнаруживают, что ни бизнес, ни ИТ не могут решить эту задачу в одиночку.
Неспособность работать вместе в междисциплинарных совместных командах приводит к тому, что организации отстают от своих более гибких конкурентов. Принципы композитности приложений помогают объединенным командам добиться успеха. К 2024 г. 70% крупных и средних организаций включат композитность в критерии утверждения новых планов разработки.
Но лучшие практики композитности еще не устоялись. Как разработчики приложений и руководители программной инженерии могут создать надежный план действий, который будет соответствовать быстрому темпу изменений, требуемых бизнесом?
Композитность приложений — это преимущество для любого бизнеса, который нуждается в быстрых, безопасных и эффективных изменениях. Однако готовность к композитности в разных организациях различна. Руководители отделов разработки должны выверять свои планы, чтобы учесть конкретный контекст своей организации.
Как оценить готовность предприятия к композитности
Gartner предложила индекс, который руководители бизнеса и ИТ могут использовать для оценки готовности к созданию композитных решений в своих организациях. Индекс охватывает четыре основные области и может быть применен ко многим различным аспектам и контекстам современного бизнеса, включая его технологии, организацию, экосистему, маркетинговые стратегии и бизнес-модели. В каждой области цель повышения гибкости одна и та же, но ее основные постулаты применяются по-разному. Например, спросите себя: каковы строительные блоки, поддерживающие композитность вашей организации, экосистемы, маркетинговой стратегии и бизнес-модели?
Первая область для оценки — модульность, которая является центральной для композитивности, независимо от того, применяется ли она к планированию ПО, организационной или бизнес-модели. Какие бы строительные блоки ни были предоставлены для композиции, именно она определяет характер результирующей архитектуры.
Одним из ключевых отличий композитного предприятия является то, что проектирование и редизайн приложений (композиция и рекомпозиция) осуществляются при непосредственном участии специалистов в области бизнеса и технологий, работающих как многопрофильные фьюжн-команды. Чтобы наилучшим образом соответствовать этому важному требованию, композитное корпоративное приложение должно включать целостный набор четко определенных софтверных компонентов, отвечающих за конкретную бизнес-фукнцию (PBC, packaged business capabilities), которые составляют независимую композицию «строительных блоков». Хорошо реализованная модульность позволяет создавать PBC, которые достаточно малы, чтобы максимизировать гибкость, но достаточно велики, чтобы сохранить целостность.
Вторая область, рассматриваемая Gartner для композитного бизнеса, — это автономность. Это характеристика модульности, которая максимизирует самодостаточную независимость компонентов.
При разработке бизнес-приложений автономность подразумевает способность компонентов полностью управлять своей внутренней целостностью, налагать минимальное бремя на другие компоненты при их изменении или замене, испытывать минимальную зависимость от изменений в других компонентах и быть способными работать самостоятельно или в новых, непредвиденных комбинациях. Полная автономность редко достижима, но каждое улучшение этого показателя ведет к общему улучшению опыта организации в области композитности.
Готовность к обнаружению — это третья метрика в четырехбалльной оценке Gartner готовности к композитному бизнесу. Это мера легкости, с которой команды находят компоненты и могут определять их полезность. Она также подразумевает, что должно быть достаточно документации, чтобы команды могли легко интегрировать компоненты. Готовность к обнаружению предполагает ясность, полноту и удобство использования документации и других метаданных.
Оркестровка — это четвертая область индекса композитного бизнеса Gartner. Она относится к готовности компонентов к композиции, интеграции и управлению в средах разработки и выполнения.
В композитном бизнес-ПО оркестровка отражает открытость компонентов для взаимодействия с другим ПО, а также поддержку преобладающих моделей и протоколов взаимодействия. Оркестровка также измеряет, насколько хорошо компоненты оснащены для мониторинга, отслеживания, обеспечения безопасности, операций DevOps и других форм управления. Другими словами, это мера качества, открытости, безопасности и управляемости инкапсуляции.
Хорошей новостью является то, что расщепление, микросервисы, события, оркестровка, хореография, модульность, обратная совместимость, инкапсуляция и декомпозиция — все это концепции, которые уже давно являются частью практики архитектуры ПО. Эти архитектурные подходы, предполагающие разделение проблем, ограниченность контекста и сплоченность, — части доменно-ориентированного дизайна.
Модель композитного предприятия по сути заново применяет базовые и усовершенствованные принципы сервисно-ориентированной архитектуры (SOA) и ячеистой архитектуры приложений и сервисов (MASA) к среде с ключевым новым ограничением, заключающемся в том, что «сервисы» должны представлять собой четко определенную, самодостаточную ценность для бизнеса.
Проектирование приложений для композитности
Ключевым отличием композитных корпоративных приложений от других форм модульности (таких как SOA и MASA) является их аудитория — кто занимается компоновкой, тот и определяет, какими должны быть строительные блоки и инструменты.
Большинство предыдущих моделей проектирования и инструментов разработки были ориентированы либо на ИТ-специалистов, либо на бизнес-пользователей (гражданских разработчиков). Однако темпы изменений в бизнесе, требующие композитности, таковы, что ни те, ни другие не могут справиться с ними в одиночку. Чтобы принять композитную модель предприятия, лидеры в области разработки должны дать возможность объединенным многопрофильным группам стать своего рода «композиторами».
Такое смещение акцента в программной инженерии — от действующих самостоятельно ИТ-специалистов к междисциплинарным командам, объединяющим ИТ и бизнес, — является ключевым фактором движения к демократизированному композитному предприятию. Строительные блоки и инструменты композитности предназначены как для бизнес-, так и для ИТ-специалистов, которые работают вместе, используя свои взаимодополняющие способности.
Модульность позволяет инкапсулировать PBC для поддержки проектирования и разработки приложений объединенными командами. Она унаследует некоторые характеристики как монолитных бизнес-приложений, так и более технологичных архитектур на основе микросервисов.
Монолитными приложениями, доставляемыми на проектной основе, относительно легко управлять, поскольку все их части тесно связаны и всегда изменяются вместе. Эти приложения управляются как единое целое. Но именно по этой причине их трудно изменять. Приложения на основе микросервисов, доставляемые на продуктовой основе, легче изменять, поскольку они позволяют разработчикам заново соединять микросервисы и пользовательские приложения. Но ими сложнее управлять, поскольку каждый микросервис может изменяться независимо.
Как и при любых других инновациях и изменениях, Gartner рекомендует руководителям отделов разработки действовать постепенно, сопоставляя свои навыки и ресурсы с требованиями нового подхода, внося сначала более мелкие, менее кардинальные изменения.
Не все должно быть композитным, особенно на начальном этапе. Все PBC не обязательно должны быть одинакового размера или внутреннего дизайна. Лидеры в области разработки должны рассматривать эти рекомендации как долгосрочный план дорожной карты, понимая, что первоначальное следование даже части рекомендаций уже приведет к определенной новой степени адаптивности и создаст основу для дальнейшего прогресса.
В целом, для оптимизации модульности Gartner рекомендует ИТ-руководителям разделить функциональность приложений на компоненты с четкой и полной бизнес-ответственностью. В качестве примера можно привести такие бизнес-объекты, как счет или продукт, физический актив, а также статус бизнес-процесса, например, одобрение кредита. Проблема, которую видит Gartner, заключается в том, что они должны поддерживать единую, обособленную бизнес-ответственность, которая достаточно велика, чтобы иметь четкую бизнес-цель, но при этом достаточно мала, чтобы исключить межфункциональную запутанность.