スクラムを理解するために考えておきたいこと

概要

こちらはGLOBIS Advent Calendar 2020の23日目の記事です。スクラムの記事を読んでるときに、自分自身で大切にしている核の考え方を書いてみます

スクラム以前にそもそもチームが目指すものは何か?

ビジネス価値の最大化(ROIの最大化)

  • 顧客にとって価値のあるもの(ビジネス価値)を最大化するために、チーム全体で作業をビジネス価値に転換していくこと

f:id:sktktk1230:20201208143246j:plain

ビジネス価値

  • 顧客にとって価値のあるもの
    • 顧客に見える(顧客とやり取りするオペレーション、顧客が触れるシステムそのもの等)や顧客に見えない(社内のワークフローや分析等)
  • 顧客にとっての価値をどう計測するのか?
    • マーケティング的観点
      • NPS, LTV等
    • システム的観点
      • アクティブユーザー数、レスポンスタイム等

計画通りに進めることの限界

  • 「人々」「要求」「技術」から生じるノイズ(カオスや複雑性)が原因で計画を立てて実行することが難しい

    また、当時はMitchell M. Waldropの『Complexity: The Emerging Science at the Edge of Order and Chaos』(邦訳:『複雑系』)が流行し、複雑系やカオス理論に対する関心が高まっていた。ものすごく噛み砕いて言えば、先のことなんかよくわからん!(計画なんて無理じゃね?)という感じ。

    参照:勝手に注釈付き参考文献#歴史的な背景

  • プロジェクトの初期は、不確実性が高く見積もりにブレが出やすい。またプロジェクト初期に、すべての情報を出すことは現実的ではない

f:id:sktktk1230:20201208143415j:plain

初期にすべてを計画し、複雑系をコントロールすることは難しい

ではスクラムは複雑系をどうやってコントロールするか?

  • 事前に予測・定義することは諦めている
  • その代わりに以下2つを採用している
    • 試行錯誤しながらプロセスを制御していくこと(経験主義)
    • ムダを排除していくこと(リーン思考) f:id:sktktk1230:20201208143845j:plain
      • ※ 作業のサイズを小さくし、リリースまでの全プロセス(計画、実装、テストなど)を経験することによって学びの機会を増やしている

仮説、検証のフィードバックループと適応によって複雑性をコントロールしようとしている

そもそも経験を得るためには何が必要なのか?

  • 経験を得るためには以下の流れが必要
    • 実行する → フィードバックを得る → 学びを得る → 経験として蓄積する
  • スクラムイベントをただこなしているだけでは、スクラムでは無いと言われるのは、実行するというフェーズに留まってしまっているから

フィードバックを得るために必要なことは何か?

プロセスの場合

  • 以下の3つのステップが必要
  • 計画
  • 実行
  • 振り返り

f:id:sktktk1230:20201208143947j:plain

  • 到達地点を決め(計画)、実行し、実行結果にどんな差分があったかを振り返ることで初めてフィードバックを得ることができる
    • ※ 計画をせず、フィードバック得ようとする場合は、何が要因で結果が起こったのかの分析が困難になる為、難易度が高くなる
  • そして得られたフィードバックをプロセスに適用することによって得たフィードバックがプロセスに蓄積される(経験値となる)

インクリメントの場合

  • 成果物がないと正しくレビューすることができない。また成果物を見て、触ってみて初めてわかることもある

f:id:sktktk1230:20201208144021j:plain

スクラムイベントでフィードバックを得ている箇所

  • スクラムでは、仮説、検証のフィードバックループによってプロセスの制御(経験主義)や、ムダを排除している(リーン思考)

f:id:sktktk1230:20201208144043j:plain

  • プロセス、スプリントによって生み出される成果物(インクリメント)を上記、スクラムイベントで検査している

フィードバックループの全体像

f:id:sktktk1230:20201208144105j:plain

  • 引用:© VersionOne

スクラムではフィードバックループを回すことで、経験を積み、改善を続けることによってビジネス価値を高めている

では、スクラムで定義されている役割の人たちは何をすればいいのか?

  • プロダクトオーナー
    • ROIの最大化
      • ビジネス価値を高めるために、何のリソース(時間、人、金等々)をどうするか?を考える必要がある
  • スクラムマスター
    • プロセスに対するフィードバックループがうまく回るようにチームに対してコーチング
  • メンバー
    • スプリントゴールに向けて毎日計画を適応させる(プロセスに問題ないかのチェックや改善)
  • ステークホルダー
    • プロダクトに対するフィードバックの提供

まとめ

  • フィードバックループを回すことに注力する
  • フィードバックループの回数がたくさん回るように工夫する
  • フィードバックループを回すことだけに注力せず、スプリントによってビジネス価値が高まるか?を意識する
  • プロダクト(インクリメント)に対するフィードバック、プロセスに対するフィードバックを意識する

参考文献