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

GitHubで育つ コラボレーション文化 : ニフティでのインナーソース挑戦事例 - 2024...

GitHubで育つ コラボレーション文化 : ニフティでのインナーソース挑戦事例 - 2024-12-16 GitHub Universe 2024 Recap in ZOZO

イベント
GitHub Universe 2024 Recap in ZOZO
https://zozotech-inc.connpass.com/event/336687/

登壇者
ニフティ株式会社
芦川 亮

ニフティ株式会社

December 16, 2024
Tweet

Resources

GitHub Universe 2024 Recap in ZOZO - connpass

https://zozotech-inc.connpass.com/event/336687/

More Decks by ニフティ株式会社

Other Decks in Programming

Transcript

  1. Copyright © NIFTY Corporation All Rights Reserved. 2 自己紹介 ニフティ株式会社

    エンジニアリングマネージャー 芦川 亮 (あしかわ りょう) InnerSource Commons Japan InnerSource Advocate 2010 2015 2020 2025 スクラムマスター エンジニアリングマネージャー バックエンドエンジニア
  2. Copyright © NIFTY Corporation All Rights Reserved. ニフティのエンジニア組織 5 WEB

    ストリームアラインド WEB WEB WEB ISP ISP ISP ISP イネイブリング SRE クラウド戦略 セキュリティ コンプリケイテッド・サブシステム ISPネットワーク プラットフォーム 会員管理 課金・請求 データ基盤 社内情報 ISP エンジニア 約160名
  3. Copyright © NIFTY Corporation All Rights Reserved. ニフティのGitHub利用状況 6 •

    organizationは1つ。組織内の誰でも閲覧化。 • copilot 約50名、日々利用増加中 Copilot Metrics Viewer
  4. Copyright © NIFTY Corporation All Rights Reserved. インナーソースを始めるきっかけ 8 2022年のあの頃。エンジニアリングマネージャーとして、

    リソースの効率化について悩みがありました。 • 外部のリソースを使わず、もっと内部で回せるやり 方はないか? • 特定のチームに開発集中してもリードタイムを少な くできる方法はないか? 衝撃的な出会いでした!! この世には「インナーソース」というものがありまし た!! やってみたい! 組織に導入してみたい! https://codezine.jp/article/detail/14809
  5. Copyright © NIFTY Corporation All Rights Reserved. インナーソースの定義 9 組織という限られた環境におい

    て、ソフトウェア開発における オープンソースの原則とプラク ティスを活用すること CONTRIBUTING.mdを書こう!
  6. Copyright © NIFTY Corporation All Rights Reserved. ニフティとインナーソースの歩み 11 1人推進者を

    決めよう 簡単なもので いいから社内 で実績をつく ろう 他のEMに呼び かけ、事業計 画にもいれて 巻き込もう 全エンジニアLT で先にワードを 浸透させよう コントリビューターの評価軸をは っきりさせよう コントリビューターの工数計上を はっきりさせよう シャイなエン ジニアに外部 登壇経験つま せよう というのを社 内周知し、コ ミット感をだ そう 人とどんどん つながる楽し さをメンバー に味あわせた い よかったね、 全社に知れ渡 った。 業務で外部活 動することを コミットしよ う 部署をまたいだ 推進者グループ を作ろう 引き続き事業 計画にもいれ て推進活動自 体は意識する 推進者の計画に 落とし込む 推進者を評価す る
  7. Copyright © NIFTY Corporation All Rights Reserved. みんなで便利ツールにコントリビュートしよう! 14 エンジニアが自ら作成しやす

    く、また、作成したツールを 社内に広めやすい環境があり ます。このようなツールに対 してインナーソースは非常に 効果的です。まさにOSSの ように、コントリビュートが 生まれやすい!
  8. Copyright © NIFTY Corporation All Rights Reserved. API利用者定義ファイルのリードタイム短縮 15 ブランチ切って修正して開発

    環境に搭載。 数日~1週間おまたせしてし まうことも。。 API使いたい人(他チーム) API管理者 slackワーク フローで利用 申請しました。 確認しました。 デプロイお願 いします。 内部でPR作成 デプロイしま した。 レビュー&マージ 開発環境で追 加しました動 作確認おねが い。 BEFORE
  9. Copyright © NIFTY Corporation All Rights Reserved. API利用者定義ファイルのリードタイム短縮 16 API管理者

    PR出しました。 デプロイお願いしま す。 デプロイしま した。 レビュー&マージ AFTER 完全に早い • リードタイムがない • コミュニケーションコストが半分以下。 GitHub ActionsのRun workflowでブランチ選 択してデプロイ PR作成 ブランチを切 って、開発環 境確認しよう API使いたい人(他チーム)
  10. Copyright © NIFTY Corporation All Rights Reserved. エンジニアでなくてもコントリビュート!? 17 •メール文面の修正はビジネス部門の

    方がブラウザ上で直接PRを出しても らうように •修正の迅速化を感じてもらえた GitHub GUI上でPR->マージが完結す る。 すでにインナーソースはエンジニアだけ のものではなくなった!
  11. Copyright © NIFTY Corporation All Rights Reserved. 19 ドメイン知識が違う同士のストリームアラインドチー ムのコラボレーション

    やってみて改めて気づいたところ。 左の図はうまくいくが、方向が異な ればうまくいかない。。 そもそも、コントリビュートのモチ ベーションがわかない、そもそも協 働するチーム同士ではない、という 状況はコントリビュートすることも うまれにくい。 インナーソースは万能ではない。 適材適所で効果を発揮!
  12. Copyright © NIFTY Corporation All Rights Reserved. ドキュメントへのコントリビュート 20 やりたいけれど、どうやれ

    ば!? xls設計書どうすればいいの!? さらに欲を言うと全社のドキュ メントを対象にしたい! 可能性を感じてはいますが、実 際の進め方について難儀してい る!
  13. Copyright © NIFTY Corporation All Rights Reserved. 銀の弾丸のように語られることがある 21 -

    ド新規のプロダクト開発したいんだけど、人が足りてないから、各チ ームから寄せ集めてインナーソースでできない? - いや、向いてないと思います。インナーソースは、コントリビュ ート方法が確立されてからの話で、また、スケジュールを束縛す ることも推奨していません。(あるのかな?) - うちのチームに、よくわからないツールがあってもう手放したいのだ けど、これインナーソースでなんとかならない? - いや、無理です。リポジトリ管理者(トラステッドコミッター) がいてこそのインナーソースです。まず責任の所在ははっきりさ せましょう。責任をもって管理しつつ、ブラックボックスは明ら かにしよう。もしくは、もう捨てる検討してください。 というように、理解が浸透しきってないことがある
  14. Copyright © NIFTY Corporation All Rights Reserved. 22 [PR] InnerSource

    Commons Community OSSコントリビュートのベストプラ クティスを企業内ソースに導入! Slackあります。お気 軽にどうぞ! 日本語チャネルもありま す!!: #jp-general
  15. Copyright © NIFTY Corporation All Rights Reserved. まとめ 23 GitHubというプラットフォームを通じて、インナーソースという仕組みを導入し、同じ方向を向く人た

    ちがいれば、組織の後ろ盾を通して、組織内でコラボレーション文化醸成だ! GitHubで育つコラボレーション文化はこうだった!! お互い便利! 同じドメイン領域! お互いリードタイム最小化!