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

InnerSource: 内製化の一歩先を見つめるコードの共同所有の取り組み (xp祭り2022)

InnerSource: 内製化の一歩先を見つめるコードの共同所有の取り組み (xp祭り2022)

InnerSource インナーソース という取り組みがあります。「コードの共同所有 (Collective Code Ownership)」はXPの重要なプラクティスの一つですが、これを社内で行うためには、さまざまな部署が協調的に働く環境づくりが必要になります。しかし私たちは、その点について十分な移行戦略や説得のボキャブラリーを持っていないことが多いと感じています。

一方でGAFAなどの米国大手IT企業では、シングルリポジトリ(会社全体で一つのコードリポジトリ)をやっているという話を聞いてきました。日本企業でシングルリポジトリになるのは、なかなか大変だなー、と思ってきた方も多いのではないかと思います。

米国のMicrosoftも、実はシングルリポジトリではなかった企業の一つです。事業間はある種競争関係でもあるので、基本的にはソースコードは共有しないもの、とされてきました。しかし、クラウド中心へのビジネス全体の転換を進める中で、ここ数年は1ES(One Engineering System) という、共通基盤の普及を進めてきたそうです。これを始めたのが Agile 2015 で基調講演を務めた Sam Guckenheimer 氏です(現在は引退、退職)。私も、2019年に彼のオフィスを訪ねています。

本セッションでは、Sam さんの下で働いたこともある服部さんに、Microsoft の 1ES の取り組みがどのようなものであったのかを紹介していただくところから始めたいと思います。一次情報がやっぱり一番うれしいと思いますので。そのうえで、その取り組みの先にある、企業をまたいだ活動である InnerSource Commons について最近私が勉強したことをまとめてみようと思います。

InnerSource Commons は内製化を進める大企業が参加し、どうやって部署をまたいだコードの共同所有を社内に生やしていくか?その中で他部署からのコントリビューションを得るにはどうしたらいいのか?そして、オープンソース文化では基本知識となっている、プルリクエストベースのコードのコントリビューションの仕組みや体制をどのように作っていくのか、開発者として何を学ぶ必要があるのか、について知見を整理してくれています。

https://confengine.com/conferences/xp2022/proposal/17101/innersource

Yuki Hattori

November 02, 2022
Tweet

More Decks by Yuki Hattori

Other Decks in Technology

