Upgrade to Pro — share decks privately, control downloads, hide ads and more …

InnerSource Patterns: コアチーム

InnerSource Patterns: コアチーム

概要
パターンの著者: Russ Rutledge
スピーカー/翻訳: Yuki Hattori | LinkedIn | Twitter | GitHub
YouTube: コアチーム
Doc: コアチーム

「InnerSource Patterns: コアチーム」
インナーソースのプロジェクトが広く必要とされていても、プロジェクトが難しいためにコントリビューションや活用に支障をきたす場合があります。プロジェクトの基本的な項目を専門に担当するコアチームを設立してください。コアチームの作業により、コントリビューターは自分のシナリオに価値をもたらす機能を追加し、使用することができます。

リンク
InnerSource Patterns: English 🇬🇧| 日本語 🇯🇵
Website: innersourcecommons.org
Slack: Invite Link | 🇯🇵#jp-general
Twitter: @InnerSourceJP (日本) | @InnerSourceOrg (公式)

Yuki Hattori

January 13, 2023
Tweet

More Decks by Yuki Hattori

Other Decks in Technology

Transcript

  1. コアチーム
    InnerSource Patterns
    Speaker: Yuki Hattori (@yuhattor)
    Pattern Author: Russ Rutledge

    View Slide

  2. 概要
    インナーソースのプロジェクトが広く必要とされていても、プロジェクトが難しいためにコントリビューシ
    ョンや活用に支障をきたす場合があります。プロジェクトの基本的な項目を専門に担当するコアチームを設
    立してください。コアチームの作業により、コントリビューターは自分のシナリオに価値をもたらす機能を
    追加し、使用することができます。
    InnerSource Patterns:
    コアチーム
    @yuhattor
    2

    View Slide

  3. 問題
    プロジェクトにコントリビュートすることが困難な場合、以下のようなことが原因として考えられま
    す。
    ローカルでプロジェクトを実行できない。
    ドキュメントが貧弱
    コードが複雑
    テストが不適切である
    プロジェクトを使用するのが困難な場合、以下のようなことが原因として考えられます。
    ドキュメントに不備がある
    バグが頻繁に発生する
    セットアップが直感的でない
    InnerSource Patterns:
    コアチーム
    @yuhattor
    3

    View Slide

  4. ケーススタディ
    誰もが依存する中心的なプロジェクトがあります。「なんて素晴らしいインナーソースのための候補でしょ
    うか!」
    しかし残念ながらこれまでプロジェクトは有機的に成長し、様々なコントリビューションと追加が無計画に
    行われてきました。今では、誰も理解できず、誰もが触れることを恐れている、厄介で厚いコードの沼にな
    っています。
    明らかにオーバーホール(リファクタリング、テスト、ドキュメンテーションなど)を行うべきなのに、誰
    もがその作業を必要とし、望んでいるにもかかわらず、誰もそのための時間を取らないのです。
    InnerSource Patterns:
    コアチーム
    @yuhattor
    4

    View Slide

  5. 状況
    多くのチームがそのプロジェクトを必要としています。
    プロジェクトに大きな技術的負債があります。
    プロジェクトの採用やイテレーションは遅いです。
    プロジェクトとコントリビューションのエコシステム全体に対して責任を持つオーナーやメンテナが存
    在しません。
    InnerSource Patterns:
    コアチーム
    @yuhattor
    5

    View Slide

  6. 組織に働く力学
    コントリビュートするチームは皆忙しいので、自分たちにすぐに利益が出る仕事を優先します。
    プロジェクトが成長するにつれ、使用や変更が難しくなるのは当然の傾向です。
    InnerSource Patterns:
    コアチーム
    @yuhattor
    6

    View Slide

  7. ソリューション
    他の人が簡単に参加でき、コントリビュートできるようにこのプロジェクトを維持することを仕事とするコ
    アチームを形成します。このコアチームは、健全な利用やコントリビューションのエコシステムに必要な作
    業を行います。この重要な仕事は、コントリビューションとして優先されない傾向があります。この種の作
    業のカテゴリには、コミュニケーション、ローカル環境、DevOps
    インフラストラクチャが含まれます。
    具体例
    本番環境のバグ
    ドキュメンテーション
    オンボーディングチュートリアルとサンプル
    CI/CD,
    自動テスト
    ローカル環境
    モジュール化
    バージョニング
    モニタリング
    InnerSource Patterns:
    コアチーム
    @yuhattor
    7

    View Slide

  8. ソリューション (2)
    項目は健全な製品エコシステムにとって重要だが、優先されない
    コアチームは少人数で、フルタイムまたはパートタイムで構成でき、必要な作業量、リソースの利用可
    能性、組織の文化に依存
    重要な考慮点は組織が他のチームと同じように権限を与え、責任を負わせるようにチームを編成するこ

    コアチームのメンバーはトラステッドコミッターの役割も果たすべきで、ほぼ常にプロジェクトに貢献
    する
    コアチームには独自のビジネスアジェンダはなく、他の人がプロジェクトを利用し貢献するために最も
    役に立つことを決定する
    InnerSource Patterns:
    コアチーム
    @yuhattor
    8

    View Slide

  9. ソリューション (3)
    この目標を継続的にリマインドさせるためには、コアチームに定期
    的に以下の項目を報告してもらうのがよいでしょう。
    そのプロジェクトを使用しているアクティブなチームの数
    プロジェクトに対するチーム外からの貢献の数
    これらのメトリックに継続的に焦点を当てることで、コアチームは
    自然と、プロジェクトの周りに繁栄するインナーソースエコシステ
    ムを作成するための適切な作業に優先順位を付けるようになりま
    す。
    InnerSource Patterns:
    コアチーム
    @yuhattor
    9

    View Slide

  10. 結果の状況
    プロジェクトを利用しコントリビュートすることが容易になります
    多くのチームがこのプロジェクトを利用し、貢献するようになります
    コアチームの成功は、他のプロジェクトとの相互作用とプロジェクトへの対応という観点から定義され
    ています。
    InnerSource Patterns:
    コアチーム
    @yuhattor
    10

    View Slide

  11. 理論的解釈
    コアチームを分離し、このようにタスクを与えることで、プロジェクトを成功させるために必要なギャップ
    を埋めることができます。
    コアチームはそのギャップを埋め、コントリビューションのエコシステムが健全であるよう、潤滑油の役割
    をします。
    InnerSource Patterns:
    コアチーム
    @yuhattor
    11

    View Slide

  12. 事例
    Nike
    は、再利用可能なCI/CD
    パイプラインを中心としたインナーソースの取り組みを管理するためにこのパ
    ターンを導入しました。
    InnerSource Patterns:
    コアチーム
    @yuhattor
    12

    View Slide

  13. InnerSource
    についてもっと知る
    InnerSource Commons: https://innersourcecommons.org
    Join our Slack community: https://innersourcecommons.org/slack
    InnerSource Patterns: https://patterns.innersourcecommons.org
    Twitter: @InnerSourceOrg
    日本語 Slack
    チャンネル: #jp-general
    日本語 Twitter: @InnerSourceJP
    InnerSource Patterns:
    コアチーム
    @yuhattor
    13

    View Slide