$30 off During Our Annual Pro Sale. View Details »

自己組織的な開発チームを如何にして作り上げるか / how to build self-organizing team

Yuichi Kiri
February 14, 2020

自己組織的な開発チームを如何にして作り上げるか / how to build self-organizing team

Developer Summit 2020 での発表資料です
https://event.shoeisha.jp/devsumi/20200213/session/2417/

Yuichi Kiri

February 14, 2020
Tweet

More Decks by Yuichi Kiri

Other Decks in Technology

Transcript

  1. Developers Summit 2020 © 2020 TIS Inc.
    自己組織的なチーム?

    View Slide

  2. Developers Summit 2020 © 2020 TIS Inc.
    アジャイル宣言の背後にある原則
    • 顧客満足を最優先し、価値のあるソフトウェ
    アを早く継続的に提供します。
    • 要求の変更はたとえ開発の後期であっても
    歓迎します。変化を味方につけることによっ
    て、お客様の競争力を引き上げます。
    • 動くソフトウェアを、2-3週間から2-3ヶ月と
    いうできるだけ短い時間間隔でリリースしま
    す。
    • ビジネス側の人と開発者は、プロジェクトを
    通して日々一緒に働かなければなりません。
    • 意欲に満ちた人々を集めてプロジェクトを構
    成します。環境と支援を与え仕事が無事終
    わるまで彼らを信頼します。
    • 情報を伝えるもっとも効率的で効果的な方
    法はフェイス・トゥ・フェイスで話をすることです。
    • 動くソフトウェアこそが進捗の最も重要な尺
    度です。
    • アジャイル・プロセスは持続可能な開発を促
    進します。一定のペースを継続的に維持で
    きるようにしなければなりません。
    • 技術的卓越性と優れた設計に対する
    不断の注意が機敏さを高めます。
    • シンプルさ(ムダなく作れる量を最大限にす
    ること)が本質です。
    • 最良のアーキテクチャ・要求・設計は、
    自己組織的なチームから生み出されます。
    • チームがもっと効率を高めることができるかを
    定期的に振り返り、それに基づいて自分た
    ちのやり方を最適に調整します。
    「アジャイル宣言の背後にある原則』(https://agilemanifesto.org/iso/ja/principles.html)。
    2020年01月18日21時(日本時間)現在での最新版を取得。

    View Slide

  3. Developers Summit 2020 © 2020 TIS Inc.
    スクラムガイド
    スクラムチームは自己組織化されており、
    機能横断的である。
    「スクラムガイド』(https://www.scrumguides.org/docs/scrumguide/v2017/2017-Scrum-Guide-Japanese.pdf)。
    2020年02月11日16時(日本時間)現在での最新版を取得。

    View Slide

  4. © 2020 TIS Inc.
    自己組織的なチームを如何にして作り上げるか
    @Developers Summit 2020 14-E-3

    View Slide

  5. Developers Summit 2020 © 2020 TIS Inc. 5
    はじめに
    • 技術的な話は出てきません
    • 自己組織的なチームを作る銀の弾丸も出てきません
    Photo by Cody Wingfield on Unsplash

    View Slide

  6. Developers Summit 2020 © 2020 TIS Inc. 6
    はじめに
    自己組織的なチームの作り方を

    View Slide

  7. Developers Summit 2020 © 2020 TIS Inc.
    自己紹介
    木利 友一 (@kiririmode)
    • TIS株式会社 (2015年~) ITアーキテクト・主査
    • Mode2開発が最近の主戦場
    – Mode 2 is exploratory, experimenting to solve new
    problems and optimized for areas of uncertainty.
    • 未認定スクラムマスター
    • 大学院での研究テーマ: 自己組織的ネットワーク制御
    「Bimodal」
    (https://www.gartner.com/en/information-technology/glossary/bimodal)
    2020年02月11日16時(日本時間)現在での最新版を取得。

    View Slide

  8. Developers Summit 2020 © 2020 TIS Inc.
    バイモーダルに対応するSIerへ
    宣伝(スポンサーセッションなので…)
    枯れた技術
    階層構造による大量動員
    請負契約(持ち帰り)
    品質優先(均質化)の重厚なプロセス
    SoR (System of record)
    Mode 1
    不確かな新技術
    水平分業(フラット構造)の小チーム集団
    準委任/派遣契約(オンサイト/持ち帰り)
    リリース優先の軽量なプロセス
    SoE (System of engagement)
    Mode 2
    予測しやすいアプリケーション
    (competition to be the best ⇒ 価格競争)
    予測しにくいアプリケーション
    (competition to be unique ⇒ 付加価値競争)
    ・Ready-to-Useなソフトウェアによる競争力強化
    ・コスト競争力につながるR&D
    ・グループ技術力強化による不採算化防止
    ・グループ全体の知見共有による新技術への対応
    ・サービス/ソリューション競争力強化のためのR&D

    View Slide

  9. Developers Summit 2020 © 2020 TIS Inc.
    宣伝(スポンサーセッションなので…)
    TISがシステム開発プロジェクトで培ったノウハウを集約したサイト
    どなたでも無償で利用できます
    ・フレームワーク
    ・ツール
    ・ガイド
    ・テンプレート
    ・サンプル
    ・開発事例
    ☆スクラム
    ☆クラウド
    ☆フロントエンド
    ☆フルスタックエンジニア
    ☆サービス開発
    ☆要件定義、テスト
    ☆リモート開発
    https://fintan.jp/

    View Slide

  10. Developers Summit 2020 © 2020 TIS Inc.
    最近のお仕事
    • 決済プラットフォームの新規開発
    – Golang, gRPC, Electron, React/Redux, Bitcoin, k8s
    • 複数の会社から来たエンジニアの混成チーム
    – 初顔合わせ
    – 様々なバックグラウンド
    • 自己組織的なチームを目指したい

    View Slide

  11. © 2020 TIS Inc. 11
    自己組織化とはなんなのか?
    Christoffer A Rasmussen
    Birds flocking, an example of self-organization in biology
    (https://en.wikipedia.org/wiki/Self-organization#/media/File:Sort_sol_ved_%C3%98rns%C3%B8_2007.jpg)

    View Slide

  12. Developers Summit 2020 © 2020 TIS Inc.
    自己組織化 (self-organization)
    “物質や個体が、系全体を俯瞰する能力を持たないのに
    関わらず、個々の自律的な振る舞いの結果として、
    秩序を持つ大きな構造を作り出す現象のこと”
    「自己組織化」『フリー百科事典 ウィキペディア日本語版』(http://ja.wikipedia.org/)。
    2020年01月18日21時(日本時間)現在での最新版を取得。
    “無秩序に向かう自然界の流れ(熱力学第2法則)に逆らい、系が
    エネルギーを取り込みながら自分を組織だて、秩序を生むこと”
    出典 (株)朝日新聞出版発行「知恵蔵」

    View Slide

  13. Developers Summit 2020 © 2020 TIS Inc.
    自己組織化 (self-organization)
    • 外部からエネルギーを取り込み続ける動的な系
    • 個々は全体を把握せずバラバラに行動する
    • 全体としては秩序だった構造・行動が形成される

    View Slide

  14. Developers Summit 2020 © 2020 TIS Inc.
    自然界の自己組織化
    • 自然界にも自己組織化の例はたくさんある
    • アリやハチといった昆虫の群れとしての行動は
    swarm intelligence (群知能)と呼ばれ、自己組織化の好例
    The collective behavior that emerges from a group of social insects has
    been dubbed “swarm intelligence”
    Swarm Intelligence: A Whole New Way To Think About Business
    (https://hbr.org/2001/05/swarm-intelligence-a-whole-new-way-to-think-about-business)
    2020年02月11日15時(日本時間)現在での最新版を取得。

    View Slide

  15. Developers Summit 2020 © 2020 TIS Inc.
    自然界の自己組織化 – アリの最短経路発見
    個々のアリはあまり賢くないにもかかわらず、
    群れとしてのアリは餌への最短経路を発見する
    Photo by Aaron Burden on Unsplash
    • 個々のアリは他のアリが残したフェロモンをたどる
    • 全体を統括するようなアリはいない
    • 最初は誰も周りの餌の配置を知らない
    • 群れとしては餌への最短経路を見つけられる

    View Slide

  16. Developers Summit 2020 © 2020 TIS Inc.
    自然界の自己組織化 – ホタルの発光同期
    東南アジアの蛍は、
    群れとして発光タイミングを同期させることができる
    • 個々の蛍は周囲の蛍の光に刺激を受けているだけ
    • 指揮者はいない
    • 遠くの蛍のことも分からない

    View Slide

  17. © 2020 TIS Inc. 17
    自己組織的なチームってなんだろう?
    Photo by Saad Salim on Unsplash

    View Slide

  18. Developers Summit 2020 © 2020 TIS Inc.
    自己組織的なチームとは?
    • フラットで風通しが良いチーム?
    • 良い感じで自律的に動いてくれるチーム?
    Photo by Olga Guryanova on Unsplash

    View Slide

  19. Developers Summit 2020 © 2020 TIS Inc.
    自己組織的なチームとは?
    “自己組織化されたチームとは、
    意思決定の機会や生産的に前進する際に、
    リーダーであるあなたから独立して機能するチーム”
    Roy Osherove
    『エラスティックリーダーシップ -自己組織化チームの育て方』
    (オライリージャパン、2017)

    View Slide

  20. Developers Summit 2020 © 2020 TIS Inc.
    チームのフェーズ
    サバイバルモード
    ・学ぶ時間がない
    ・定期的に火消し作業
    ・遅れと残業
    学習モード
    ・十分なゆとり時間
    ・計画的な訓練にゆとり時間を使う
    ・誤りを許容する
    ・チームにスキルがある、スキルを
    獲得する方法を知っている
    ・リーダーは生産性に関与しない
    ・自分たちで意思決定できる
    ・衝突を内部で解決できる
    自己組織化モード
    チームフェーズ
    リーダーシップ
    スタイル
    指揮統制型 コーチ/独裁者 ファシリテーター
    参考:エラスティックリーダーシップ -自己組織化チームの育て方

    View Slide

  21. © 2020 TIS Inc. 21
    Photo by bantersnaps on Unsplash
    自分たちのプロジェクトがたどったフェーズ

    View Slide

  22. Developers Summit 2020 © 2020 TIS Inc.
    • 「こうやって作ってください」
    • 「~を使ってみてください」
    • …「ここってどう実装しますか?」
    • …「今日やることがなくなりましたが、
    次はなにをすれば良いですか?」
    サバイバルモード
    Photo by jimmy travelp on Unsplash
    リーダー
    メンバー
    明確な指示系統
    リーダーベースでのタスクアサイン

    View Slide

  23. Developers Summit 2020 © 2020 TIS Inc.
    • 雑になる判断
    – 人数の増加
    – システムの複雑化
    • フロー効率の低下
    サバイバルモード
    スケールしない
    Photo by Ashim D’Silva on Unsplash

    View Slide

  24. Developers Summit 2020 © 2020 TIS Inc.
    なぜそんなことが起こったのか
    • リーダーとして、すべてを把握しようとしていた
    • リーダーとして、すべてを理解しようとしていた
    • リーダーとして、状況を予測し正しい判断をしたかった

    View Slide

  25. Developers Summit 2020 © 2020 TIS Inc.
    なぜそんなことが起こったのか
    自分が把握できる範囲の箱庭を
    創ろうとしていた
    Photo by Jeff Sheldon on Unsplash

    View Slide

  26. Developers Summit 2020 © 2020 TIS Inc.
    なぜそんなことが起こったのか
    管理職として、失敗をしたくなかった

    View Slide

  27. Developers Summit 2020 © 2020 TIS Inc.
    現実は複雑
    • 状況は刻々と変わる
    – 目指すべきプロダクトの姿
    – 開発上のボトルネック
    – チームの個々人の想い
    • すべてを把握することはできない
    • すべてを予見することもできない
    一人がすべてを把握できるほど
    一人が正しくリードできるほど
    現実はシンプルではない
    Uncertainty
    Volatility
    Complexity
    Ambiguity
    VUCA

    View Slide

  28. Developers Summit 2020 © 2020 TIS Inc.
    現実は複雑
    Snowded
    Domains of the Cynefin framework; the dark domain in the centre is disorder.
    (https://commons.wikimedia.org/wiki/File:Cynefin_as_of_1st_June_2014.png)

    View Slide

  29. Developers Summit 2020 © 2020 TIS Inc.
    今のチーム
    • 個別具体的な指示が不要
    • リーダーなしで動く
    • プロダクトのpivot、状況の変化に柔軟に対応できる

    View Slide

  30. © 2020 TIS Inc. 30
    自己組織的なチームを目指して
    Photo by Damien TUPINIER on Unsplash

    View Slide

  31. Developers Summit 2020 © 2020 TIS Inc.
    自己組織化 (self-organization)
    “物質や個体が、系全体を俯瞰する能力を持たないのに
    関わらず、個々の自律的な振る舞いの結果として、
    秩序を持つ大きな構造を作り出す現象のこと”
    「自己組織化」『フリー百科事典 ウィキペディア日本語版』(http://ja.wikipedia.org/)。
    2020年01月18日21時(日本時間)現在での最新版を取得。

    View Slide

  32. Developers Summit 2020 © 2020 TIS Inc.
    自己組織的なチームとは
    自己組織化によって作り出される構造が「チーム」なら:
    チーム
    個人の行動
    個人間の相互作用
    アリの群れ、ハチの群れも同じ
    環境の変化
    個々の自律的な振る舞い

    View Slide

  33. Developers Summit 2020 © 2020 TIS Inc.
    組織知ができる過程:SECIモデル
    共同化
    (Socialization)
    表出化
    (Externalization)
    内面化
    (Internalization)
    連結化
    (Combination)
    暗黙知
    形式知
    個別の
    形式知
    体系的な
    形式知
    形式知
    暗黙知
    個人の
    暗黙知
    グループの
    暗黙知
    経験の
    共有
    対話
    共同思考
    行動に
    よる学習
    組合わせ
    野中 郁次郎、竹内 弘高
    『知識創造企業』
    (東洋経済新報社、1996)

    View Slide

  34. Developers Summit 2020 © 2020 TIS Inc.
    野中 郁次郎、竹内 弘高
    『知識創造企業』
    (東洋経済新報社、1996)
    組織知ができる過程:SECIモデル
    共同化
    (Socialization)
    表出化
    (Externalization)
    内面化
    (Internalization)
    連結化
    (Combination)
    暗黙知
    形式知
    個別の
    形式知
    体系的な
    形式知
    形式知
    暗黙知
    個人の
    暗黙知
    グループの
    暗黙知
    経験の
    共有
    対話
    共同思考
    行動に
    よる学習
    相互作用する「場」が必要
    ペアプロ
    ペア作業
    分報チャンネル
    席替え
    スプリント
    プランニング
    リファインメント
    開発
    レトロスペクティブ
    モブプロ
    組合わせ

    View Slide

  35. Developers Summit 2020 © 2020 TIS Inc.
    相互作用を行える場をファシリテートする
    ファシリテーション
    “人と人の間の知的相互作用を促進する働き”
    相互作用する「場」が必要
    森 時彦
    『ファシリテーター養成講座』
    (ダイヤモンド社、2007)

    View Slide

  36. Developers Summit 2020 © 2020 TIS Inc.
    チーム
    個人の行動
    個人間の相互作用
    環境の変化
    自己組織的なチームとは
    自己組織化によって作り出される構造が「チーム」なら:
    相互作用する「場」
    構造化

    View Slide

  37. © 2020 TIS Inc. 37
    個人の行動
    Photo by Rupert Britton on Unsplash

    View Slide

  38. Developers Summit 2020 © 2020 TIS Inc.
    個人を尊重する
    全員が完全に同じベクトルを持つ
    必要はない
    Team Individuals
    不安定化を歓迎する
    (正のフィードバックをかける)
    Photo by Marten Bjork on Unsplash

    View Slide

  39. Developers Summit 2020 © 2020 TIS Inc.
    個人を尊重する
    • それぞれの経験・考え・志向に敬意を払う
    – 今その瞬間その人が誰よりも詳しい分野があ

    – その人だけが感じている変化がある
    Photo by Marten Bjork on Unsplash
    Snowded
    Domains of the Cynefin framework; the dark
    domain in the centre is disorder.
    (https://commons.wikimedia.org/wiki/File:Cynefin
    _as_of_1st_June_2014.png)
    変化・不安定化が
    チームの陥った局所最適解を
    超える力になる

    View Slide

  40. Developers Summit 2020 © 2020 TIS Inc.
    個人を尊重する
    「よさそう」
    「やってみよう」

    View Slide

  41. Developers Summit 2020 © 2020 TIS Inc.
    個人を尊重する
    チームの進む道を
    リーダーの見識で限定しない
    自分はその専門家よりも正しい判断ができるのか
    単に知らない世界を拒絶しているだけではないのか

    View Slide

  42. Developers Summit 2020 © 2020 TIS Inc.
    個人を尊重する
    • 行動に説明責任を伴わせる
    – 「なんで必要なんだっけ?」
    – 「今やらないとダメなヤツ?」
    • 個人の行動の尊重: 正のFeedback
    – 不安定化
    • 個人間の相互作用: 負のFeedback
    – 安定化
    個人の行動を盲目的に信じて良いのか
    No.

    View Slide

  43. Developers Summit 2020 © 2020 TIS Inc.
    • 集団はきわめてすぐれた知力を発揮するし、それは往々にして集
    団の中でいちばん優秀な個人の知力よりも優れている
    • 集合的にベストな意思決定は意見の相違や異議から生まれる
    のであって、決して合意や妥協から生まれるのではない
    個人を尊重する
    個人の行動を盲目的に信じて良いのか
    ジェームズ・スロウィッキー
    『「みんなの意見」は案外正しい』
    (角川文庫、2006)

    View Slide

  44. © 2020 TIS Inc. 44
    個人間の相互作用
    Photo by Zac Ong on Unsplash

    View Slide

  45. Developers Summit 2020 © 2020 TIS Inc.
    • 打ち合わせの場を設定する
    • 形式ばらずに議論できる状況を作る
    個人間の相互作用をファシリテートする
    「考えていることを自由に表現できる場」を創り出す

    View Slide

  46. Developers Summit 2020 © 2020 TIS Inc.
    個人間の相互作用をファシリテートする
    目的 適用したプラクティス
    「自分の意見」「自分の想い」を遠慮なく発信できる空

    slackへの「独り言チャンネル」の作成
    コミュニケーションパスの流動化 高頻度の席替え
    ソースコードレベルでの理解交換、
    プロダクトへのオーナーシップの定着
    ・前日mergeされたPRの通知
    ・PRを読む時間
    レトロスペクティブでの発言の敷居を下げる チェックイン
    etc. etc.
    銀の弾丸はない
    一般ピーターの法則:
    あらゆる有効な手段は、より困難な問題に次々と応用され、やがては失敗する
    「ピーターの法則」『フリー百科事典 ウィキペディア日本語版』(http://ja.wikipedia.org/)。
    2020年02月12日06時(日本時間)現在での最新版を取得。

    View Slide

  47. Developers Summit 2020 © 2020 TIS Inc.
    個人間の相互作用をファシリテートする
    • フィードバックをくれる
    – 肯定してくれる
    – 間違ったら否定してくれる
    – 困ったら助けてくれる
    – 自分の意見に共感してくれる
    Photo by Jannis Lucas on Unsplash
    信頼関係
    心理的安全性

    View Slide

  48. Developers Summit 2020 © 2020 TIS Inc.
    個人間の相互作用をファシリテートする
    人間には学ぶ力がある
    認定スクラムマスター研修で学んだ
    スクラムが「検査」なく信じている価値観

    View Slide

  49. Developers Summit 2020 © 2020 TIS Inc.
    個人間の相互作用をファシリテートする
    • 変化を起こす
    • 結果を振り返る
    「スクラム概論」『Fintan』(https://fintan.jp/?p=949)
    2020年02月09日06時(日本時間)現在での最新版を取得。
    チーム組成の序盤に
    「良いチームになったかも」
    「楽しいかも」
    と思ってもらえる小さな成功体験

    View Slide

  50. Developers Summit 2020 © 2020 TIS Inc.
    個人間の相互作用をファシリテートする
    学習性無力感と戦う
    「何をしても意味がない」と学ばせてはならない
    人間には学ぶ力がある
    認定スクラムマスター研修で学んだ
    スクラムが「検査」なく信じている価値観

    View Slide

  51. © 2020 TIS Inc. 51
    自己組織的なチームを作るには
    Photo by Aaron Burden on Unsplash

    View Slide

  52. Developers Summit 2020 © 2020 TIS Inc.
    まとめ
    • 自己組織化チーム
    – 個々人が全体を把握していないとしても
    – リーダーなしに判断し行動できるチーム
    • 必要なものは
    – 個人の尊重
    • 不安定化
    – 個人間の相互作用のファシリテーション
    • 安定化
    – 心理的安全性
    • 学習性無力感と戦う

    View Slide

  53. Developers Summit 2020 © 2020 TIS Inc.
    自己組織的なチームを作るには
    個々人
    • 自分の意見を持ち、発信する
    • 人の意見を聞き、考え、フィードバックする
    • それがしやすい雰囲気を自分たちで作り上げる

    View Slide

  54. Developers Summit 2020 © 2020 TIS Inc.
    自己組織的なチームを作るには
    リーダー・マネージャー
    • 安全な箱庭づくりに逃げるな
    • 抑圧ではなく参加しよう

    View Slide

  55. Developers Summit 2020 © 2020 TIS Inc.
    最後に
    • タックマンモデル (1965)
    • エラスティックリーダーシップ (2016)
    forming storming norming performing
    サバイバルモード 学習モード 自己組織化モード
    形成期 混乱期 統一期 機能期
    約50年!

    View Slide

  56. Developers Summit 2020 © 2020 TIS Inc.
    自己組織的なチームを作るには:
    • もっとたくさんの形式知が必要
    • みなさんのチームの経験をもっと聞きた

    日本の開発現場をより良いものにしていき
    ましょう
    最後に
    今日の発表

    View Slide

  57. Developers Summit 2020 © 2020 TIS Inc. 57
    自己組織的なチームを作るには

    View Slide