Slide 1

Slide 1 text

プロダクト開発における暗黙知との向き合い方 Strategies For Tacit Knowledge Transfer At Software Development 株式会社スタディスト 北野 勝久 1 Gaiax Technical Meetups 2019/06/25

Slide 2

Slide 2 text

北野 勝久 / @katsuhisa__ Katsuhisa Kitano 株式会社スタディスト 開発部 SRE Linux カーネルと同い年 Organizer of SRE Lounge 2

Slide 3

Slide 3 text

“伝えることを、もっと簡単に。”
 https://studist.jp/
 会社紹介 3

Slide 4

Slide 4 text

サービス紹介 4 サービス紹介

Slide 5

Slide 5 text

本発表の前提 ● サービス提供活動のライフサイクル全体を指して 「プロダクト開発」という用語を使用します ※プロダクト開発だけでなく、その後の運用も含む ● スタートアップの現場で学んだことを話しますが、 学びの活用先はスタートアップに限らない話をします 5

Slide 6

Slide 6 text

今日話すこと ● 暗黙知とは何か ● プロダクト開発において暗黙知と向き合う必要性 ● どうやって暗黙知と向き合うか ○ 暗黙知を認識する ○ 暗黙知を形式知にする ○ 暗黙知を共有する 6

Slide 7

Slide 7 text

暗黙知とはなにか 7

Slide 8

Slide 8 text

世の中には二種類の知がある ● 技術知⇔実践知 by 政治における合理主義 ● 形式知⇔暗黙知 by A Dynamic Theory of Organizational Knowledge Creation →いずれも区別可能だが、切り離せないもの 8

Slide 9

Slide 9 text

技術知と実践知 “要するに技術知は、その語の最も単純な意味において、 教える(teach)ことも学ぶ(learn)ことも できるのである。” “他方実践知は、教えることも学ぶこともできず、 伝え(implict)、習得する(acquire)ことが できるだけである” 9

Slide 10

Slide 10 text

暗黙知と形式知 “「暗黙知」は、主に現場で生み出されてくる 明文化や仕組みとなっていないような知恵です。 このような知恵は、現場が接している問題点や課題から、 湧き上がってくるものです。” “それに対して、「形式知」というのは、 その逆で明文化や仕組みとなっている知恵のことです。” 10

Slide 11

Slide 11 text

プロダクト開発において 暗黙知と向き合う必要性 11

Slide 12

Slide 12 text

12

Slide 13

Slide 13 text

13

Slide 14

Slide 14 text

14

Slide 15

Slide 15 text

暗黙知が多いと自律的に動けない ● 「◯◯さんに聞かないと分からない」場面が多いと、 プロダクト開発はスケールしない ○ 呼び出し頻度の高い知識であれば尚更 ● スタートアップは、急激な事業拡大を目指す ○ 事業拡大に伴い組織拡大が求められる場合は、 組織としてスケールしないことは減らしていく必要がある ※事業としては、スケールしないことに取り組むフェーズが必要な場合も 15

Slide 16

Slide 16 text

B2B SaaS では、一般的に急激な組織拡大が必要 “SaaS企業に「少数精鋭」は、ない。” “大規模で、人がたくさんいる状態を イメージして経営した方が良い。 会社の文化、採用基準、 コミュニケーションの取り方、 目標設定の仕方など、 これら全てを上手くまわしていくことが 出来ないと100人、300人が在籍する 組織の経営は不可能だ。” 16 https://hiromaeda.com/2019/03/25/100marryo/

Slide 17

Slide 17 text

暗黙知が多いと自律的に動きづらくなり、 組織がスケールしづらくなる ただし、暗黙知があることは悪いことではない 暗黙知に向き合い、改善できることがないか?を 自分自身に問いかけ続ける姿勢こそが重要 17

Slide 18

Slide 18 text

どうやって暗黙知と向き合うか 18

Slide 19

Slide 19 text

