Модель масштабирования InnerSource

В 2024 году сообщество InnerSource Commons представило модель масштабирования InnerSource, которая помогает выстраивать и развивать InnerSource на уровне всей организации. Модель показывает, из каких направлений и аспектов состоит внедрение InnerSource, а также как последовательно развивать практику InnerSource в организационном масштабе.

Модель масштабирования InnerSource состоит из 9 ключевых направлений верхнего уровня, охватывающих весь жизненный цикл и экосистему InnerSource в организации:
  • InnerSource Program Office;
  • Governance of InnerSource Programs;
  • Metrics;
  • Research;
  • Project Governance;
  • Awareness & Education;
  • Rewards;
  • Templates;
  • Engage external community.

Внутри этих направлений выделено более 70 конкретных аспектов, описывающих процессы, роли, практики и механизмы масштабирования. Модель также опирается на несколько десятков паттернов InnerSource, которые детализируют отдельные элементы и служат практическими инструментами для последовательного и устойчивого внедрения InnerSource на уровне всей организации.

InnerSource Program Office. Организационная структура или функция, отвечающая за координацию, поддержку и развитие практики InnerSource на уровне всей организации. Ее задача — перевести InnerSource из набора локальных экспериментов в управляемую, масштабируемую и устойчивую модель совместной разработки, согласованную с целями бизнеса и инженерной стратегии.

Включает:
  • Executive Sponsorship. Поддержка инициативы InnerSource со стороны руководства высшего уровня, обеспечивающая легитимность, приоритетность и доступ к ресурсам. Детально раскрывается в паттернах Start as an Experiment и Review Committee;
  • Dedicated Staffing. Наличие формально выделенных ролей и людей, отвечающих за развитие и поддержку InnerSource, а не распределенная ответственность «по остаточному принципу». Подробно раскрывается в паттерне Dedicated Community Leader;
  • InnerSource Program as an InnerSource Project. Подход, при котором сама программа InnerSource реализуется с применением тех же принципов открытости, прозрачности и совместного вклада, которые она продвигает. Используется как демонстрация практик и эталонный пример для команд, участвующих в инициативе.

Governance of InnerSource Programs. Управление программами InnerSource, направленное на создание четких правил, процессов и механизмов принятия решений, обеспечивающих устойчивое и масштабируемое применение InnerSource в организации. Фокусируется на снятии организационных, юридических и процессных ограничений, а также на выстраивании предсказуемых и повторяемых моделей взаимодействия между командами и сообществами.

Включает:
  • Company leadership support. Поддержка программ InnerSource со стороны руководства компании, обеспечивающая стратегическую значимость инициативы, согласованность с бизнес-целями и готовность устранять организационные барьеры.
  • Unblock policy constraints. Снятие или адаптация внутренних политик и регламентов, которые препятствуют совместной разработке и вкладу между командами. Подробно раскрывается в паттернах Contracted Contributor и InnerSource License.
  • SBOMs for InnerSource projects. Использование Software Bill of Materials (SBOMs) для проектов InnerSource с целью повышения прозрачности состава программного обеспечения, управления зависимостями и соответствия требованиям безопасности и комплаенса.
  • Accelerated contributions. Создание условий для ускоренного внесения вклада, включая упрощенные процессы согласования, прозрачные правила и снижение транзакционных издержек для контрибьюторов.
  • Systems. Развитие и поддержка инфраструктурных и инструментальных систем, необходимых для масштабирования InnerSource. Подробнее раскрывается в книге Managing InnerSource Projects, главы Infrastructure and Tooling, а также в паттерне Service vs. Library.
  • Roadmap. Формирование и поддержка прозрачного roadmap для программ и проектов InnerSource, обеспечивающего предсказуемость и вовлечение заинтересованных сторон. Детально раскрывается в паттерне Transparent Cross-Team Decision Making using RFCs.
  • Open source principles to fund open source variants of InnerSource. Применение принципов Open Source для финансирования и поддержки открытых вариантов решений, возникающих в рамках InnerSource, включая модели совместного инвестирования и разделения затрат.
  • Technology budget available to support InnerSource. Наличие выделенного технологического бюджета для поддержки инфраструктуры, инструментов и инициатив InnerSource, а не финансирование по остаточному принципу.
  • Repeatable SLAs. Определение повторяемых и понятных соглашений об уровне сервиса (SLA) для проектов и компонентов InnerSource. Подробно раскрывается в паттерне Explicit Governance Levels.
  • Software/system upgrades. Формализованные процессы обновления программных продуктов и систем, используемых в рамках InnerSource, обеспечивающие предсказуемость и совместимость. Детально раскрывается в паттерне Standard Release Process.

