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

Как это работает?

Как и OpenSource, InnerSource предоставляет доступ к исходному коду, его модификации и использованию, но только для сотрудников компании. Проекты, предлагаемые в InnerSource, могут быть полезны любому разработчику компании, который хочет их использовать, внести свой вклад или получить вдохновение. Это особенно интересно, когда компании имеют десятки команд или когда они распределены по всему миру и поэтому не имеют возможности часто видеться и обмениваться мнениями. С InnerSource они могут сотрудничать и участвовать в разработке общего кода.

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

Что InnerSource дает компании на практике?

№1: Обучение:

Прежде всего, благодаря совместной природе InnerSource все разработчики могут использовать свои навыки для участия во внутренних проектах. Это способствует сотрудничеству разработчиков в проектах InnerSource, внося больше вкладов и улучшений. Благодаря такому сотрудничеству у разработчиков гораздо больше шансов постоянно пересматривать свой код и принимать отзывы. При таком разнообразии тем в программировании разработчик сегодня не может знать все. Объединив усилия, качество каждого проекта повышается.

№2: сотрудничество:

Но также возможность участвовать и иметь доступ к некоторым другим проектам создает сильную командную сплоченность внутри всей компании и ощущение принадлежности к сообществу. Разные команды не замыкаются друг на друге, меняется мышление всей компании. Компании, которые позволяют своим сотрудникам пробовать что-то новое и быть более свободными в работе, также предлагают им здоровую рабочую среду.

№3. Финансовая прибыль и инновации.

Согласно исследованию Forrester, InnerSource обеспечивает экономию 45 минут в день на каждого разработчика. Это приносит компании финансовую выгоду со всеми ее преимуществами: улучшенная доставка и снижение затрат на техническое обслуживание. В глобальном масштабе InnerSource продвигает инновации. Поскольку проекты продвигаются более эффективно, а сотрудники чувствуют себя достаточно комфортно, у них есть время и легкость, чтобы чаще ошибаться, пробовать снова и экспериментировать; вот как могут происходить инновации. Однако, согласно недавнему исследованию Stack Overflow, только 16% компаний приняли инициативы InnerSource.

№4. Опыт разработчиков:

ИТ – это сектор, в котором оборот широко распространен. Поэтому важно делиться знаниями, чтобы избежать потери знаний. InnerSource побуждает всех делиться своими знаниями с другими разработчиками. Разработчику становится намного легче узнавать новое. Кроме того, новым разработчикам легче ознакомиться с технической культурой компании. InnerSource объединяет мотивацию команд и постоянное обучение, укрепляя связи с компанией и предотвращая риски текучести кадров.

Внедрите InnerSource в своей организации

Прежде всего, мы не должны упускать из виду важный момент: существует три типа пользователей InnerSource:

  • Мейнтейнеры отвечают за формирование концепции продукта и управление организационными аспектами проекта.
  • Соавторы внесли свой вклад в проект (код, документация и т. д.)
  • Участники используют проект, участвуют в обсуждениях и высказывают свое мнение о направлении проекта.

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

Вы, вероятно, будете полагаться на такие платформы, как GitLab или GitHub, для централизации исходного кода проектов. Тем не менее, вам также необходимо быть строгим в документации: как использовать проект (знаменитое «Начало работы») и как внести свой вклад. Без этого, как люди могли бы присоединиться к вашему сообществу?

Вы можете начать с определения проектов или подпроектов, которые имеет смысл повторно использовать в других проектах вашей организации: система аутентификации, настраиваемый ORM/Framework,…

Используйте InnerSource, чтобы делиться и повторно использовать лучшие практики кодирования

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

Решение Promyze было разработано для усиления InnerSource на двух уровнях:

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

Эти лучшие практики могут быть видны любой команде в компании и могут быть повторно использованы в их контексте. Обсуждение лучших практик помогает сочетать повторное использование кода и повторное использование методологий. Это отличное начало с Inner Source; разработчики могут делиться своими знаниями, сотрудничать и находить решения.

InnerSource, скорее всего, принесет пользу каждой компании, которая внедрит его и знает, как правильно его использовать. Это правило следует как минимум сохранить и адаптировать в соответствии с контекстом компании, и это необходимый шаг, если вы планируете перейти на OpenSource. А вы уже реализовали стратегию InnerSource?