暗黙知を認識する≒暗黙知の特性を知る ● 個人の経験に依存しており 行動指向 ● 日常の経験に密接に関連 ● 定義が不十分、 定式化されていない、 または再定式化が必要 ● 手続き的知識の一種 (手続き的知識⇔宣言的知識) ● 形式知とは対照的に 活動の実行方法に関する知識 19 https://www.sciencedirect.com/science/article/pii/S1048984303000067

Slide 20

Slide 20 text

プロダクト開発における暗黙知の例 ● このサーバ何やってるんだっけ? ● なんでこのミドルウェア動かしてるんだっけ? ● このサーバのログってどうやって見る? ● DB のカラム変更を含むデプロイって どうやって安全にロールバックするの? ● 良い Pull Request の出し方って? ● この構成だと、なぜスケールしない? ● 検証用に EC2 欲しいけど、 インスタンスサイズはどうすればいい? ● 負荷検証したいけど、どうすれば? 20

Slide 21

Slide 21 text

暗黙知と形式知の関係性 21 A Dynamic Theory of Organizational Knowledge Creation http://bg.svilendobrev.com/1/Nonaka_1994-Dynamic_theory_of_organiz_knowledge_creation.pdf

Slide 22

Slide 22 text

暗黙知と形式知の関係性 “野中らの研究の重要なポイントは、 湧き上がってくる「暗黙知」が、「形式知」に代わり、 その「形式知」が、組織全体に広がり「暗黙知」として根付いたとき、 それらを土台にさらに新しい「暗黙知」が生まれてくるようなループが 組織内において知識を広げ、深めていくために必要なプロセスであると考えました。” 広木 大地. 『エンジニアリング組織論への招待』 22

Slide 23

Slide 23 text

暗黙知を形式知にする ● 設計観点・ポリシーについてチームで対話し、共通認識を洗い出す ○ スタディストSREでは、 話した内容をポリシーとしてまとめている 23

Slide 24

Slide 24 text

暗黙知を放置しないインフラ構築 ● インフラをコード化し、 バージョン管理する ● また、 Pull Request で変更を行い、 変更背景のやり取りを記録する 24 アプリケーションコードだけでなくシステムもバージョン管理すれば 組織パフォーマンスが向上することを述べた Puppet のレポート https://puppet.com/resources/whitepaper/2014-state-devops-report

Slide 25

Slide 25 text

暗黙知を共有する方法 1. Collaboration and Social Networks 2. Show Your Work 3. Storytelling 4. Tracking Lessons Learned 5. Guided Experience 6. Reinvention 25 http://theelearningcoach.com/learning/tacit-knowledge-transfer/

Slide 26

Slide 26 text

スタディストSREチームにおける暗黙知共有の実践 ● オンボーディング ● ポストモーテムとポストモーテム読書会 ● モブプロ・モブオペ ● 輪読会 ● チームのミーティング 26

Slide 27

Slide 27 text

オンボーディング ● 新メンバーが加わった際に オンボーディングを実施 ● 自身のキャリアを振り返りつつ チーム内で自己開示する場や、 チームの価値観を語る場を用意 → メンバー同士の信頼関係構築につながることが大事 27 https://medium.com/studist-dev/sre-onboarding-67faa61e473

Slide 28

Slide 28 text

メンバー間の信頼関係が暗黙知共有において重要 “it facilitates the building of mutual trust among members, and accelerates creation of an implicit perspective shared by members as tacit knowledge” 28 A Dynamic Theory of Organizational Knowledge Creation http://bg.svilendobrev.com/1/Nonaka_1994-Dynamic_theory_of_organiz_knowledge_creation.pdf

Slide 29

Slide 29 text

ポストモーテム ● SRE本で紹介されている プラクティスの一つ ● 障害振り返りのドキュメント ● 非難しないことが重要 ○ 問題⇔私たちの構図になるように ● うまくいったことや、 うまくいかなかったことを書く 29 Site Reliability Engineering https://landing.google.com/sre/books/

Slide 30

Slide 30 text

