みんなが収穫を得られる アジャイル開発

75d2fc0f4644c613a7147b9ea0f42b3f?s=47 Yasu
September 17, 2019

みんなが収穫を得られる アジャイル開発

75d2fc0f4644c613a7147b9ea0f42b3f?s=128

Yasu

September 17, 2019
Tweet

Transcript

  1. ユーザーだけじゃない みんなが収穫を得られる アジャイル開発

  2. 序:マイナスからのスタート 破:ボッチから14人のチームへ 急:仲間を増やす旅 本日のアジェンダ

  3. 「こんな現場でも成果が出た」 そんな事例を紹介します 大企業・製造業で アジャイルを スタートさせるということ 本日のメッセージ

  4. 自己紹介 開発チーム立ち上げました スクラムマスターです! チームをコーチングしてます! みんなに気持ちよく仕事を してもらえるように頑張っています

  5. 会社紹介 2030年ビジョン: すべての人に、“生活の可能性が拡がる喜び”を提供する

  6. 私達の部門 製造部門の中のデジタル領域 IT部門とは別の組織です 現場 開発

  7. 作っているもの 世界の工場のデータ 設備の予兆 生産工程の見える化 電子帳票 生産性を向上するための社内向けシステム

  8. 序 マイナスからのスタート

  9. 今のチーム 2018年10月に発足し、現在は社内外含めて14名のチーム 一年未満の新チーム エンジニア 9名 スクラムマスター 1名 プロダクトーオーナー 2名 インフラ

    2名 UI/UXデザイナ アジャイルコーチ Dev 5名 Dev 4名 インフラ 2名 Product Owner 1名 現場/ ユーザー 兼任(1名) 定期的 メンバー入替 UI/UX デザイン アジャイルコーチ (外部) 自立した アジャイルチーム 構築を支援 開発しやすい 基盤を作る ステーク ホルダー 自己組織化 されたチーム チーム1 チーム2 Product Owner 1名 現場/ ユーザー Scrum Master
  10. 登壇したときに よく言われること

  11. Hondaさんは 自由に新しいことが 出来て羨ましい

  12. 現実

  13. 数多くの苦難と 衝突を乗り越えてます

  14. 心に沁みる一言 ①

  15. Chatでコミュニケーション を取っていると

  16. 遊ぶんじゃない! 履歴がすべて 残るじゃないか!

  17. 心に沁みる一言 ②

  18. 英語でミーティング していると…

  19. 真面目に 日本語でやれ!

  20. 心に沁みる一言 ③

  21. 俺たちが必死で稼いだ 1円・1秒を一瞬にして 使ってしまうIT! お金は使わせない

  22. 見渡す限り味方がいない マイナスから旅はスタート

  23. みなさんの職場は どうですか?

  24. 文化は分かった では開発自体は?

  25. 自動車を作るということ 数万人の関係者がみんなで足並みを揃えるために  担当(セクショナリズム)  開発フロー、標準化、ルール、規律  リーダー主導  管理・計画

    以上の要素が重要
  26. 自動車開発を ソフト開発にも そのまま移植

  27. 結果

  28. 使われないものを量産してしまった 結果

  29. 味方がいない ゴミしか作れない マイナス×マイナス

  30. 早く何とかしないと…

  31. 破 ボッチから14人のチームへ

  32. はじめの一歩 現場スタッフの困りごとを解決するアプリを 1人で片手間で作成 ・手作業で収集 ・手書きからの転記 ・エクセルで結合 ・集計 ・レポーティング 現場のデータ集計作業

  33. はじめの一歩 簡単な手作りアプリで自動化 現場スタッフの困りごとを解決するアプリを 1人で片手間で作成 データ転送 DBコネクト 現場システム 設備 データ処理 Web

    Job 設備データ
  34. 現場スタッフが喜んでくれた

  35. 助かった 私も 作って欲しい Done Doing 生産現場 開発 開発 噂が広まって作成依頼が多発

  36. 助かった 私も 作って欲しい 片手間で やってるので ちょっと待って 私も 作って欲しい Done Doing

    Waiting 生産現場 開発 開発 作業が追いつかず待ってもらうことに
  37. さらにバックオーダーが増大 助かった 私も 作って欲しい 片手間で やってるので ちょっと待って 私も 作って欲しい 私も

    作って欲しい Done Doing Waiting Waiting 生産現場 開発 開発
  38. メンバーを増やしたいと上司に提案するが… 助かった 私も 作って欲しい 片手間で やってるので ちょっと待って 私も 作って欲しい 私も

    作って欲しい 効果 があるの? Done Doing Waiting Waiting 生産現場 マネージャー 開発 メンバーを 増やしたい 開発
  39. そんなとき、現場のマネージャーが気づいてくれた 助かった 私も 作って欲しい 片手間で やってるので ちょっと待って 私も 作って欲しい 私も

    作って欲しい 現場が 効率化されて いそう 効果 があるの? Done Doing Waiting Waiting 生産現場 マネージャー マネージャー 開発 メンバーを 増やしたい 開発
  40. 現場マネージャー ⇒ 開発マネージャーへ協力依頼 助かった 私も 作って欲しい 私も 作って欲しい 私も 作って欲しい

    お願いします Done Doing 生産現場 マネージャー マネージャー メンバーを 増やしたい 開発 Waiting Waiting 組織間のコラボレーション
  41. メンバーを増やして開発しよう! 助かった 私も 作って欲しい 私も 作って欲しい 私も 作って欲しい お願いします 現場が言うな

    ら了解! Done Doing 生産現場 マネージャー マネージャー メンバーを 増やしたい 開発 Doing Waiting
  42. ボッチからチームへ しかし 数々の壁にぶち当たる

  43. ここからは アジャイルチーム のジャーニー

  44. STEP① 3ヶ月ごとのステップ

  45. 委託開発 社内(部門内)にソフト開発が 出来るエンジニアが不足 委託でソフトウェアを開発

  46. 結果 システムそのものが出来なかった

  47. 原因  社内のインフラを知らない  スキル不足

  48. STEP② 3ヶ月ごとのステップ

  49. 複数拠点開発  社内のインフラはサポート  スキルは委託先の 他拠点の支援をもらう

  50. 結果 委託会社で内紛が勃発!!

  51. 原因  遠隔でコミュニケーション不足  フロント/バック責任区分の争い?  問題が起きてもサポートできない

  52. STEP③ 3ヶ月ごとのステップ

  53. 内製開発へ  コミュニケーションが取りやすいように 自社内一箇所で開発  同じチームとしてメンバーをサポート

  54. 結果 ものは出来たが、活用されなかった

  55. 原因 現場のいいなりで作っただけ 現場の要望 のイメージ 作ったもの

  56. 多くの場合、 人は形にして見せて貰うまで 自分は何が欲しいのかわからないものだ

  57. STEP④ 3ヶ月ごとのステップ

  58. 企画者だけでなく現場ユーザーも一緒に  インセプションデッキ  ユーザーストーリー  カスタマージャーニー  デザイン思考ワークショップ

  59. 一緒に開発 現場のユーザーの プログラム体験 開発者の現場確認 開発 現場

  60. 結果 やっと使われるものが出来た

  61. 出来たのもの

  62. 開始から約1年 やっと チームが動き始めました

  63. 急 仲間を増やす旅

  64. STEP 4 STEP 3 STEP 2 STEP 1 DevOpsを意識し初めた時期

  65. DevOpsとは(私達の認識) 顧客に価値を届ける時間を 最短化すること

  66. Agileとの違いは 基本的には意識をしていません

  67. あえて言うなら、広げること 開発 運用 企画

  68. もう、一度いいますが 基本的には 違いを意識をしていません

  69. 運用との関わり 工場B その他 自部門 社内ユーザー A B 既存システム 工場A 他部門

    ネットワーク 既存システム アプリケーション ハードウェア 開発 運用 企画
  70. 現場オペレーションとの関わり 開発 運用 企画

  71. Step3までは 企画を出したものを作る 設計 実装 テスト 要件 計画 スプリント1 リリース 1

    2 4 3 企画 設計 実装 テスト 要件 計画 スプリントN 1 2 4 3 効果確認 ・・・・ 繰り返し 内作開発 Idea 現場 現場 要件 ソフトリリース リリース 成果 STEP 4 STEP 3 STEP 2 STEP 1
  72. Step4からは 業務も一緒に作っていってる 設計 実装 テスト 要件 計画 スプリント1 リリース 1

    2 4 3 企画 設計 実装 テスト 要件 計画 スプリントN 1 2 4 3 効果確認 ・・・・ 繰り返し 内作開発 Idea 現場 現場 要件 ソフトリリース リリース 成果 STEP 4 STEP 3 STEP 2 STEP 1
  73. 事例)タブレット電子帳票 調査とヒアリング 要件定義 委託で実装 完成品 STEP 4 STEP 3 STEP

    2 STEP 1
  74. 定着せず

  75. DevOps導入 カイゼンを実施

  76. 具体的にやったこと

  77. バリューストリーム マッピング 通称:VSM

  78. 検証の範囲 進め方 ①各工程にかかる時間を見積もり ②問題工程や無価値な工程を探す ③対策を考える 要件受取~ソフトリリースではなく アイディア~成果を対象 成果

  79. 価値の定義 “PT”ではなく “VAT”のみ実施することを目指す

  80. 実際の企画担当者・ユーザーも呼んで実施 どの作業に価値を見出すかは ケース・バイ・ケース

  81. VSM LT: 54.1D PT: 52.1D LT: 5.2D PT: 1.4D LT:

    42D PT: 11D LT: 20D PT: 1D 企画 調査・検証 開発(繰返し) 現場検証 効果確認 全体 Idea Outcome LT: 136.3D PT: 80.5D LT: 15D PT: 15D
  82. VSM LT: 54.1D PT: 52.1D LT: 5.2D PT: 1.4D LT:

    42D PT: 11D LT: 20D PT: 1D 企画 調査・検証 開発(繰返し) 効果確認 全体 Idea Outcome 現場検証 LT: 136.3D PT: 80.5D LT: 15D PT: 15D
  83. VSM LT: 54.1D PT: 52.1D LT: 5.2D PT: 1.4D LT:

    42D PT: 11D LT: 20D PT: 1D 企画 調査・検証 開発(繰返し) 効果確認 全体 不具合対応 の時間 デプロイ の時間 現場のハード 構築の時間 障害対応 の時間 Idea 使われない機能 8割以上 企画に 時間がかかる 調査検証時間 約3ヶ月 4日 LT 1ヶ月 1日 1日 1日 約100日相当 Outcome 現場検証 LT: 136.3D PT: 80.5D LT: 15D PT: 15D
  84. VSM LT: 54.1D PT: 52.1D LT: 5.2D PT: 1.4D LT:

    42D PT: 11D LT: 20D PT: 1D 企画 調査・検証 開発(繰返し) 効果確認 全体 不具合対応 の時間 デプロイ の時間 現場のハード 構築の時間 障害対応 の時間 Idea 使われない機能 8割以上 企画に 時間がかかる 調査検証時間 約3ヶ月 4日 LT 1ヶ月 1日 1日 1日 約100日相当 Outcome 現場検証 LT: 136.3D PT: 80.5D LT: 15D PT: 15D
  85. VSM LT: 54.1D PT: 52.1D LT: 5.2D PT: 1.4D LT:

    42D PT: 11D LT: 20D PT: 1D 企画 調査・検証 開発(繰返し) 効果確認 全体 不具合対応 の時間 デプロイ の時間 現場のハード 構築の時間 障害対応 の時間 Idea 使われない機能 8割以上 企画に 時間がかかる 調査検証時間 約3ヶ月 4日 LT 1ヶ月 1日 1日 1日 約100日相当 Outcome 現場検証 LT: 136.3D PT: 80.5D LT: 15D PT: 15D
  86. 取り組むべき課題 広範な キックオフ会議 の設定 ユーザーストーリー マッピング インセプション デッキ モックを作った プロトタイピング

    仕様作成時の UIデザイン 開発工程で 受け入れ項目 リストを作る 開発工程で テスト 自動テスト テスト モジュール化 開発用 Sandboxの用意 Auto deploy 開発と企画のコラボレーション CI CD 仮想環境 効果 作業量 コンテナの 生存確認と 再起動自動化 コンテナの 設計見直し コンテナの テスト コンテナオーケストレーション 担当者に問題意識を 持ってもらう スケジュール 調整 テストデータで 開発(mock) データ収集待ち時の対応
  87. 取り組むべき課題 広範な キックオフ会議 の設定 ユーザーストーリー マッピング インセプション デッキ モックを作った プロトタイピング

    仕様作成時の UIデザイン 開発工程で 受け入れ項目 リストを作る 開発工程で テスト 自動テスト テスト モジュール化 開発用 Sandboxの用意 Auto deploy 開発と企画のコラボレーション CI CD 仮想環境 効果 作業量 コンテナの 生存確認と 再起動自動化 コンテナの 設計見直し コンテナの テスト コンテナオーケストレーション 担当者に問題意識を 持ってもらう スケジュール 調整 テストデータで 開発(mock) データ収集待ち時の対応
  88. インセプション デッキ

  89. インセプションデッキ 短期間で関係者で目的を共有 10個の質問での企画の全体像 (目的、背景、優先順位、方向性等)をまとめる 工夫したところ •パワーポイントは極力使わない •少人数、幅広い役割の人を招集 ⇒オペレーターやマネジメントを呼ぶ •時間が立って認識がズレたらもう一度 短期間で合意

    常に認識をあわせる 幅広い役割の人 シンプルな企画 少人数で意識統一 ドキュメント最小限
  90. 項目 絶対やる 時間があればやる われわれはなぜここにいるのか • エレベーターピッチ • パッケージデザイン • やらないことリスト

    • プロジェクトコミュニティは... • 技術的な解決策の概要 • 夜も眠れなくなるような問題は何だろう? • 俺たちの“Aチーム” • 期間を見極める • トレードオフ・スライダー • 初回のリリースに必要なもの • 私達のデッキ 必要なものだけをやる 振り返りをして決める
  91. みんなでエレベータピッチを作ると みんなの認識がバラバラ なことが分かりました インセプションデッキの効果 工場の生産現場内でも 立場によって期待が異なる

  92. バラバラな認識を全て受け止めた上で 今一番フォーカスするものを決めた インセプションデッキの効果

  93. ユーザーストーリー マッピング

  94. ユーザーストーリーマッピング 短期間で必要な機能を定義 要件定義書や仕様書といった重めのドキュメント作成 を無くし軽量なストーリー形式にする 開発者 ユーザー デザイナ 気をつけたところ •一度にたくさんの機能は作らず一番必要な機 能を一つづつ実装

    •ユーザーフィードバックを受けて 毎週ストーリーを更新 •ワークフローと登場人物毎に届けたい ストーリーを定義 スプリントごとに ストーリーを整理
  95. ユーザーストーリーマッピング 人 業務フロー

  96. ユーザーストーリーマッピング 人 業務フロー 業務内容

  97. ユーザーストーリーマッピング 対象工程を選択

  98. ユーザーストーリーマッピング ついでに、いらない作業もやめる

  99. ユーザーストーリーマッピング 人 業務フロー 届けたい機能

  100. ユーザーストーリーマッピング 人 業務フロー

  101. ストーリーの更新 毎週フィードバックを受けてストーリーを更新する 計画 1ヶ月後

  102. ここまできて 次のカイゼンに着手

  103. 取り組むべき課題 広範な キックオフ会議 の設定 ユーザーストーリー マッピング インセプション デッキ モックを作った プロトタイピング

    仕様作成時の UIデザイン 開発工程で 受け入れ項目 リストを作る 開発工程で テスト 自動テスト テスト モジュール化 開発用 Sandboxの用意 Auto deploy 開発と企画のコラボレーション CI CD 仮想環境 効果 作業量 コンテナの 生存確認と 再起動自動化 コンテナの 設計見直し コンテナの テスト コンテナオーケストレーション 担当者に問題意識を 持ってもらう スケジュール 調整 テストデータで 開発(mock) データ収集待ち時の対応
  104.  サービスが増えて運用が大変に  リグレッションコストの増大  ユーザー管理が大変

  105. 開発インフラの強化  CI/CD  データパイプライン  認証認可  kubernetes オンプレ/自社で構築中

    クラウド使いたい…
  106. カイゼン中ですが 更なる課題

  107. 取り組むべき課題 広範な キックオフ会議 の設定 ユーザーストーリー マッピング インセプション デッキ モックを作った プロトタイピング

    仕様作成時の UIデザイン 開発工程で 受け入れ項目 リストを作る 開発工程で テスト 自動テスト テスト モジュール化 開発用 Sandboxの用意 Auto deploy 開発と企画のコラボレーション CI CD 仮想環境 効果 作業量 コンテナの 生存確認と 再起動自動化 コンテナの 設計見直し コンテナの テスト コンテナオーケストレーション 担当者に問題意識を 持ってもらう スケジュール 調整 テストデータで 開発(mock) データ収集待ち時の対応
  108. 取り組むべき課題 広範な キックオフ会議 の設定 ユーザーストーリー マッピング インセプション デッキ モックを作った プロトタイピング

    仕様作成時の UIデザイン 開発工程で 受け入れ項目 リストを作る 開発工程で テスト 自動テスト テスト モジュール化 開発用 Sandboxの用意 Auto deploy 開発と企画のコラボレーション CI CD 仮想環境 効果 作業量 コンテナの 生存確認と 再起動自動化 コンテナの 設計見直し コンテナの テスト コンテナオーケストレーション 担当者に問題意識を 持ってもらう スケジュール 調整 テストデータで 開発(mock) データ収集待ち時の対応
  109.  エンジニアが増えた  属人化してきた  教育コストが増大

  110. モブで解決

  111. 効果 エンジニア間の差を埋める  暗黙知の差 -調査検索ワードの選び方など  スキルの差  実装方法

  112. モブで浮き彫りになった課題 不公平感

  113. モブのメトリクス取得

  114. モブのメトリクス取得 最大-最小 全員の発言数 =ポイント 不公平感を発言数で数値化 共通の目標へ

  115. モブのメトリクス取得 作業のタイムライン化 時間がかかった作業を 可視化 振り返りの具体化

  116. 解決中の課題 やる気、性格

  117. カイゼンの結果

  118. VSM(Before) LT: 136.3D PT: 80.5D LT: 54.1D PT: 52.1D LT:

    5.2D PT: 1.4D LT: 15D PT: 15D LT: 42D PT: 11D LT: 20D PT: 1D 企画 調査・検証 開発(繰返し) 効果確認 全体 不具合対応 の時間 デプロイ の時間 現場のハード 構築の時間 障害対応 の時間 Idea 使われない機能 8割以上 企画に 時間がかかる 調査検証時間 約3ヶ月 4日 LT 1ヶ月 1日 1日 1日 約100日相当 Outcome 現場検証
  119. VSM(After) LT: 41D PT: 22D LT: 1D PT: 1D LT:

    0D PT: 0D LT: 20D PT: 20D LT: 20D PT: 1D 企画 調査・検証 開発(繰返し) 現場検証 効果確認 全体 Idea Outcome 不具合対応 の時間 デプロイ の時間 現場のハード 構築の時間 障害対応 の時間 使われない機能 8割以上 企画に 時間がかかる 調査検証時間 1日 1日 0日 すべて活用 0日 LT: 0D PT: 0D
  120. LT: 136.3D PT: 80.5D LT: 41D PT: 22D STEP 4

    STEP 3 リードタイム 70%減 活用されるシステム
  121. まとめ 特に重要だったこと

  122. ユーザーとの対話

  123. 現場現物 困ってる姿を見た上でつくるのは重要

  124. ユーザーの声 一緒に開発できて幸せでした! 開発チームに入りたいです 失敗するシステムが多い中、本当によくやってくれ ました(涙)

  125. もう一つ大切なこと

  126. 失敗から学ぶ

  127. 失敗から学ぶ  小さく失敗  だめなものはすぐやめる  結果を共有(振り返り) STEP 4 STEP

    3 STEP 2 STEP 1
  128. 小さな成功を積み重ねる 地道に一つづつ問題を解決し 広げてきた 1人 2人 4人 14人 自分 ユーザー 自分

    ユーザー×3 自分 ユーザー×3 マネージャー ?人 将来
  129. さらに もう一つ大切なこと

  130. 見える化

  131. VSMでカイゼンアイテムの見える化 広範な キックオフ会議 の設定 ユーザーストーリー マッピング インセプション デッキ モックを作った プロトタイピング

    仕様作成時の UIデザイン 開発工程で 受け入れ項目 リストを作る 開発工程で テスト 自動テスト テスト モジュール化 開発用 Sandboxの用意 Auto deploy 効果 作業量 コンテナの 生存確認と 再起動自動化 コンテナの 設計見直し コンテナの テスト 担当者に問題意識を 持ってもらう スケジュール 調整 テストデータで 開発(mock)
  132. 広範な キックオフ会議 の設定 ユーザーストーリー マッピング インセプション デッキ モックを作った プロトタイピング 仕様作成時の

    UIデザイン 開発工程で 受け入れ項目 リストを作る 開発用 Sandboxの用意 Auto deploy 効果 作業量 担当者に問題意識を 持ってもらう スケジュール 調整 テストデータで 開発(mock) VSMでカイゼンアイテムの見える化 開発工程で テスト 自動テスト テスト モジュール化 CI コンテナの 生存確認と 再起動自動化 コンテナの 設計見直し コンテナの テスト コンテナオーケストレーション 取り組みたかった カイゼンアイテム
  133. VSMでカイゼンアイテムの見える化 開発工程で テスト 自動テスト テスト モジュール化 開発用 Sandboxの用意 Auto deploy

    効果 作業量 コンテナの 生存確認と 再起動自動化 コンテナの 設計見直し コンテナの テスト 担当者に問題意識を 持ってもらう スケジュール 調整 テストデータで 開発(mock) 広範な キックオフ会議 の設定 ユーザーストーリー マッピング インセプション デッキ モックを作った プロトタイピング 仕様作成時の UIデザイン 開発工程で 受け入れ項目 リストを作る 開発と企画のコラボレーション 取り組むべき カイゼンアイテム
  134. 取り組みたい改善 ≠ 真の取り組むべき事

  135. アジャイルでみんなが得たもの? 助かった 私も 作って欲しい 私も 作って欲しい 私も 作って欲しい お願いします 現場が言うな

    ら了解! Done Doing 生産現場 マネージャー マネージャー メンバーを 増やしたい 開発 Doing Waiting
  136. アジャイルでみんなが得たもの? Done 生産現場 マネージャー マネージャー 開発 Done Done Done

  137. アジャイルでみんなが得たもの? 業務が効率化されて 早く帰れるようになった Done 生産現場 マネージャー マネージャー 開発 Done Done

    Done
  138. アジャイルでみんなが得たもの? 業務が効率化されて 早く帰れるようになった Done 生産現場 マネージャー マネージャー 開発 Done Done

    Done 現場がよろこんでくれて 嬉しい
  139. アジャイルでみんなが得たもの? 業務が効率化されて 早く帰れるようになった Done 生産現場 マネージャー マネージャー 開発 Done Done

    Done 自分の現場が良くなって 他工場から注目された 現場がよろこんでくれて 嬉しい
  140. アジャイルでみんなが得たもの? 業務が効率化されて 早く帰れるようになった Done 生産現場 マネージャー マネージャー 開発 Done Done

    Done 自分の現場が良くなって 他工場から注目された 現場に 貸しを作った 現場がよろこんでくれて 嬉しい
  141. 順調に進んでいる ところで新たな 問題が発生

  142. 予算削減

  143. チーム解散の危機

  144. しかしここで まさかの逆転劇

  145. 生産現場や他部署が 予算を工面

  146. 「ありがとう」は誰でも言える 本当に感謝してくれている人は お金を払う

  147. 少し前の生産現場のセリフ 皆さん覚えてますか?

  148. 俺たちが必死で稼いだ 1円・1秒を一瞬にして 使ってしまうIT! お金は使わせない

  149. 信頼を取り戻し 仲間が増えてきた

  150. 本日聞いてくれている マネージャーへ

  151. 今まで正しいと思っていた 積み重ねた概念を捨て 全く新たな価値感で、 若手を信じて支えること

  152. 注意点を 教える You やっちゃいなよ 提案の絶対的肯定 本日来ていただいている仲間と一緒に 大変革期を乗り越えましょう

  153. 日本のConventionalな製造業が 新たな方向へ踏み出した第一歩の 涙無くしては語れないストーリー を作っていきたい

  154. 共感してくれた方 一緒にストーリーを作りましょう