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
Livesense Inc.
PRO
July 28, 2017
Technology
15
6.7k
文化のリファクタリング
2017/07/28 @ Developers Summit 2017 Summer
A-5セッション「組織と文化のリファクタリング」後編資料
Livesense Inc.
PRO
July 28, 2017
Tweet
Share
More Decks by Livesense Inc.
See All by Livesense Inc.
株式会社リブセンス 会社説明資料(報道関係者様向け)
livesense
PRO
0
760
26新卒_総合職採用_会社説明資料
livesense
PRO
0
1.2k
株式会社リブセンス会社紹介資料 / Invent the next common.
livesense
PRO
1
8.5k
26新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
1
4.8k
中途セールス職_会社説明資料
livesense
PRO
0
140
EM候補者向け転職会議説明資料
livesense
PRO
0
55
コロナで失われたノベルティ作成ノウハウを復活させた話
livesense
PRO
0
180
転職会議でGPT-3を活用した企業口コミ要約機能をリリースした話
livesense
PRO
0
1.2k
株式会社リブセンス マッハバイト_プレイブック
livesense
PRO
0
710
Other Decks in Technology
See All in Technology
"君は見ているが観察していない"で考えるインシデントマネジメント
grimoh
4
1.1k
社内で最大の技術的負債のリファクタリングに取り組んだお話し
kidooonn
1
500
地理情報データをデータベースに格納しよう~ GPUを活用した爆速データベース PG-Stromの紹介 ~
sakaik
1
130
フルカイテン株式会社 採用資料
fullkaiten
0
40k
Amplify Gen2 Deep Dive / バックエンドの型をいかにしてフロントエンドへ伝えるか #TSKaigi #TSKaigiKansai #AWSAmplifyJP
tacck
PRO
0
210
State of Open Source Web Mapping Libraries
dayjournal
0
230
株式会社島津製作所_研究開発(集団協業と知的生産)の現場を支える、OSS知識基盤システムの導入
akahane92
1
200
エンジニアが一生困らない ドキュメント作成の基本
naohiro_nakata
3
160
FOSS4G 2024 Japan コアデイ 一般発表25 PythonでPLATEAUのデータを手軽に扱ってみる
ra0kley
1
140
SREによる隣接領域への越境とその先の信頼性
shonansurvivors
2
460
Team Dynamicsを目指すウイングアーク1stのQAチーム
sadonosake
1
300
Exadata Database Service on Cloud@Customer セキュリティ、ネットワーク、および管理について
oracle4engineer
PRO
0
1.1k
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
26
5.2k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Embracing the Ebb and Flow
colly
84
4.5k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Intergalactic Javascript Robots from Outer Space
tanoku
269
27k
For a Future-Friendly Web
brad_frost
175
9.4k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
Being A Developer After 40
akosma
86
590k
Code Reviewing Like a Champion
maltzj
520
39k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
Transcript
さびれた勉強会を復活させる “文化のリファクタリング” 2017/07/28 内山 高広(@highwide) - Livesense Inc. Developers Summit
2017 Summer(夏サミ) Copyright © Livesense Inc.
• 社内のLT大会がだんだんとさびれていったさまを反省し、”文化のリファクタリング” を敢行することで、再度活気を取り戻すようになるまでの一部始終をまとめました • リブセンスにおける社内事例ではありますが「勉強会<=>コミュニティ」への考え方 や、”リファクタリング”方法の見つけ方などが、ヒントとなれば嬉しいです • なお、2017/7/28のDevelopers Summit 2017
Summerで発表した資料を、口頭で説 明していた部分など補うかたちで、一部改訂しています。 Copyright © Livesense Inc. このスライドについて 2
内山 高広 @highwide • 3年前に「よちよち.rb」という初心者向けRubyコ ミュニティがきっかけでSIerから転職 • なんだけど最近はPHPを書く方が多い • アルバイト事業「ジョブセンス」のかたわら、社
内勉強会「0x64物語reboot」の運営を行う Copyright © Livesense Inc. 自己紹介 3
Copyright © Livesense Inc. 「0x64物語reboot」 (ひゃくものがたりりぶーと) とは? 4
Copyright © Livesense Inc. • リブセンスで毎月やっている社内勉強会 • 10進数で「100」 => 16進数で「0x64」
• エンジニア有志(ときには他の職種の方も)が参加 • “テーマ縛り”のLT大会 • 近くで買ってきたクラフトビールを飲みながら、おもしろおかしく やっている 0x64物語rebootとは? 5
Copyright © Livesense Inc. 0x64物語rebootにおけるこれまでの発表テーマ No. テーマ 開催日 1 ネットワーク
2017/3/28 2 機械学習 2017/4/25 3 テスト 2017/5/29 4 RDB 2017/6/27 5 ポストRails 2017/7/31 6
Copyright © Livesense Inc. たとえばこんな発表が テーマ:「テスト」 テーマ:「ネットワーク」 7
Copyright © Livesense Inc. この勉強会は どうやって始まったの? 8
Copyright © Livesense Inc. • 有志が10名弱集まる • もくもくと読書会 • 「独力だけでは読み進めにくい
本を読める」と好評 元々はコンピューターサイエンスの有名本の読書会をやっていた 9
Copyright © Livesense Inc. 毎週の読書会に集う人が ひとり、またひとりと減っていく ところが: コンピューターサイエンス本の読書会の顛末 • 長く続いて飽きが出てきているし、
今度はアウトプットする場にしよう! • ただのLT大会ではなく、 テーマ縛りにしたらおもしろそう! 10
Copyright © Livesense Inc. 0x64物語(ひゃくものがたり) スタートへ 11
Copyright © Livesense Inc. あれ? 0x64物語「reboot」 じゃないんでしたっけ? 12
Copyright © Livesense Inc. 実は一度「反省」のフェーズを挟んでいるのです 0x64物語 0x64物語 reboot 反省 リファクタリング
「0x64物語」の反省が、 いかにして「0x64物語reboot」につながったのか… それが今日お話したいことです 13
Copyright © Livesense Inc. じゃあ”reboot”する前の 0x64物語は最初から 失敗だったんですか? 14
Copyright © Livesense Inc. • それなりに好評を博したはず • 毎回20人くらいが参加して10人弱くらいが発表する • 次回のテーマを毎回投票で決定し10回(10テーマ)
開催した 0x64物語やってみてどうだった? 15
Copyright © Livesense Inc. あれ?好評だったのに なぜ10回で 終わってしまったの? 16
Copyright © Livesense Inc. 飽きてきた 17
Copyright © Livesense Inc. • いつも同じ人が発表しがち • コンピュータサイエンス本読書会の流れを汲んでいるし 「ガチ勢じゃないと参加しにくい」と思われがち •
自分たちもなんだかんだ言って、「こんなテーマでLTやる俺たち、最 高だよな」みたいな嫌な悪ノリがあったかもしれない なぜ飽きてしまうの? 18
Copyright © Livesense Inc. 「 こんなテーマでLTやる俺たち、最高だよな」とは No. テーマ 1 並行/並列
2 データ構造 3 OSカーネル 4 コンパイラ/インタプリタ 5 数 6 波 7 AI 8 関数型プログラミング 9 型 10 VM _人人人人人人人人人人人人_ > テーマ「数」「波」で < > 何を発表すればいいの <  ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄ 19
Copyright © Livesense Inc. • 「勉強会」とは言いつつも、部署横断で有志が集うようなものは、 言ってみれば社内の「コミュニティ」 • 気心知れた仲間しかいないコミュニティでは、過度に心理的安全性 が保たれる
=> そして悪ノリも許される • だんだんとマンネリ化していき、衰退してしまう 社内勉強会(=コミュニティ)というのは衰退しがち 20
Copyright © Livesense Inc. これで と思ってたら することに 21
再開のきっかけは? Copyright © Livesense Inc. 弊社のエンジニア創業者である桂が取締役を退任し 現場に集中することが決まった際の社内スピーチ 22 自分が取締役を退任することで 社内のエンジニア文化を危ぶむような声も聞いたけど
0x64物語みたいな文化があったなら、きっと大丈夫 再開の機運高まる
Copyright © Livesense Inc. 補足: 取締役が退任しなくても文化は見直せたはず… 今思えば「取締役の退任」みたいな 大きなできごとがなくたって、 文化を見直すきっかけは きっと普通に転がっていたはず。
このスライドが 皆さんのそんな機会につながれば幸いです…。 23
Copyright © Livesense Inc. 改めて 「0x64物語の何が良かったのか 何がうまくいかなかったのか」 を、言語化しようと企画会議をした 再開にあたって 24
Copyright © Livesense Inc. 企画会議の様子 桂「テーマがきちんとハマったときの0x64物語の魅力は"立体感"。全員の発表を通して、そのときのテーマが様々な側面からスポットを当て られた結果として、そのテーマの理解に近づく瞬間が確かにあった」内山「"立体感" 、言語化はしにくいが理解できる。個人的には、"Ruby で" /
"Rustで" / "Pythonで"...といった並列の話題が横の軸となり、"アカデミックな理論では" / "機械語レベルの実装では" といった抽象度が 縦の軸となり、それに加えて、個々人の習熟度が奥行きとなっていた感がある」桂「イメージは近い。ただし、もっと多元的な立体感を考えて いた。」内山「適切な"立体感"を描くテーマのためには、案出しの段階での粒度が重要に感じる。たとえば、"ECMA"ではなく"言語"にした い、という意見があったが」桂「粒度が大きいと感じる。結果として、 "自分が好きな言語を掘り下げてきました" ばかりでは並列の話題が増え て、テーマを通しての立体感が明らかにならないと思う。個人的には "シンタックス" なら適切」内山「言いたいことはなんとなくわかるが、求 めるテーマ案を言語化するのが難しいのでは」桂「帰納的に"これはOK。これはNG"というのを並べて、共通の感覚を参加者に持ってもらう という方法もあるかもしれない」内山「なるほど。たとえば、"Java => 粒度やや小さい, JVM => 粒度適切" というのはイメージあうか?」桂 「Yes。Javaの各バージョンの違い、Scala/Clojure/GroovyといったJVM言語、JVMが生成するバイトコード...と掘り下げ方が立体的になりそ うだと感じる。一方で、投票でJVMが選ばれるかというと難しそうだと感じる」Clojureに反応したMさん「個人的には、立体感とは"各人がLT 内容を他人と絶対にかぶらないようにする" という気概があって成り立つように思う」内山「確かにそうかもしれない。テーマがVMのと き、"YARVがぼっちオペレーターをどう扱うか"というテーマが桂さんとかぶりそうになって慌てて変えたことを思い出した」桂「"波" をやったと きは、テーマがファジーだった分、全体として立体感を描ききらず、離散的になる一方で、局所的には"音”を掘り下げている人が多かった印 象がある」内山「テーマが"音"だったらよかったのかもしれない」桂「大… 25
桂「テーマがきちんとハマったときの0x64物語の魅力は"立体感"。全員の発表を通して、そのときのテーマが様々な側面からスポットを当て られた結果として、そのテーマの理解に近づく瞬間が確かにあった」内山「"立体感" 、言語化はしにくいが理解できる。個人的には、"Ruby で" / "Rustで" / "Pythonで"...といった並列の話題が横の軸となり、"アカデミックな理論では" / "機械語レベルの実装では"
といった抽象度が 縦の軸となり、それに加えて、個々人の習熟度が奥行きとなっていた感がある」桂「イメージは近い。ただし、もっと多元的な立体感を考えて いた。」内山「適切な"立体感"を描くテーマのためには、案出しの段階での粒度が重要に感じる。たとえば、"ECMA"ではなく"言語"にした い、という意見があったが」桂「粒度が大きいと感じる。結果として、 "自分が好きな言語を掘り下げてきました" ばかりでは並列の話題が増え て、テーマを通しての立体感が明らかにならないと思う。個人的には "シンタックス" なら適切」内山「言いたいことはなんとなくわかるが、求 めるテーマ案を言語化するのが難しいのでは」桂「帰納的に"これはOK。これはNG"というのを並べて、共通の感覚を参加者に持ってもらう という方法もあるかもしれない」内山「なるほど。たとえば、"Java => 粒度やや小さい, JVM => 粒度適切" というのはイメージあうか?」桂 「Yes。Javaの各バージョンの違い、Scala/Clojure/GroovyといったJVM言語、JVMが生成するバイトコード...と掘り下げ方が立体的になりそ うだと感じる。一方で、投票でJVMが選ばれるかというと難しそうだと感じる」Clojureに反応したMさん「個人的には、立体感とは"各人がLT 内容を他人と絶対にかぶらないようにする" という気概があって成り立つように思う」内山「確かにそうかもしれない。テーマがVMのと き、"YARVがぼっちオペレーターをどう扱うか"というテーマが桂さんとかぶりそうになって慌てて変えたことを思い出した」桂「"波" をやったと きは、テーマがファジーだった分、全体として立体感を描ききらず、離散的になる一方で、局所的には"音”を掘り下げている人が多かった印 象がある」内山「テーマが"音"だったらよかったのかもしれない」桂「大… Copyright © Livesense Inc. 言語化しようとすると やたらと雄弁でポエミーになる我々 企画会議の様子 26
Copyright © Livesense Inc. • テーマ縛りのLT大会 • ビール飲みながら技術のことでワイワイ • ひとつのテーマを、複数の人が、多方面から掘り下げることによって見え
てくる”立体感” • これまで触れたことのなかった領域に取り組むきっかけになる => 偶然の出会い(セレンディピティというらしい)の提供 というわけで、「改めてどんなところがいい勉強会だったか」 27
Copyright © Livesense Inc. 実は、勉強会の根幹/エッセンスは 悪くなかったと気がついた 外から見たときの勉強会の根幹は変えずに 内側のやり方を変えていけばいいのでは 28
Copyright © Livesense Inc. 「文化のリファクタリング」 なんて言えるのでは 29
rebootにあたって、実際にリファクタリングしたこと Copyright © Livesense Inc. 1. テーマの選び方の改善 2. 新規参入者の促進 3.
資金面の工夫 30
テーマの選び方の改善 Copyright © Livesense Inc. 「やりたいテーマへの投票」とすると、 よくわからないテーマにおもしろがって投票してしまう 「勉強したいテーマへの投票」とルールの変更をした 31
「各人が最も興味あるテーマへの投票(多数決)」をすると、 多くの人が二番目や三番目にやりたかったテーマが黙殺されがち 投票制度も変えたい Copyright © Livesense Inc. 32 過半数取れてないけど 一番票を集めたのは
「OSカーネル」 近い領域で票割れしたけど 心の中の次点は 「AWS」で共通だった 例:
Copyright © Livesense Inc. Wikipedia(en)で 「Comparison of electoral systems」を 見たりするなどの検討(迷走?)の末、
Instant-runoff Votingという投票制度にたどり着く 33 https://en.wikipedia.org/wiki/Comparison_of_electoral_systems
Instant-runoff Votingとは? Copyright © Livesense Inc. 01 instant runoff voting
(IRV、インスタント・ランオフ・ヴォーティング) は、 有権者が優先順位にしたがって候補をランクづけする選挙方法のア メリカ英語での用語。 (略) 投票者の過半数の最優先を得る候補がいなければ、最優先のランキ ングが最も少ない数の候補は落選し、その候補の票は各票の次のラ ンキングによって残りの候補に移譲される。 このプロセスは単一の候 補が過半数を獲得し、落選する候補がいなくなるまで繰り返される。 wikipedia 「instant-runoff voting」より https://ja.wikipedia.org/wiki/Instant-runoff_voting
Instant-runoff Votingとは? Copyright © Livesense Inc. 1位: 機械学習 2位: RDB
3位: テスト 1位: 機械学習 2位: RDB 3位: テスト 1位: RDB 2位: 機械学習 3位: テスト 1位: RDB 2位: テスト 3位: 機械学習 1位: テスト 2位: 機械学習 3位: RDB この場合、1位として投票されているのは、どれも過半数に満たず… 機械学習: 2票 / RDB: 2票 / テスト: 1票 次のラウンドでは最下位の「テスト」が候補から削られる 35
Instant-runoff Votingとは? Copyright © Livesense Inc. 1位: 機械学習 2位: RDB
3位: テスト 1位: 機械学習 2位: RDB 3位: テスト 1位: RDB 2位: 機械学習 3位: テスト 1位: RDB 2位: テスト 2位: 機械学習 1位: テスト 1位: 機械学習 2位: RDB 候補から削られたものを1位にしてた人は次点が1位としてみなされる この例では、2ラウンド目で機械学習が過半数を超えたので決着 (※この例だとあんまり特殊感がないのですが…) 36
このやり方で38テーマ/17人による投票をするとすごいことに Copyright © Livesense Inc. 37 ※Web化したいと思っている
勉強会当日に開票し、次のテーマ決定の行く末を見守る Copyright © Livesense Inc. 38 Round1: 脱落: コンパイラ 現在トップ:
機械学習(3票) Round2: 脱落: フロントエンド 現在トップ: 機械学習(5票)
Copyright © Livesense Inc. 皆の前で開票することで 投票の仕組みそのものが エンターテイメントに 39
rebootにあたって、実際にリファクタリングしたこと Copyright © Livesense Inc. 1. テーマの選び方の改善 2. 新規参入者の促進 3.
資金面の工夫 40
新規参入者の促進 - イメージの刷新 Copyright © Livesense Inc. Before After コンピューターサイエンスガチ勢のみによ
る勉強会 初心者の人の「こういうこと学んできまし た」って発表もOKですよ! 準備にめっちゃ時間かけてる なんだったら飛び入りでLTしてください〜 技術のことだけをどっぷり話さなくてはい けない エモい話とか、業務のつらみとか、そうい う話もWelcomeです ※ただし、これまで参加してくれていた人たちの楽しみを奪わないようにというバラン スで。 41
いつも発表してくれるコアメンバー以外も意識することが大事 Copyright © Livesense Inc. Etienne Wenger; Richard McDermott; William
M. Snyder. 「コミュニティ・オブ・プラクティス」 コミュニティの参加の質を高め、 レベル間の適切な往き来を促すため の鍵は、どのレベルの参加者も フルメンバー(正会員)のような 気持ちになれるように、コミュニティの 活動を設計することだ。 42
Copyright © Livesense Inc. • 発表予定がなかったはずの人が、「ウズウズしてきて」前職でのRDBに 関するつらみLTをしてくれた(超盛り上がった) • エンジニアではない、新卒の総合職が「業務の中でDBを使ってみた感 想」など発表してくれた
• 昔から参加してくれてる方は相変わらず濃ゆい発表を続けてくれている 参加者たちの現状 43
rebootにあたって、実際にリファクタリングしたこと Copyright © Livesense Inc. 1. テーマの選び方の改善 2. 新規参入者の促進 3.
資金面の工夫 44
Copyright © Livesense Inc. • 創業者である桂からの個人的な援助に依存していた部分が 大きかった ◦ とはいえ桂も予定があって来られなかったりする •
都度、集金するのも面倒 • 会社から一部援助してもらうことはできそうだけど、全額は難 しそう これまでの飲食代等、費用の運用について 45
Copyright © Livesense Inc. そんな中HUNTER×HUNTERからインスパイアを得る 冨樫義博(2016)『HUNTER×HUNTER No.33』集英社 46
0x64物語基金の設立 Copyright © Livesense Inc. 投げ銭形式で参加者や援 助してくれる人が基金管 理者にお金を振り込み、 LINE Payに紐付いたクレ
ジットカードで諸々の精算 ができるように 47
Copyright © Livesense Inc. • 個人が都度経費申請しにくいAWSでの検証料などもサポート できるようになった • 思った以上に、いろんな人がこの勉強会を支援してくれてい ることが可視化された(投げ銭してくれた)
• 経費申請できるような場合も基金管理者が申請して、その額 を基金に入金すればいいので、支障をきたさない 基金で管理してみて 48
Copyright © Livesense Inc. 余談: デブサミのために実績を作ろうとする汚い発表者 ↑AWSの費用を0x64物語基金から捻出したことを チャットに書くよう強要している 49
Copyright © Livesense Inc. これからの 0x64物語reboot 50
Copyright © Livesense Inc. • それぞれの制度も今は盛り上がっている気がするが、また飽 きていくことは大いにありうると思っている • そのときに、リファクタリングするのか、方向転換するのか、改 めて考え直せるようにしておくことが重要
• 技術に関係ない投票制度や、マンガなど、思わぬところにリ ファクタリングのヒントってあるなと思った 「リファクタしたぜ!」とか言っているものの…始まったばかり 51
Copyright © Livesense Inc. 52
まとめ Copyright © Livesense Inc. • 新陳代謝が図られず、心理的安全性ばかりが保たれたコミュニティ や、それを取り巻く文化は衰退しがち • とはいえ、衰退していった文化の中にも「エッセンス」は良かったも
のってたくさんあるはず • そういった文化をリファクタリングすることで、また価値を取り戻すこ ともある • リファクタリングのヒントは身の回りの思わぬところに転がっている かも...? 53
参考にした書籍 Copyright © Livesense Inc. • 坂井豊貴(2015)『多数決を疑う 社会的選択理論とは何か』岩波新書 • Etienne
Wenger, Richard McDermott, William M. Snyder(2002) 『コミュニティ・オブ・プラクティス』翔泳社 • 冨樫義博(2016)『HUNTER×HUNTER No.33』集英社 54