Upgrade to Pro — share decks privately, control downloads, hide ads and more …

いえぴょんによる弾丸特急フィードバック講座

eiji.ienaga
July 16, 2015
550

 いえぴょんによる弾丸特急フィードバック講座

2015/07/16 帰社日の発表資料

eiji.ienaga

July 16, 2015
Tweet

Transcript

  1. いえぴょんによる  
    弾丸特急フィードバック講座

    View Slide

  2. 私がなぜフィードバックに  
    興味をもった歴史的経緯
    •  学生時代に講義でフィードバック制御の基礎、機械学習、
    PDCAの改善などを学ぶ  
    •  XP本の価値の1つに「フィードバック」と書いてあっ
    た!!!  
    •  2003-­‐4年ごろ追っていた「学習する組織」一つでシステム
    思考で「フィードバック」という語彙が何度も出てきた。  
    –  (後のワインバーグの影響図とシステム思考が表記は異なる
    がほぼ似た内容を表記しているのに気づく)  
    •  TDDやAgileでよく「フィードバック」て書いてある。  
    •  妙に気に気になる。。。  
    •  忘れないように  twi3erのアイコンを螺旋に
    割愛

    View Slide

  3. ここからは  
    いろんなフィードバックに  
    関連するものを  
    勢いと勢いで  
    ばかっぽく解説していくよ

    View Slide

  4. サイバネティックス!

    View Slide

  5. サイバネティックス
    •  「自動制御」と「フィードバック」がキー要素  
    •  SF好きなら“サイボーグ”、“サイバースペース”のほう
    が馴染みがあるかも  
    •  “サイバネティックス”の語源たどると「舵取り」  
    •  現代だと船より車の運転のメタファでよく語られる。  
    •  あるいは砲弾制御、ミサイル(こっちは本当にあったも
    のがメタファになってった)  
     

    View Slide

  6. サイバネティックス
    •  数式も多数で正直わからん(>  <)  
    •  当時から工学だけでなく神経学など学際的な
    集まりだった。  
    •  弾道の制御、神経学、心理学、社会学、生物
    学、複雑系、人工知能、組織−チーム理論な
    ど多数の分野に散って広がった。  
     

    View Slide

  7. 散って、広がっていった!!

    View Slide

  8. サイバネティックス
    •  ソフトウェア開発の分野では、“ワインバーグ
    のシステム思考法”はサイバネティクスを色
    濃く影響を受けている  
    – “舵取り文化”、影響図、言行一致、プログラマの
    心理学…  
     

    View Slide

  9. • サイバネティッ
    クス!  
    • 完

    View Slide

  10. • 今日は滑っても
    勢いで叫んでい
    くよ!

    View Slide

  11. フィードバック制御

    View Slide

  12. フィードバック制御
    •  “制御した出力の結果を入力側に戻し、目標
    値と比較して次の制御へ役立てようとする制
    御のことをフィードバック制御と言います。
    •  ”

    View Slide

  13. • 閉ループで目標と
    実際のギャップを小
    さくする仕組み

    View Slide

  14. レゴインドストーム&  
    ライントレース  
    でもフィードバックが学べる!?

    View Slide

  15. PID制御
    •  h3p://monoist.atmarkit.co.jp/mn/arJcles/1005/21/news095.html    
    久納さんGood  JOB!  
    P制御は、現在の状況に対して操作量を決定する…  比例制御
    I制御は、過去の状況に対して操作量を決定する…    積分制御
    D制御は、未来の状況を予測して操作量を決定する…  微分制御  

    View Slide

  16. 13章 ケーススタディ:  キャッシュヒット率
    14章 ケーススタディ:広告配信
    15章 ケーススタディ:サーバの数の調整
    16章 ケーススタディ:キューの長さの制御
    17章 ケーススタディ:冷却ファンのスピード
    18章 ケーススタディ:ゲームエンジンのメモリ消費制御  

    View Slide

  17. フィードバック
    制御

    View Slide

  18. • 今日は叫んでい
    くよ!

    View Slide

  19. 構え、撃て、狙え!

    View Slide

  20. 構え、撃て、狙え!
    ビジネスの分野でトム・ピーターズが広めた  
    考え方  
     
    不確実な市場では、綿密に計画を立てて  
    実行して終わりよりも、  
    速くに市場に製品投入して、反応を見て  
    調整をするほうが、商品ヒットできる!!  
     

    View Slide

  21. ムービング・ターゲット!  
    例えるなら  
     
    動く標的に砲弾に当てる!  
     
    クーラー適正温度を 26度から途中28度に変えてもいい感じに28度に!  
     
    顧客の嗜好の変化に対応して売れる商品を市場に出す!

    View Slide

  22. • 構え、撃て、狙

    View Slide

  23. • アジャイルな見積と
    計画づくり

    View Slide

  24. View Slide

  25. •  内容すでに知っていると思うので割愛  
    •  安井さんは、よく「試行錯誤しながら宝を見つ
    ける宝探しゲーム」のメタファで語っていた  
     
    •  まとめると  

    View Slide

  26. ムービング・ター
    ゲット!  
    限られた資源で市場にフィットした製品をつくるための見積もりと計画づくり

    View Slide

  27. • 構え、撃て、狙
    え!  

    View Slide

  28. UNIXという考え方

    View Slide

  29. UNIXという考え方
    “3.できるだけ早く試作を  
    作成する”  
     
    早期に動くものを見せて  
    フィードバックを得る  

    View Slide

  30. • つまりは  
    • 構え、撃て、狙
    え!  

    View Slide

  31. 仮説検証サイクル

    View Slide

  32. 仮説検証のサイクル
    •  診察して、病気の仮説を立て、効果がありそうな診療行為、その後経過
    観察。効果がなければ別の。。。  
    (医療、医学)  
    •  見える化からの改善活動の仮説検証  
    (KAIZEN)  
    •  数式モデル と 実験の繰り返し  
    (物理学)  
     
    •  障害時にログを読んで、「もしかして〇〇なのでは?」と仮説を立て、  
    試して検証を繰り返し、問題箇所を特定と修正を行う  
    (エラー発生時のプログラミング)  
    •  ビジネスモデルの仮説と検証(リーンスタートアップ)

    View Slide

  33. リーンスタートアップ
    •  課題仮説が妥当か検証し続け、もっともらしい課
    題を見つける  
    •  ソリューション仮説やMVP仮説、価格テストを検
    証し続け、もっともらしいビジネスモデルを見つ
    ける  
    •  ビルド・メジャー・ラーンサイクルで、ビジネスモ
    デル仮説が妥当か検証をし続け、もっともらしい
    持続可能なビジネスに磨きをかける。  
    (ときにはピボットや中止)  

    View Slide

  34. • ふりかえり!

    View Slide

  35. View Slide

  36. h3ps://esminc.esa.io/posts/90

    View Slide

  37. ちょっと再現してみます
    • 「ふりかえりは
    魔女狩り  
    では 無い!」  

    View Slide

  38. ふりかえりも  
    構え、撃て、狙
    え!  

    View Slide

  39. ダブルループ学習

    View Slide

  40. ダブル・ループ学習

    View Slide

  41. ダブル・ループ学習
    • 背景にある変数:  
    真の目的、真の原因、制約条件、暗黙の前提条件、
    環境変化…etc…

    View Slide

  42. 構え、撃て、狙えでたとえるなら
    •  うまく調整をして標的に当てるのがシングル
    ループ  
    •  「あれ?今狙っている標的は本当にこれを狙
    うべき標的だったけ?」「もっと狙うべきの
    は?」「あれあれ?今回のケース戦争が良い
    選択だっけ?実は!?」と学び直すのがダブ
    ルループ学習  

    View Slide

  43. ダブルループ!

    View Slide

  44. • 今日は叫んでい
    くよ!

    View Slide

  45. •  ここまでは、フィードバック制御とその延長の
    話  
    •  閉ループで目標に近づくだけがフィードバック
    ではない。  
    •  ここからは、影響図、システム思考に観られ
    るフィードバックの話。

    View Slide

  46. • 予告:悪循環もフィード
    バックの一種  

    View Slide

  47. • 一部完

    View Slide

  48. • 二部

    View Slide

  49. 影響図  x システム思考
    因果はループしていると語っている  

    View Slide

  50. 影響図  x システム思考
    因果は循環  
    していると語っ  
    ている  

    View Slide

  51. • 悪循環

    View Slide

  52. View Slide

  53. • ほむほむが  
    助けよう助けようと  
    すればするほど  
    最悪の魔女に  
    なっていく!!!

    View Slide

  54. View Slide

  55. • もっともっとの
    悪循環!

    View Slide

  56. • 成長の限界!

    View Slide

  57. View Slide

  58. View Slide

  59. •  スポーツジム例だが、Webサービスのビジネ
    スモデルも成長期に入ったら、類似の成長の
    限界のシナリオに注意  
    – 広報が広告だして会員数を伸ばしたが、レスポン
    スが遅くなって、不満が増えて….  
    – スパゲティコードでだましだまし、ジェンガのように
    ヒヤヒヤ機能追加を続けてたら、キーマンが倒れ、
    限界点に達してからの、…  
    – 。。。。  

    View Slide

  60. ドメイン駆動設計 8章ブレークスルー
    •  “そして、我々は全
    員気が重くなった!

    View Slide

  61. • そして、  
    我々は全員  
    気が重くなった!

    View Slide

  62. • これもフィードバッ
    クのしわざなのね

    View Slide

  63. • 憂鬱な因果のループから
    脱出したいよね!!

    View Slide

  64. 影響図とソフトウェア開発

    View Slide

  65. • ソフトウェア開発に
    おける悪循環とそ
    の脱出大作戦が語
    られている本たち!

    View Slide

  66. 影響図とソフトウェア開発

    View Slide

  67. • 写経したあとは、
    TDD  25章以降を
    ゆっくり読むのは
    オススメ!

    View Slide

  68. • プログラミングにおけ
    るよくありがちな悪循
    環とその脱出方法が
    記載されている!

    View Slide

  69. 影響図とソフトウェア開発

    View Slide

  70. • ふりかえりで、どんな悪循環
    が起きて、脱出するための  
    レバレッジポイントがどこにあ
    るのかをは話し合うのはオス
    スメ!

    View Slide

  71. • まずは、SFアニメの
    ように憂鬱なループ
    に気づくところが
    肝!

    View Slide

  72. ループとSF
    • 押井監督の作品をいくつ
    かみるのがオススメ!  
    • 憂鬱なループのもどかし
    さを体感したいならハルヒ
    のエンドレスエイト

    View Slide

  73. • 悪循環から  
    好循環へ!

    View Slide

  74. • 2部完

    View Slide

  75. • 3部

    View Slide

  76. • 100年後を想像
    しよう!

    View Slide

  77. • サイバネティックス、
    フィードバックで100
    年後のソフトウェア開
    発の世界を想像しよう

    View Slide

  78. • POもSMも開発チームも  
    • 個体レベル−チームレベル−組
    織レベルで  
    サイバネティックス-­‐サイボーク
    −サイバースペース化が  
    極限まで進むソフトウェア開発
    の世界

    View Slide

  79. 100年後の開発を  
    フィードバック機構でSF
    •  利用者のPain/Gain情報やビックデータを利用
    して、なにを作ると良いかを仮説立案と検証
    のため、バックログアイテム生成と優先順位
    付けはほぼほぼオートメーション化するだろう。  
     
    (動く標的を自動追尾するのミサイルのように!  
    POの振る舞いがほぼほぼ自動化!)  

    View Slide

  80. • POの振る舞いが
    ほぼほぼ自動制
    御とフィードバッ
    ク!

    View Slide

  81. 100年後の開発を想像する
    •  現代は幸せを加速度センサーで計測できるらいしい。  
    チームコラボを可視化、全世界データを使って、コーチ
    の代わりにエージェントがコラボの修復ポイントとアドバ
    イスを提案してくれるだろう。  
     
    (チームビルディングの  
    コンサル、SM、  
    ファシリテーターの振る舞いがほぼほぼ自動化するだろ
    う!)

    View Slide

  82. • ファシリテーター
    の振る舞いがほ
    ぼほぼ自動制御
    とフィードバック!

    View Slide

  83. 100年後の開発を想像する
    プログラマがシステムが期待する
    結果を返すためのコードを書くの
    ではなく、AI、ディープラーニング、
    機械学習を使って期待する結果を
    返す  
    (プログラマはディープラーニングの正答率を上げるチューニングの役割。  
    これは100年待たずとも、迷惑メールのフィルター、広告配信、転職のマッチ
    ング、自動組版、ディープラーニングの提供(Azure)などなど一部の分野で
    すでに始まっている。どこまで広がるかは?)

    View Slide

  84. • プログラマー&プロ
    グラミングがほぼ
    ほぼ自動制御と
    フィードバック!

    View Slide

  85. • 組織運営がほぼ
    ほぼ自動制御と
    フィードバック

    View Slide

  86. •  果てしどうなるだろうか?

    View Slide

  87. • サイバネティックス-­‐サイ
    ボーク−サイバースペース
    化が極限まで進む  
     
    100年後のソフトウェア開
    発の世界を想像してみよ
    う!  

    View Slide

  88. • 個人が、チームが、組
    織が極限までサイボー
    グ化サイバースペース
    化している世界

    View Slide

  89. • サイバネティッ
    クス  

    View Slide

  90. フィードバッ
    ク!  

    View Slide

  91. • 構え、撃て、狙
    え!  

    View Slide

  92. • おわり

    View Slide

  93. 割愛!
    •  他にも、プラグマティズム、DDD、TDD,  
    PDCA,  OODAループ,学習する組織の学
    習の阻害要因と脱出作戦、ジョハリの窓、
    言行の不一致、ダブルバインド、XPE、シ
    ステム原型、影響図の細かい読み方、
    AI、機械学習、システム思考の細かい読
    み方などなどを紹介したかったが割愛し
    ます!

    View Slide