Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
組織のソースコードを共有しよう!インナーソース最初の一歩〜実践者達と歌を作った結果、社内でイン...
Search
piyonakajima
April 16, 2025
Technology
2
25
組織のソースコードを共有しよう!インナーソース最初の一歩〜実践者達と歌を作った結果、社内でインナーソース文化が育ち始めた〜 / innersource man
https://confengine.com/conferences/devopsdays-tokyo-2025/proposal/21592
piyonakajima
April 16, 2025
Tweet
Share
More Decks by piyonakajima
See All by piyonakajima
日報にたちカエル〜自分のためのYWT日報をはじめたら苦手だった日報が楽しくなって仕事にもつながった話〜 / lets try ywt
piyonakajima
1
660
AIがチームのふりかえりをサポート!KAGが提供するツール「anycommu」〜AIスクラムマスター Fearless Changeモードのご紹介〜 / Introduce the retrospective tool powered by generative AI anycommu
piyonakajima
0
110
[ナイトセッション] これが私の生きる道組織の中で自分らしさを貫くアジャイル実践者たちの物語piyonakajimaの場合 / This is my way
piyonakajima
0
3.1k
たった一人で始めた音楽制作が気がついたら会社公認の部活動になっていた話〜組織の垣根を超えるコラボレーションを実現するには〜 / On-KAG-bu
piyonakajima
0
600
リフレッシュ!お楽しみ企画 / Reflesh! The Fun Project - InnerSource Gathering Tokyo 2024
piyonakajima
2
790
ぶっちゃけて話すための場作り / Creating an Environment for Open and Honest Communication
piyonakajima
10
48k
3大クラウドLLMバトル! The Big Three Cloud LLM Battle
piyonakajima
1
2.1k
Changing Teams with Music A Retrospective on a Year of Adding Music to Company and Team Journey
piyonakajima
0
690
開発チームだけじゃない!マーケティングチームも毎日Fun Done Learnを半年以上実践している秘訣
piyonakajima
1
670
Other Decks in Technology
See All in Technology
20250328_RubyKaigiで出会い鯛_____RubyKaigiから始まったはじめてのOSSコントリビュート.pdf
mterada1228
0
480
ゆるくVPC Latticeについてまとめてみたら、意外と奥深い件
masakiokuda
2
220
モンテカルロ木探索のパフォーマンスを予測する Kaggleコンペ解説 〜生成AIによる未知のゲーム生成〜
rist
4
1.3k
OSSコントリビュートをphp-srcメンテナの立場から語る / OSS Contribute
sakitakamachi
0
1k
Re:VIEWで書いた「Compose で Android の edge-to-edge に対応する」をRoo Codeで発表資料にしてもらった
tomoya0x00
0
260
Restarting_SRE_Road_to_SRENext_.pdf
_awache
1
230
改めて学ぶ Trait の使い方 / phpcon odawara 2025
meihei3
1
360
2025年春に見直したい、リソース最適化の基本
sogaoh
PRO
0
450
17年のQA経験が導いたスクラムマスターへの道 / 17 Years in QA to Scrum Master
toma_sm
0
560
SRE NEXT CfP チームが語る 聞きたくなるプロポーザルとは / Proposals by the SRE NEXT CfP Team that are sure to be accepted
chaspy
1
550
大規模プロジェクトにおける 品質管理の要点と実践 / 20250327 Suguru Ishii
shift_evolve
0
350
ウォンテッドリーにおける Platform Engineering
bgpat
0
180
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
36
1.7k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2.2k
Designing for Performance
lara
607
69k
Java REST API Framework Comparison - PWX 2021
mraible
29
8.5k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Testing 201, or: Great Expectations
jmmastey
42
7.4k
How to train your dragon (web standard)
notwaldorf
91
6k
Building Applications with DynamoDB
mza
94
6.3k
GraphQLとの向き合い方2022年版
quramy
45
14k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
177
52k
Thoughts on Productivity
jonyablonski
69
4.6k
Transcript
2025/04/16 DevOpsDays Tokyo 2025 組織のソースコードを共有しよう! インナーソース最初の一歩 〜実践者達と歌を作った結果、社内でインナーソース文化が育ち始めた〜 KDDI アジャイル開発センター 中島智弘 下川真弘
1
2
Learning Outcome インナーソースについて知れる インナーソースを実践する第一歩がわかる Target Audience 車輪の再発明や、組織のサイロに悩む人、インナーソースを始めてみたいけど一緒に 取り組む仲間が見つからない人 3
注意 今回の登壇内容は事実に基づいて作りましたが、私の解釈が含まれています。私が分 かったこと、感じたことに価値があると信じてお話します。 4
インナーソースとは インナーソース (InnerSource) は、オープンソースソフトウェア開発におけるベストプラクテ ィスを活用し、非オープンソースやプロプライエタリソフトウェアを開発する組織内にオープン ソースの手法を取り入れることである (Wikipediaより) 5
インナーソースとは インナーソース (InnerSource) は、オープンソースソフトウェア開発におけるベストプラクテ ィスを活用し、非オープンソースやプロプライエタリソフトウェアを開発する組織内にオープン ソースの手法を取り入れることである (Wikipediaより) 「オープンソースっぽいことを社内でやろうぜ」 (中島意訳) 6
7
私が感じていた課題① ソースコードのコラボレーション 社員は100名弱→200名超まで増加!! アーキテクチャは各プロジェクト毎に決めている 但しセキュリティの関係もあり、ソースコードは社内でも限定公開 各自今の仕事以外でそれぞれスキルアップしたい技術領域がある...(と思っている) 8
私が感じていた課題① 一方でKAGは社内横断施策が活発 毎週金曜1730-1830は全社OST@オンライン 社外の人も巻き込んだコミュニティイベントも多数企画 ソフトウェアエンジニアのコラボ機会少ない...? エンジニアなんだからコード書いて共有する場がもっ とあればいいのに…! 9
私が感じていた課題② anycommu Fun Done Learnなどふりかえりを 気軽に楽しく実施できるツール 業務の合間でKDDI本体のメンバー で中島中心に作っていた 10
私が感じていた課題② anycommu Fun Done Learnなどふりかえりを気軽に楽しく実施できるツール 業務の合間でKDDI本体のメンバーで中島中心に作っていた 歌を作って宣伝した結果、社内外100チーム近くに使ってもらえるツールになった 色々あってKAGに移管をしたのだが、開発が止まってしまった... (皆使っているのに...) 11
RSGT2024にて 私が登壇 Fun Done Learnのうた を作った話 英語でシドロモドロ この時GitHubJapanの服部さんが 来ていた 「インナーソースの人だ!!!」 →廊下で質問責め
別の勉強会で再会 「インナーソースの曲つくりま しょうw」 この時は冗談だと思ってた 12
InnerSource Gathering運営への参加 インナーソースについて 「初心者向けのわかりやすいコンテ ンツがない」 という課題があった 13
インナーソースとは(再掲) インナーソース (InnerSource) は、オープンソースソフトウェア開発におけるベストプラクテ ィスを活用し、非オープンソースやプロプライエタリソフトウェアを開発する組織内にオープン ソースの手法を取り入れることである (Wikipediaより) 「オープンソースっぽいことを社内でやろうぜ」 (中島意訳) 確かに難しい…イメージしにくいしどこからどうすれば…
14
「インナーソースの価値基準を考え る会」 楽曲作りを前提に実施した三回のワークショップ 第一回 miroに書き出して終わる 第二回 Niftyさんのオフィスにて。インナーソース の大切にしている言葉を発散させる 15
「インナーソースの価値 基準を考える会」 ワークショップの様子 dot投票で多数あったもの 助ける助かる 開かれたドア positiveなシャドウ 16
試しに生成AIで作って みた 早く失敗しよう ふせんをChatGPTに流して歌 詞を作りSunoAIでいっぱい作 る でも俺の心に何にも響かない 良いところを並べただけでは何 も伝わらない 17
何故響かない? 18
何故響かない? 国内実践者のインナーソース導入の動機は深い組織課題から来ていた 組織のサイロ化、車輪の再発明を防ぐ、組織の硬直化、etc.etc. 19
何故響かない? 国内実践者のインナーソース導入の動機は深い組織課題から来ていた 組織のサイロ化、車輪の再発明を防ぐ、組織の硬直化、etc.etc. 良い所並べても課題の深刻さが伝わっていない どんな課題をどう解決するのか?再整理することになった。 20
ペルソナを決めよう 21
ペルソナを決めよう 30代男性リーダーポジション、プレイングマネージャー的立ち回り。 会社の組織課題を解決する曲に 22
ペルソナを決めよう 30代男性リーダーポジション、プレイングマネージャー的立ち回り。 会社の組織課題を解決する曲に 戦隊モノだ!! 23
ペルソナを決めよう 30代男性リーダーポジション、プ レイングマネージャー的立ち回り。 会社の組織課題を解決する曲に 戦隊モノだ!! 歌詞は暫定で曲だけ先に作る ペルソナから90-00年代 バンドサウンドにシンセサイザ ーのソロが入る曲 24
第三回 価値基準を考える会 KDDI DIGITAL GATEにて 25
第三回 価値基準を考える会 ペルソナ:30代男性リーダーポジション、プレイングマネージャー的立ち回り 26
第三回 価値基準を考える会 ペルソナ:30代男性リーダーポジション、プレイングマネージャー的立ち回り この人はどういうシチュエーションでインナーソースを広げる? 27
第三回 価値基準を考える会 ペルソナ:30代男性リーダーポジション、プレイングマネージャー的立ち回り この人はどういうシチュエーションでインナーソースを広げる? O:起こっていること: 作ったコードはある。しかし、面倒なので積極的に誰か に見せていない 28
第三回 価値基準を考える会 ペルソナ:30代男性リーダーポジション、プレイングマネージャー的立ち回り この人はどういうシチュエーションでインナーソースを広げる? O:起こっていること: 作ったコードはある。しかし、面倒なので積極的に誰か に見せていない N:望んでいること: 同じものを二度作りたくない。俺が作ったことを褒められ たい 29
第三回 価値基準を考える会 ペルソナ:30代男性リーダーポジション、プレイングマネージャー的立ち回り この人はどういうシチュエーションでインナーソースを広げる? O:起こっていること: 作ったコードはある。しかし、面倒なので積極的に誰か に見せていない N:望んでいること: 同じものを二度作りたくない。俺が作ったことを褒められ たい Y:やってみること:
インナーソースの導入!! 30
QA (1)(中島の解釈意訳含む) Q.インナーソースを導入するには何を最初にする必要があるの? 31
QA (1)(中島の解釈意訳含む) Q.インナーソースを導入するには何を最初にする必要があるの? 作ったコードやドキュメントを勇気を持って社内に公開すること そして、社内で別の社員に貢献して欲しいことを伝えること コードがどのようなコードで、他社が貢献できることを表明する 具体的にはREADME.mdとCONTRIBUTING.mdの整備 32
InnerSource Patterns Webにてインナーソースのパターンランゲ ージが掲載されている Standard base documentation README.mdやCONTRIBUTING.mdを提 供することで、新しいコントリビューター に見つけてもらえる
33
QA (2) (中島の解釈意訳含む) Q. インナーソースってなぜ続くの?組織に広げられるの? 34
QA (2) (中島の解釈意訳含む) Q. インナーソースってなぜ続くの?組織に広げられるの? フィードバックが嬉しい。 プログラムを使ったことへの感謝から始まる。 「ありがとう」がほしい。ある種の承認欲求もあるかもしれない。 でももらっ たら嬉しい。
別にPull Requestだけじゃない。使ってもらった。likeをもらえた。Issueが来 た。すべて大事なフィードバック。 35
作詞は夜10時にまで及んだ 36
できた曲 「共創未来インナーソースマン」 InnerSource Gathering Tokyo 2024にて発表 37
歌詞解説 38
オレはオレの書いたコードのメンテナー のうのうと生きていたら俺は企業のサイロに閉じ込められてしまった このままでは来年の新入社員もサイロに閉じ込められてしまう 共創未来 インナーソースマン!! オレの作ったレポジトリ みんな使ったらいいのに 色々言われるの嫌だから誰にも言わずに置いとこう だけど隣のチームが同じものをつくる予定らしい これじゃまるで車輪の再発明(思い切って社内に公開してみよう)
39
README.md 分かりやすくしたら 「何のコードかがよく分かった」 CONTRIBUTING.md ちゃんと用意したら 「コードに触れても良いと知った」 Starがもらえた! Issueが来た! PR(プルリク)もらえた! 助ける助かる 開かれたドア
Feedbackがうれしい (みんなで作って 進化させていこう) この歌の提供は InnerSource Commons コミュニティと KDDIアジャイル開発センターの提供でお送りしました 40
KAGの社員で完成 「Feedbackがうれしい」の連鎖で 曲の完成度が上がっていった 詳細はXP祭りをみてください https://speakerdeck.com/pi yonakajima/on-kag-bu- 468185e4-ffc7-457f-ad67- 7eb334ba84c7 これも一つのインナーソースだった 41
翌日「俺の作ったレポジトリ」に初めてPRが来た!! 42
翌日「俺の作ったレポジトリ」に初めてPRが来た!! 私が作ったSlack botがあった 43
翌日「俺の作ったレポジトリ」に初めてPRが来た!! 私が作ったSlack botがあった ちょっとした業務課題解決で約半分の社員が使っている 軽微な不便なちょっとした不具合があった 44
翌日「俺の作ったレポジトリ」に初めてPRが来た!! 私が作ったSlack botがあった ちょっとした業務課題解決で約半分の社員が使っている 軽微な不便なちょっとした不具合があった 翌日作詞エピソードをSlackに共有→PRがきた CONTRIBUTING.mdは書いてなかった 45
なぜPRが飛んできたのか? 46
なぜPRが飛んできたのか? Yやったこと: インナーソースの価値基準を考える会で学んだことをSlackに共有し た 47
なぜPRが飛んできたのか? Yやったこと: インナーソースの価値基準を考える会で学んだことをSlackに共有し た Oおこったこと: Pull Requestが飛んできた 48
なぜPRが飛んできたのか? Yやったこと: インナーソースの価値基準を考える会で学んだことをSlackに共有し た Oおこったこと: Pull Requestが飛んできた Wわかったこと: 私が、貢献を歓迎するという意思表示をしたから。 49
なぜPRが飛んできたのか? Yやったこと: インナーソースの価値基準を考える会で学んだことをSlackに共有し た Oおこったこと: Pull Requestが飛んできた Wわかったこと: 私が、貢献を歓迎するという意思表示をしたから。 そして、フィードバックがとてつもなく嬉しかった
自分が書いたコードで作ったものを使ってくれていた それを大切に思ってくれていた 50
なぜPRが飛んできたのか? Yやったこと: インナーソースの価値基準を考える会で学んだことをSlackに共有し た Oおこったこと: Pull Requestが飛んできた Wわかったこと: 私が、貢献を歓迎するという意思表示をしたから。 そして、フィードバックがとてつもなく嬉しかった
自分が書いたコードで作ったものを使ってくれていた それを大切に思ってくれていた こうして最初のインナーソース実践事例が生まれた 51
実践する前に思っていた一歩と実践した後の一歩の違 い 実践する前の第一歩(想像) ルールづくりが先。誰かが公開して誰かがPull Requestを送る仕組みが必要。ト ップダウンの理解が最初に必要。 実践した後の第一歩(実際) 自分がレポジトリを作って公開する。それを使った人からのフィードバックを募 集していることを自分が発信する。 組織文化であり、自発的にやるもので自分が実践することが大事。
52
二次利用が進む CEDECにてバンダイナムコの八重樫さんご紹介 三菱電機の追立さんご紹介 社内イベントにてインナーソースマンを流す イベントにてNifty芦川さんご紹介 InnerSource Summit 2024 開幕の挨拶にて各国の取組紹介で日本のインナーソー スマンを紹介 & Heros of
Monthを受賞する JAWS KAG名古屋オフィス高谷さんご紹介(編曲担当) そして札幌オフィス下川さん...!!! (PFE部) 53
ここからバトンタッチ 54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
まとめ インナーソースを始めるには「自分が公開すること」 「自分がフィードバックを求め ていることを発信すること」が重要 具体的にはREADME.md/CONTRIBUTING.mdの整備。社内で自分が貢献を求めて いると宣伝することが重要 組織にインナーソースマンを流してインナーソースを始めよう KAGではまだまだ浸透や定着度は低い 巻き込んで広げていきたい 74
おまけ 75
76
77
78
79