×
Copy
Open
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
2025/04/16 DevOpsDays Tokyo 2025 組織のソースコードを共有しよう! インナーソース最初の一歩 〜実践者達と歌を作った結果、社内でインナーソース文化が育ち始めた〜 KDDI アジャイル開発センター 中島智弘 下川真弘 1
Slide 2
Slide 2 text
2
Slide 3
Slide 3 text
Learning Outcome インナーソースについて知れる インナーソースを実践する第一歩がわかる Target Audience 車輪の再発明や、組織のサイロに悩む人、インナーソースを始めてみたいけど一緒に 取り組む仲間が見つからない人 3
Slide 4
Slide 4 text
注意 今回の登壇内容は事実に基づいて作りましたが、私の解釈が含まれています。私が分 かったこと、感じたことに価値があると信じてお話します。 4
Slide 5
Slide 5 text
インナーソースとは インナーソース (InnerSource) は、オープンソースソフトウェア開発におけるベストプラクテ ィスを活用し、非オープンソースやプロプライエタリソフトウェアを開発する組織内にオープン ソースの手法を取り入れることである (Wikipediaより) 5
Slide 6
Slide 6 text
インナーソースとは インナーソース (InnerSource) は、オープンソースソフトウェア開発におけるベストプラクテ ィスを活用し、非オープンソースやプロプライエタリソフトウェアを開発する組織内にオープン ソースの手法を取り入れることである (Wikipediaより) 「オープンソースっぽいことを社内でやろうぜ」 (中島意訳) 6
Slide 7
Slide 7 text
7
Slide 8
Slide 8 text
私が感じていた課題① ソースコードのコラボレーション 社員は100名弱→200名超まで増加!! アーキテクチャは各プロジェクト毎に決めている 但しセキュリティの関係もあり、ソースコードは社内でも限定公開 各自今の仕事以外でそれぞれスキルアップしたい技術領域がある...(と思っている) 8
Slide 9
Slide 9 text
私が感じていた課題① 一方でKAGは社内横断施策が活発 毎週金曜1730-1830は全社OST@オンライン 社外の人も巻き込んだコミュニティイベントも多数企画 ソフトウェアエンジニアのコラボ機会少ない...? エンジニアなんだからコード書いて共有する場がもっ とあればいいのに…! 9
Slide 10
Slide 10 text
私が感じていた課題② anycommu Fun Done Learnなどふりかえりを 気軽に楽しく実施できるツール 業務の合間でKDDI本体のメンバー で中島中心に作っていた 10
Slide 11
Slide 11 text
私が感じていた課題② anycommu Fun Done Learnなどふりかえりを気軽に楽しく実施できるツール 業務の合間でKDDI本体のメンバーで中島中心に作っていた 歌を作って宣伝した結果、社内外100チーム近くに使ってもらえるツールになった 色々あってKAGに移管をしたのだが、開発が止まってしまった... (皆使っているのに...) 11
Slide 12
Slide 12 text
RSGT2024にて 私が登壇 Fun Done Learnのうた を作った話 英語でシドロモドロ この時GitHubJapanの服部さんが 来ていた 「インナーソースの人だ!!!」 →廊下で質問責め 別の勉強会で再会 「インナーソースの曲つくりま しょうw」 この時は冗談だと思ってた 12
Slide 13
Slide 13 text
InnerSource Gathering運営への参加 インナーソースについて 「初心者向けのわかりやすいコンテ ンツがない」 という課題があった 13
Slide 14
Slide 14 text
インナーソースとは(再掲) インナーソース (InnerSource) は、オープンソースソフトウェア開発におけるベストプラクテ ィスを活用し、非オープンソースやプロプライエタリソフトウェアを開発する組織内にオープン ソースの手法を取り入れることである (Wikipediaより) 「オープンソースっぽいことを社内でやろうぜ」 (中島意訳) 確かに難しい…イメージしにくいしどこからどうすれば… 14
Slide 15
Slide 15 text
「インナーソースの価値基準を考え る会」 楽曲作りを前提に実施した三回のワークショップ 第一回 miroに書き出して終わる 第二回 Niftyさんのオフィスにて。インナーソース の大切にしている言葉を発散させる 15
Slide 16
Slide 16 text
「インナーソースの価値 基準を考える会」 ワークショップの様子 dot投票で多数あったもの 助ける助かる 開かれたドア positiveなシャドウ 16
Slide 17
Slide 17 text
試しに生成AIで作って みた 早く失敗しよう ふせんをChatGPTに流して歌 詞を作りSunoAIでいっぱい作 る でも俺の心に何にも響かない 良いところを並べただけでは何 も伝わらない 17
Slide 18
Slide 18 text
何故響かない? 18
Slide 19
Slide 19 text
何故響かない? 国内実践者のインナーソース導入の動機は深い組織課題から来ていた 組織のサイロ化、車輪の再発明を防ぐ、組織の硬直化、etc.etc. 19
Slide 20
Slide 20 text
何故響かない? 国内実践者のインナーソース導入の動機は深い組織課題から来ていた 組織のサイロ化、車輪の再発明を防ぐ、組織の硬直化、etc.etc. 良い所並べても課題の深刻さが伝わっていない どんな課題をどう解決するのか?再整理することになった。 20
Slide 21
Slide 21 text
ペルソナを決めよう 21
Slide 22
Slide 22 text
ペルソナを決めよう 30代男性リーダーポジション、プレイングマネージャー的立ち回り。 会社の組織課題を解決する曲に 22
Slide 23
Slide 23 text
ペルソナを決めよう 30代男性リーダーポジション、プレイングマネージャー的立ち回り。 会社の組織課題を解決する曲に 戦隊モノだ!! 23
Slide 24
Slide 24 text
ペルソナを決めよう 30代男性リーダーポジション、プ レイングマネージャー的立ち回り。 会社の組織課題を解決する曲に 戦隊モノだ!! 歌詞は暫定で曲だけ先に作る ペルソナから90-00年代 バンドサウンドにシンセサイザ ーのソロが入る曲 24
Slide 25
Slide 25 text
第三回 価値基準を考える会 KDDI DIGITAL GATEにて 25
Slide 26
Slide 26 text
第三回 価値基準を考える会 ペルソナ:30代男性リーダーポジション、プレイングマネージャー的立ち回り 26
Slide 27
Slide 27 text
第三回 価値基準を考える会 ペルソナ:30代男性リーダーポジション、プレイングマネージャー的立ち回り この人はどういうシチュエーションでインナーソースを広げる? 27
Slide 28
Slide 28 text
第三回 価値基準を考える会 ペルソナ:30代男性リーダーポジション、プレイングマネージャー的立ち回り この人はどういうシチュエーションでインナーソースを広げる? O:起こっていること: 作ったコードはある。しかし、面倒なので積極的に誰か に見せていない 28
Slide 29
Slide 29 text
第三回 価値基準を考える会 ペルソナ:30代男性リーダーポジション、プレイングマネージャー的立ち回り この人はどういうシチュエーションでインナーソースを広げる? O:起こっていること: 作ったコードはある。しかし、面倒なので積極的に誰か に見せていない N:望んでいること: 同じものを二度作りたくない。俺が作ったことを褒められ たい 29
Slide 30
Slide 30 text
第三回 価値基準を考える会 ペルソナ:30代男性リーダーポジション、プレイングマネージャー的立ち回り この人はどういうシチュエーションでインナーソースを広げる? O:起こっていること: 作ったコードはある。しかし、面倒なので積極的に誰か に見せていない N:望んでいること: 同じものを二度作りたくない。俺が作ったことを褒められ たい Y:やってみること: インナーソースの導入!! 30
Slide 31
Slide 31 text
QA (1)(中島の解釈意訳含む) Q.インナーソースを導入するには何を最初にする必要があるの? 31
Slide 32
Slide 32 text
QA (1)(中島の解釈意訳含む) Q.インナーソースを導入するには何を最初にする必要があるの? 作ったコードやドキュメントを勇気を持って社内に公開すること そして、社内で別の社員に貢献して欲しいことを伝えること コードがどのようなコードで、他社が貢献できることを表明する 具体的にはREADME.mdとCONTRIBUTING.mdの整備 32
Slide 33
Slide 33 text
InnerSource Patterns Webにてインナーソースのパターンランゲ ージが掲載されている Standard base documentation README.mdやCONTRIBUTING.mdを提 供することで、新しいコントリビューター に見つけてもらえる 33
Slide 34
Slide 34 text
QA (2) (中島の解釈意訳含む) Q. インナーソースってなぜ続くの?組織に広げられるの? 34
Slide 35
Slide 35 text
QA (2) (中島の解釈意訳含む) Q. インナーソースってなぜ続くの?組織に広げられるの? フィードバックが嬉しい。 プログラムを使ったことへの感謝から始まる。 「ありがとう」がほしい。ある種の承認欲求もあるかもしれない。 でももらっ たら嬉しい。 別にPull Requestだけじゃない。使ってもらった。likeをもらえた。Issueが来 た。すべて大事なフィードバック。 35
Slide 36
Slide 36 text
作詞は夜10時にまで及んだ 36
Slide 37
Slide 37 text
できた曲 「共創未来インナーソースマン」 InnerSource Gathering Tokyo 2024にて発表 37
Slide 38
Slide 38 text
歌詞解説 38
Slide 39
Slide 39 text
オレはオレの書いたコードのメンテナー のうのうと生きていたら俺は企業のサイロに閉じ込められてしまった このままでは来年の新入社員もサイロに閉じ込められてしまう 共創未来 インナーソースマン!! オレの作ったレポジトリ みんな使ったらいいのに 色々言われるの嫌だから誰にも言わずに置いとこう だけど隣のチームが同じものをつくる予定らしい これじゃまるで車輪の再発明(思い切って社内に公開してみよう) 39
Slide 40
Slide 40 text
README.md 分かりやすくしたら 「何のコードかがよく分かった」 CONTRIBUTING.md ちゃんと用意したら 「コードに触れても良いと知った」 Starがもらえた! Issueが来た! PR(プルリク)もらえた! 助ける助かる 開かれたドア Feedbackがうれしい (みんなで作って 進化させていこう) この歌の提供は InnerSource Commons コミュニティと KDDIアジャイル開発センターの提供でお送りしました 40
Slide 41
Slide 41 text
KAGの社員で完成 「Feedbackがうれしい」の連鎖で 曲の完成度が上がっていった 詳細はXP祭りをみてください https://speakerdeck.com/pi yonakajima/on-kag-bu- 468185e4-ffc7-457f-ad67- 7eb334ba84c7 これも一つのインナーソースだった 41
Slide 42
Slide 42 text
翌日「俺の作ったレポジトリ」に初めてPRが来た!! 42
Slide 43
Slide 43 text
翌日「俺の作ったレポジトリ」に初めてPRが来た!! 私が作ったSlack botがあった 43
Slide 44
Slide 44 text
翌日「俺の作ったレポジトリ」に初めてPRが来た!! 私が作ったSlack botがあった ちょっとした業務課題解決で約半分の社員が使っている 軽微な不便なちょっとした不具合があった 44
Slide 45
Slide 45 text
翌日「俺の作ったレポジトリ」に初めてPRが来た!! 私が作ったSlack botがあった ちょっとした業務課題解決で約半分の社員が使っている 軽微な不便なちょっとした不具合があった 翌日作詞エピソードをSlackに共有→PRがきた CONTRIBUTING.mdは書いてなかった 45
Slide 46
Slide 46 text
なぜPRが飛んできたのか? 46
Slide 47
Slide 47 text
なぜPRが飛んできたのか? Yやったこと: インナーソースの価値基準を考える会で学んだことをSlackに共有し た 47
Slide 48
Slide 48 text
なぜPRが飛んできたのか? Yやったこと: インナーソースの価値基準を考える会で学んだことをSlackに共有し た Oおこったこと: Pull Requestが飛んできた 48
Slide 49
Slide 49 text
なぜPRが飛んできたのか? Yやったこと: インナーソースの価値基準を考える会で学んだことをSlackに共有し た Oおこったこと: Pull Requestが飛んできた Wわかったこと: 私が、貢献を歓迎するという意思表示をしたから。 49
Slide 50
Slide 50 text
なぜPRが飛んできたのか? Yやったこと: インナーソースの価値基準を考える会で学んだことをSlackに共有し た Oおこったこと: Pull Requestが飛んできた Wわかったこと: 私が、貢献を歓迎するという意思表示をしたから。 そして、フィードバックがとてつもなく嬉しかった 自分が書いたコードで作ったものを使ってくれていた それを大切に思ってくれていた 50
Slide 51
Slide 51 text
なぜPRが飛んできたのか? Yやったこと: インナーソースの価値基準を考える会で学んだことをSlackに共有し た Oおこったこと: Pull Requestが飛んできた Wわかったこと: 私が、貢献を歓迎するという意思表示をしたから。 そして、フィードバックがとてつもなく嬉しかった 自分が書いたコードで作ったものを使ってくれていた それを大切に思ってくれていた こうして最初のインナーソース実践事例が生まれた 51
Slide 52
Slide 52 text
実践する前に思っていた一歩と実践した後の一歩の違 い 実践する前の第一歩(想像) ルールづくりが先。誰かが公開して誰かがPull Requestを送る仕組みが必要。ト ップダウンの理解が最初に必要。 実践した後の第一歩(実際) 自分がレポジトリを作って公開する。それを使った人からのフィードバックを募 集していることを自分が発信する。 組織文化であり、自発的にやるもので自分が実践することが大事。 52
Slide 53
Slide 53 text
二次利用が進む CEDECにてバンダイナムコの八重樫さんご紹介 三菱電機の追立さんご紹介 社内イベントにてインナーソースマンを流す イベントにてNifty芦川さんご紹介 InnerSource Summit 2024 開幕の挨拶にて各国の取組紹介で日本のインナーソー スマンを紹介 & Heros of Monthを受賞する JAWS KAG名古屋オフィス高谷さんご紹介(編曲担当) そして札幌オフィス下川さん...!!! (PFE部) 53
Slide 54
Slide 54 text
ここからバトンタッチ 54
Slide 55
Slide 55 text
55
Slide 56
Slide 56 text
56
Slide 57
Slide 57 text
57
Slide 58
Slide 58 text
58
Slide 59
Slide 59 text
59
Slide 60
Slide 60 text
60
Slide 61
Slide 61 text
61
Slide 62
Slide 62 text
62
Slide 63
Slide 63 text
63
Slide 64
Slide 64 text
64
Slide 65
Slide 65 text
65
Slide 66
Slide 66 text
66
Slide 67
Slide 67 text
67
Slide 68
Slide 68 text
68
Slide 69
Slide 69 text
69
Slide 70
Slide 70 text
70
Slide 71
Slide 71 text
71
Slide 72
Slide 72 text
72
Slide 73
Slide 73 text
73
Slide 74
Slide 74 text
まとめ インナーソースを始めるには「自分が公開すること」 「自分がフィードバックを求め ていることを発信すること」が重要 具体的にはREADME.md/CONTRIBUTING.mdの整備。社内で自分が貢献を求めて いると宣伝することが重要 組織にインナーソースマンを流してインナーソースを始めよう KAGではまだまだ浸透や定着度は低い 巻き込んで広げていきたい 74
Slide 75
Slide 75 text
おまけ 75
Slide 76
Slide 76 text
76
Slide 77
Slide 77 text
77
Slide 78
Slide 78 text
78
Slide 79
Slide 79 text
79