Metrics. Направление, описывающее систему измерений, необходимую для оценки масштаба, эффективности и бизнес-ценности InnerSource. Метрики позволяют отслеживать уровень внедрения InnerSource, выявлять узкие места, обосновывать инвестиции и поддерживать принятие управленческих решений на основе данных.

Включает:
  • Monitoring scale. Оценка масштаба активности и вовлеченности вокруг проектов InnerSource, включая динамику изменений во времени. Подробно раскрывается в паттерне Repository Activity Score;
  • Usage Count. Подсчет того, сколько раз проекты InnerSource используются внутри организации, с возможностью понять, кем и как часто они применяются;
  • SLAs. Измерение и контроль выполнения соглашений об уровне сервиса для проектов и компонентов InnerSource, обеспечивающее предсказуемость и доверие со стороны потребителей;
  • Readiness. Оценка готовности команд и проектов к участию в InnerSource, а также уровня их зрелости. Подробно раскрывается в паттерне Maturity Model;
  • Contributions. Измерение объема, качества и регулярности вкладов в проекты InnerSource, включая участие разных команд и ролей;
  • Accelerated time to market. Оценка влияния InnerSource на сокращение времени вывода изменений и продуктов на рынок;
  • Dev time saved. Оценка сэкономленного времени разработки за счет повторного использования компонентов и совместной работы. Подробно раскрывается в паттерне Cross-Team Project Valuation;
  • Developer satisfaction/happiness. Измерение удовлетворенности и восприятия InnerSource со стороны разработчиков как фактора Developer Experience и Developer Satisfaction;
  • Learning & development / People strategy. Оценка вклада InnerSource в развитие компетенций, обучение, карьерные траектории и общую стратегию работы с людьми в инженерной организации.

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

Включает:
  • Better team/company efficiency. Анализ того, как InnerSource способствует повышению эффективности команд и компании за счет повторного использования решений, снижения дублирования и улучшения взаимодействия. Подробно раскрывается в паттерне Common Requirements;
  • Physical/digital artifacts. Создание и использование физических и цифровых артефактов, поддерживающих распространение знаний, практик и результатов InnerSource. Подробно раскрывается в паттерне Extensions for Sustainable Growth.

Project Governance. Направление, описывающее правила, процессы и механизмы управления отдельными проектами InnerSource на протяжении всего их жизненного цикла. Фокусируется на обеспечении устойчивости проектов, их безопасности, ценности для бизнеса и согласованности с организационными процессами и стратегией.

Включает:
  • Open Source Pathways to Fund Open Source variants of InnerSource. Использование подходов и моделей Open Source для финансирования и поддержки открытых вариантов решений, выросших из проектов InnerSource;
  • Time/money budget available to support. Наличие выделенных временных и финансовых ресурсов для поддержки проектов InnerSource. Подробно раскрывается в паттернах 30 Day Warranty и Contracted Contributor;
  • Response SLAs. Определение ожидаемого времени реакции и поддержки для пользователей и контрибьюторов проектов InnerSource;
  • Security/version upgrades. Формализованные процессы управления безопасностью и обновлениями версий в проектах InnerSource. Подробно раскрывается в паттерне Core Team;
  • Open source readiness. Оценка готовности проекта к возможному выходу за пределы организации и публикации в формате Open Source. Подробно раскрывается в паттерне Open source readiness;
  • Treasurers to manage project success. Назначение ответственных ролей, контролирующих ресурсы и показатели успеха проекта;
  • Integration of related resources into agile, developer curricula. Встраивание материалов и практик проектов InnerSource в Agile-процессы и образовательные программы для разработчиков;
  • Project discovery/governance. Механизмы выявления, отбора и сопровождения проектов InnerSource на уровне организации;
  • Project maturity. Оценка уровня зрелости проектов InnerSource и их готовности к масштабированию. Подробно раскрывается в паттерне Project maturity;
  • Reduce arbitrary uniqueness. Снижение необоснованной уникальности решений за счет повторного использования и согласованных стандартов;
  • Project alignment. Обеспечение согласованности проектов InnerSource с целями бизнеса, архитектурными принципами и продуктовыми направлениями;
  • Project value (product association). Определение и отслеживание ценности проекта, включая его связь с продуктами и бизнес-результатами;
  • Process. Формирование и развитие процессов работы над проектами InnerSource, включая ускорение вкладов (Accelerated Contributions), спринты, roadmap и процессы принятия решений. Принятие решений детально раскрывается в паттерне Transparent Cross-Team Decision Making using RFCs.

