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
75
組織のソースコードを共有しよう!インナーソース最初の一歩〜実践者達と歌を作った結果、社内でインナーソース文化が育ち始めた〜 / 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
2
1.6k
AIがチームのふりかえりをサポート!KAGが提供するツール「anycommu」〜AIスクラムマスター Fearless Changeモードのご紹介〜 / Introduce the retrospective tool powered by generative AI anycommu
piyonakajima
0
130
[ナイトセッション] これが私の生きる道組織の中で自分らしさを貫くアジャイル実践者たちの物語piyonakajimaの場合 / This is my way
piyonakajima
0
3.1k
たった一人で始めた音楽制作が気がついたら会社公認の部活動になっていた話〜組織の垣根を超えるコラボレーションを実現するには〜 / On-KAG-bu
piyonakajima
0
620
リフレッシュ!お楽しみ企画 / Reflesh! The Fun Project - InnerSource Gathering Tokyo 2024
piyonakajima
2
820
ぶっちゃけて話すための場作り / Creating an Environment for Open and Honest Communication
piyonakajima
10
51k
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
720
開発チームだけじゃない!マーケティングチームも毎日Fun Done Learnを半年以上実践している秘訣
piyonakajima
1
690
Other Decks in Technology
See All in Technology
OPENLOGI Company Profile
hr01
0
64k
Azure & DevSecOps
kkamegawa
2
180
Part1 GitHubってなんだろう?その2
tomokusaba
2
750
使えるデータ基盤を作る技術選定の秘訣 / selecting-the-right-data-technology
pei0804
6
1.1k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
7
64k
CARTA HOLDINGS エンジニア向け 採用ピッチ資料 / CARTA-GUIDE-for-Engineers
carta_engineering
0
27k
本当に必要なのは「QAという技術」だった!試行錯誤から生まれた、品質とデリバリーの両取りアプローチ / Turns Out, "QA as a Discipline" Was the Key!
ar_tama
9
4.4k
MagicPodが描くAIエージェント戦略とソフトウェアテストの未来
magicpod
0
130
TanStack Start 技術選定の裏側 / Findy-Lunch-LT-TanStack-Start
iktakahiro
1
120
DjangoCon Europe 2025 Keynote - Django for Data Science
wsvincent
0
550
テストコードにはテストの意図を込めよう(2025年版) #retechtalk / Put the intent of the test 2025
nihonbuson
PRO
6
1k
Gateway H2 モジュールで スマートホーム入門
minoruinachi
0
140
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
71
10k
Documentation Writing (for coders)
carmenintech
71
4.8k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Optimizing for Happiness
mojombo
378
70k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
The Straight Up "How To Draw Better" Workshop
denniskardys
233
140k
Fireside Chat
paigeccino
37
3.4k
Designing Experiences People Love
moore
142
24k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
What's in a price? How to price your products and services
michaelherold
245
12k
Producing Creativity
orderedlist
PRO
344
40k
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