ポストモーテム読書会 ● チームが過去に経験した出来事を 知らないメンバーに共有する場 ● 当時の状況を伝え、経験について語る ● 議論しながら気づいた点は、 別ドキュメントに記録し、学んだことを行動にうつす 30

Slide 31

Slide 31 text

チームでの継続的な対話によって、 暗黙的な視点を概念化する 31 “the shared implicit perspective is conceptualized through continuous dialogue among members” A Dynamic Theory of Organizational Knowledge Creation http://bg.svilendobrev.com/1/Nonaka_1994-Dynamic_theory_of_organiz_knowledge_creation.pdf

Slide 32

Slide 32 text

モブプロ・モブオペ ● チームで一つの作業に取り組む ● 声に出して作業する ● 他人のワザを盗めたり、 分からないことを その場で質問できる 32

Slide 33

Slide 33 text

自分の仕事を見せることは暗黙知の移転を助ける 33 Tool: Working Out Loud “knowing what gets done is not the same as knowing how it gets done.” Show Your Work https://www.amazon.com/dp/B00JWNLV2C/

Slide 34

Slide 34 text

輪読会 ● 週に1時間弱の輪読会 ● 書籍の読み込みは事前に終わらせ、 お互いの知識の共有と対話に重点を置いている ● 「技術書を読む意義と輪読のすすめかた」という ドキュメントを社内に整備 ○ なぜやるか、どう進めるか ○ 技術書の読み方や向き合う姿勢も 暗黙知だと思っているから 34

Slide 35

Slide 35 text

チームのミーティング ● 次のような Agenda にしている ○ 採用関連 ○ 全社情報 ○ 障害振り返り/パフォーマンスチェック ○ 最新技術情報チェック ○ 勉強会参加情報交換 ○ Project/Issue の進捗確認 ○ 雑談したいこと ● 暗黙知となりうるような情報を共有するように 35

Slide 36

Slide 36 text

まとめ 36

Slide 37

Slide 37 text

まとめ ● プロダクト開発をするための組織のスケールにおいて 暗黙知とはうまく付き合う必要がある ● うまく付き合うには、暗黙知を認識して形式知化したり、 暗黙知を共有することが大事 ● 銀の弾丸はなく、 暗黙知は、チームとして継続的に向き合い続けるもの 37

Slide 38

Slide 38 text

おわりに 38

Slide 39

Slide 39 text

おわりに ● 確実性に対する執着をしないことが、 暗黙知と向き合うポイント ● 知識を整理する際は、 知識が今後変わる前提で情報設計しておくとよい ○ 更新するドキュメントとそうでないドキュメントを 明確に分ける 信用できる社内 Wiki をつくるために守ってほしい、たったひとつのルール https://muziyoshiz.hatenablog.com/entry/2017/01/10/074713 39

Slide 40

Slide 40 text

皆さんの工夫も教えてください! 感想いただけるとめちゃ嬉しいです! 40 ⇒ @katsuhisa__

Slide 41

Slide 41 text

● [増補版] 政治における合理主義 https://www.amazon.co.jp/dp/4326302232/ ● エンジニアリング組織論への招待 https://www.amazon.co.jp/dp/B079TLW41L/ ● スケールする開発組織の作り方 https://speakerdeck.com/naoya/sukerusurukai-fa-zu-zhi-falsezuo-rifang-number-jawsug ● Design for How People Learn https://www.amazon.co.jp/dp/B018OJP5QW/ ● Show Your Work https://www.amazon.com/dp/B00JWNLV2C/ ● A Dynamic Theory of Organizational Knowledge Creation http://bg.svilendobrev.com/1/Nonaka_1994-Dynamic_theory_of_organiz_knowledge_creation.pdf ● Strategies For Tacit Knowledge Transfer http://theelearningcoach.com/learning/tacit-knowledge-transfer/ ● Identifying and assessing tacit knowledge: understanding the practical intelligence of military leaders https://www.sciencedirect.com/science/article/pii/S1048984303000067 ● 情報 https://www.amazon.co.jp/dp/4344973283/ 41 参考文献