Awareness & Education. Направление, направленное на формирование осознанности, понимания и принятия InnerSource в организации, а также на развитие знаний и навыков, необходимых для участия в проектах и сообществах InnerSource. Фокусируется на коммуникациях, обучении, вовлечении лидеров и команд, а также на демонстрации ценности InnerSource для бизнеса и сотрудников.

Включает:
  • Leader/team gamification. Использование элементов геймификации для вовлечения лидеров и команд в инициативы InnerSource и усиления интереса к совместной работе. Подробно раскрывается в паттерне Showcase success stories;
  • Presence on internal events. Представленность InnerSource на внутренних мероприятиях организации, включая хакатоны, all-hands встречи, встречи руководства и презентации, с целью повышения узнаваемости и вовлеченности;
  • Leadership verbal support. Публичная и регулярная вербальная поддержка InnerSource со стороны руководителей как сигнал приоритетности и допустимости участия;
  • Presence on (internal) Enterprise Search. Обеспечение видимости проектов, сообществ и материалов InnerSource через внутренние корпоративные поисковые системы;
  • Awareness on what is InnerSource. Формирование базового понимания того, что такое InnerSource, зачем он нужен и как работает в контексте конкретной организации;
  • External case studies. Использование внешних кейсов и примеров для иллюстрации практической ценности InnerSource и снижения скептицизма;
  • Communities of Practice. Развитие сообществ практики вокруг технологий, продуктов или доменов как основы для устойчивого обмена знаниями. Подробно раскрывается в паттернах Dedicated Community Leader и Document your Guiding Principles;
  • Stakeholder comms. Системные коммуникации с ключевыми стейкхолдерами, обеспечивающие согласованность ожиданий, целей и результатов инициатив InnerSource;
  • Education on how to InnerSource. Обучение практикам и процессам InnerSource, интегрированное в существующие обучающие материалы и программы, такие как Agile и Developer Curriculum;
  • Project Discoverability. Обеспечение обнаруживаемости проектов InnerSource через порталы, каталоги и инструменты поиска. Подробно раскрывается в паттерне Portal и включает показатели зрелости и здоровья проектов, групповой поддержки (Group Support), ценности проектов и их связи с продуктами, а также развитие сообществ, маркировку репозиториев для поиска и плагины для IDE;
  • Value. Формирование и коммуникация ценности InnerSource, включая накопление знаний, снижение time to market и стоимости разработки за счет повторного использования программного обеспечения и контента (подробно раскрывается в паттерне Cross-Team Project Valuation), согласованность с продуктами и брендом, улучшение Developer Experience и Employee Experience, усиление коммуникаций (паттерн Communication Tooling), вклад в learning and development и People strategy, а также использование анекдотических кейсов;
  • Reduce duplication. Снижение дублирования решений и инициатив за счет повторного использования и прозрачности;
  • Project Value. Оценка и демонстрация ценности проектов InnerSource, включая уровень их принятия (adoption) и снижение необоснованной уникальности решений;
  • Engage internal project community. Активное вовлечение внутренних сообществ проектов через подготовку к Open Source, продвижение проектов, привлечение контрибьюторов, демонстрацию результатов и вовлечение внутренних экспертов. Подробно раскрывается в паттерне Prepare for open source;
  • Leadership as what an InnerSource project is. Формирование у руководителей четкого понимания того, что представляет собой проект InnerSource и какова их роль в его поддержке;
  • Projects for Internal Enterprise search. Включение проектов InnerSource в корпоративные поисковые и навигационные инструменты для повышения их видимости;
  • Advisory board for InnerSource. Создание консультативного органа для поддержки развития InnerSource, обмена опытом и принятия стратегических решений;
  • Praise and Recognition. Формирование культуры признания и поощрения участников InnerSource за вклад и сотрудничество. Подробно раскрывается в паттерне Praise Participants.