Transcript

  1. #InnerSource #xpjug
    Solution Architect at Microsoft
    Founder of InnerSource Commons Japan
    InnerSource
    Yuki Hattori (@yuhattor)
    Yasunobu Kawaguchi (@kawaguti)
    Senior Agile Coach at HoloLab Inc. / Agilergo Consulting

    View Slide

  2. #InnerSource #xpjug
    Agenda InnerSource ってなに?
    InnerSource っておいしいの?
    InnerSource でどうなった?

    View Slide

  3. #InnerSource #xpjug
    ⾃⼰紹介
    服部 佑樹 | @yuhattor
    - Microsoft で Cloud Solution Architect をやっています。
    - InnerSource Commons Japan のファウンダーです。
    InnerSource 活動
    • InnerSource Commons ⽇本コミュニティの⽴ち上げ / ⽇本語コンテンツの整備
    • InnerSource Commons - InnerSource Patterns Trusted Committer (⽇本語翻訳)
    • CTO協会 Day One「今後確実に必要になる InnerSource - GitHub と Microsoft の Day One 」
    • Developer Summit 2021 「MicrosoftがGitHubで実践するインナーソースの取り組みとは?」
    Twitter フォロー、LinkedIn リクエスト お待ちしてます💪

    View Slide

  4. #InnerSource #xpjug
    InnerSource ってなに?

    View Slide

  5. #InnerSource #xpjug
    InnerSource is ...
    “Applying the concepts and lessons of successful open source
    ecosystems to how a company develops software internally”


    View Slide

  6. #InnerSource #xpjug
    InnerSource

    View Slide

  7. #InnerSource #xpjug

    View Slide

  8. #InnerSource #xpjug
    DX Co-creation
    *
    ( )

    View Slide

  9. #InnerSource #xpjug
    DX Co-creation
    *
    ( )

    View Slide

  10. #InnerSource #xpjug






    View Slide

  11. #InnerSource #xpjug











    (
    )

    View Slide

  12. #InnerSource #xpjug











    (
    )
    ① オリジナルを作る
    諸々の事情を加味して、
    オリジナルな表現を開発
    → ビッグワードを駆使して定義

    View Slide

  13. #InnerSource #xpjug











    (
    )
    ① オリジナルを作る
    諸々の事情を加味して、
    オリジナルな表現を開発
    → ビッグワードを駆使して定義
    ② 新しい提案
    コード共有という文脈で
    テンプレートやプラクティスを提供する
    → InnerSource というキーワードで
    一旦まとめてみたらどうですか

    View Slide

  14. #InnerSource #xpjug

    View Slide

  15. #InnerSource #xpjug
    InnerSource Commons
    ž InnerSource Commons InnerSource
    InnerSource
    ž 2015 InnerSource Commons 500
    1800 InnerSource Commons 2020 2 19
    501(c)(3)
    Slack : aka.ms/iscslack
    #jp-general : aka.ms/iscjpgeneral

    View Slide

  16. #InnerSource #xpjug
    InnerSource Commons Japan Community
    ž InnerSource
    ž OSS
    ž InnerSource InnerSource Commons
    ž InnerSource
    ž InnerSource
    ž
    Slack : aka.ms/iscslack
    #jp-general : aka.ms/iscjpgeneral

    View Slide

  17. #InnerSource #xpjug
    InnerSource Commons Japan Community
    Getting Started with InnerSource
    InnerSource
    InnerSource Patterns
    InnerSource
    Understanding the InnerSource Checklist
    InnerSource
    Community Call
    Monthly
    innersourcecommons.org
    Done
    In Progress
    In Progress
    Slack : aka.ms/iscslack
    #jp-general : aka.ms/iscjpgeneral
    Done
    Ready

    View Slide

  18. #InnerSource #xpjug
    事例
    Slack : aka.ms/iscslack
    #jp-general : aka.ms/iscjpgeneral

    View Slide

  19. #InnerSource #xpjug
    事例
    1ES GitHub


    - Satya Nadella
    Case 1: Microsoft
    * 1ES (One Engineering System) =

    View Slide

  20. #InnerSource #xpjug
    Microsoft 1ES (One Engineering System)
    Mission
    Our mission is to enable the world's best engineering teams with world-class tools and systems that
    help them ship products their customer love.
    OpenSource Inclusive ( )
    GitHub StackOverflow

    View Slide

  21. #InnerSource #xpjug
    InnerSource の活用で何が変わるか
    InnerSource Open Source
    Slack : aka.ms/iscslack
    #jp-general : aka.ms/iscjpgeneral

    View Slide

  22. #InnerSource #xpjug
    InnerSource を実現する 4 ポイント
    Slack : aka.ms/iscslack
    #jp-general : aka.ms/iscjpgeneral

    View Slide

  23. #InnerSource #xpjug
    InnerSource をドライブするとは
    ü
    ü
    ü
    ü
    ü
    ü
    ü
    ü /
    ü
    ü
    ü
    Slack : aka.ms/iscslack
    #jp-general : aka.ms/iscjpgeneral

    View Slide

  24. #InnerSource #xpjug
    InnerSource で運⽤が変わる
    ü
    ü
    ü
    ü !=
    ü =
    ü
    ü
    ü
    ü =
    ü =
    最⼤化を狙う
    Slack : aka.ms/iscslack
    #jp-general : aka.ms/iscjpgeneral

    View Slide

  25. #InnerSource #xpjug
    InnerSource プログラムオフィス
    * InnerSource Governance Office
    InnerSource InnerSource
    • InnerSource





    Slack : aka.ms/iscslack
    #jp-general : aka.ms/iscjpgeneral

    View Slide

  26. #InnerSource #xpjug
    InnerSource
    InnerSource は文化変革の旅

    View Slide

  27. #InnerSource #xpjug
    川⼝さんのお話に続く
    https://speakerdeck.com/kawaguti/innersource-commons

    View Slide