Rewards. Направление, описывающее систему материальных и нематериальных стимулов, поддерживающих участие в InnerSource и поощряющих межкомандное сотрудничество. Вознаграждения используются для усиления мотивации, закрепления желаемых поведенческих паттернов и демонстрации ценности вклада для сотрудников и организации.

Включает:
  • Money. Прямые финансовые вознаграждения за вклад в проекты InnerSource;
  • Career/involvement boost. Усиление карьерных возможностей и видимости сотрудников за счет участия в InnerSource. Подробно раскрывается в паттерне Trusted Committer;
  • More Projects Reuse. Поощрение повторного использования проектов и компонентов InnerSource как признака их ценности и качества;
  • Career/review level. Учет вклада в InnerSource при performance review, аттестациях и карьерных решениях;
  • Social Recognition. Социальное признание вклада через публичную благодарность, упоминания и внутренние коммуникации. Подробно раскрывается в паттерне Praise Participants;
  • Better team/company efficiency. Подчеркивание и вознаграждение вклада, который приводит к повышению эффективности команд и организации в целом;
  • Physical/digital artifacts. Использование физических и цифровых артефактов (бейджи, рейтинги, дашборды, награды) как элементов признания и мотивации;
  • Time-bounded opportunities. Предоставление ограниченных по времени возможностей для участия в проектах InnerSource, позволяющих попробовать новые роли и домены. Подробно раскрывается в паттерне Gig Marketplace.

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

Включает:
  • README. Стандартный шаблон README, описывающий назначение проекта, его ценность, правила использования и способы участия;
  • CONTRIBUTING. Шаблон документа, определяющего процесс и правила внесения вклада в проект. Подробно раскрывается в паттерне Standard Base Documentation;
  • New GitHub Projects. Шаблоны и преднастроенные структуры для создания новых проектов в корпоративных GitHub- или аналогичных репозиториях;
  • InnerSource License. Использование стандартизированной лицензии InnerSource для определения прав и обязанностей участников. Подробно раскрывается в паттерне InnerSource License;
  • User and Developer Documentation. Шаблоны пользовательской и разработческой документации, обеспечивающие единый формат и полноту описаний;
  • Contractor Agreements InnerSource terms. Типовые условия и формулировки для контрактов с подрядчиками, учитывающие специфику участия в InnerSource;
  • User Experience. Проработка пользовательского опыта участия, при котором путь внесения вклада ясен и доступен напрямую из интерфейсов или других пользовательских ресурсов.

Engage external community. Направление, ориентированное на взаимодействие с внешними сообществами и экосистемой за пределами организации. Целью является обмен опытом, повышение зрелости практик InnerSource, формирование репутации и создание условий для привлечения внешних участников и партнеров.

Включает:
  • Patterns. Публикация и использование паттернов, описывающих практики InnerSource, для обмена знаниями с внешним сообществом;
  • Case Studies. Подготовка и распространение кейсов, демонстрирующих практический опыт и результаты применения InnerSource;
  • Sponsorship. Поддержка внешних инициатив, сообществ и мероприятий, связанных с Open Source и InnerSource, в формате спонсорства;
  • Present at events. Выступления на внешних конференциях, митапах и отраслевых мероприятиях для распространения опыта и повышения узнаваемости практик InnerSource.

Модель масштабирования InnerSource в виде диаграммы связей представлена ниже:
Если вам интересно масштабирование InnerSource и применение паттернов InnerSource в вашей компании или командах, обращайтесь к нам за помощью. Мы участвуем в InnerSource Commons сообществе и помогаем развивать инженерную культуру и масштабировать практики в крупных технологических компаниях.

Мы помогаем CTO, руководителям и техническим лидерам применять и адаптировать модели и паттерны, запускать и развивать InnerSource инициативы, оценивать и измерять практики, создавать и развивать внутренние платформы, порталы и экспертные команды, улучшать взаимодействие и сотрудничество команд.

Не забывайте подписываться на наш канал Enabling.team Insights, чтобы быть следить за состоянием в индустрии.