はじめに
サークルゲームを続けて♪ nikkieです。
XPのプラクティスの1つ、計画ゲームについていくつかの本からインプットしました。
現時点の理解をバックアップします
目次
- はじめに
- 目次
- 『Clean Agile』 3章
- 『アート・オブ・アジャイル デベロップメント』 8.3
- アジャイルプラクティスマップより
- 『エクストリームプログラミング』
- 再度『Clean Agile』に立ち戻る
- 終わりに
『Clean Agile』 3章
まずあたったのは『Clean Agile』。
最近読み返しています。
この本はサークル・オブ・ライフ(XPの12のプラクティス)に則った構成となっています。
3章はビジネスプラクティス4つを扱う章で、最初に解説されるのが計画ゲーム。
ここでは見積りやイテレーションの計画についてUncle Bobの視点で解説されるのですが、読み返したときに「計画ゲームとは何なのか」がよくわからなかったんですよね。
解説されるのは、ぱっと書き出すと以下のような項目
- 見積りとは
- ユーザーストーリー
- ストーリーの見積り(ストーリーポイント)
- イテレーションプランニングミーティング
- ベロシティ
- 昨日の天気
- INVEST
『Clean Agile』には「見積りとは推測である」「(ユーザーストーリーの)詳細化を避ける」「ベロシティは確約ではない」など気付かされる解説が多かったです1。
情報量の多さに私が話の流れを見落としたのか、「計画ゲームとはなにか」への答えはピンときませんでした。
『アート・オブ・アジャイル デベロップメント』 8.3
別の本にあたります。
8章が「計画すること」、そして8.3が(すばり)「計画ゲーム」です!
計画ゲームの"ゲーム"は、2種類のプレーヤーがいるゲームとありました。
- 顧客(またはビジネスサイド):価値について一番知っている
- 開発者:コストについて一番知っている
ビジネスと技術、それぞれの持つ専門知識を活用した計画を作るのが計画ゲーム!(と理解しました)
正直になって顧客とプログラマのあいだの対話をオープンにすると、コラボレーションの奇跡が起こって、 どこからともなく余分な時間が現れる。(p.235)
計画ゲームのアウトプットは計画です(計画を作るために計画ゲームをプレーする)。
この本では、計画ゲームにおける勝利として、ビジネスサイドと開発者のそれぞれが持つ情報を出し合うことで、ユーザへの価値もコストもどちらもいいとこどりした計画が出力されると述べられています(時間が生まれることになるので、奇跡という言葉選びなのでしょう)
アジャイルプラクティスマップより
スプリントプランニング
=イテレーションプランニング
=計画ゲーム
特別な機会にプレーするものではなくて、イテレーションのたびに計画ゲームをプレーするのか!
『エクストリームプログラミング』
「第12章 計画:スコープの管理」が計画について解説している印象です。
上手いなと思ったのが買い物の比喩。
- ストーリーが買いたいもの(店頭に並んでいる)
- ストーリーには値札(見積り)がついている
- 買い物の予算が利用可能な時間
利用可能な時間(Nイテレーション)と、単位時間あたりに完成できるストーリーの合計(ベロシティ)から予算の上限が決まります(ベロシティ × N)。
予算に収まるように、ユーザ価値の高いものからストーリーを選択していきます(選択したストーリーを開発する)。
これって『アート・オブ・アジャイル デベロップメント』で見たビジネスサイドと開発者でプレーするゲームですよね(計画ができあがる)
『エクストリームプログラミング』では、計画について2、7章 主要プラクティスでも取り上げられています。
- 7.7 週次サイクル
- 1週間分の計画をまとめて立てる
- -> イテレーションプランニングだ!
- 7.8 四半期サイクル
- 四半期分の計画をまとめて立てる
この2つのサイクルにはどちらも「実験できる」というのを今回見つけました。興味深いですね
再度『Clean Agile』に立ち戻る
計画ゲームについて別の書籍で確認した上で『Clean Agile』を見返していると、ゲームについての言及がありました!
図3-2です。
高価値・低コストのストーリーは「すぐにやる」というように判断していく(「ROIの計算」)のですが、ここが計画ゲームですね。
- 価値とコストの情報は、ビジネスサイドと開発者それぞれが持つ情報を出し合って分かる(ref:『アート・オブ・アジャイル デベロップメント』)
- 『エクストリームプログラミング』の買い物の例のように、ベロシティ(イテレーションで完成できるストーリーポイントの合計の見積り)に達するまで、ROIの大きいストーリーを選択する
終わりに
『Clean Agile』3章の計画ゲームを読んだところ、計画ゲームとは何かが分からず、他の書籍をあたりました。
複数の言語化を読み、理解が深まった気がします
- 計画ゲームをプレーして計画を作る
- ビジネスサイドと開発者でプレーし、それぞれが持つ情報(価値とコスト)を出し合う(これが勝利の鍵)
- 『Clean Agile』における計画ゲームは、イテレーションプランニングミーティングでROIを計算して、ベロシティ分のストーリーを選ぶ(=イテレーションの計画を作る)と説明されていると理解した
- 計画ゲーム=4象限のゲーム 説
計画ゲームは開発者だけでもビジネスサイドだけでも勝てなくて、みんなで勝ちましょうという性質があるのが、エモいですね〜
- ここでのインプットがXP祭り2022でのアウトプットにつながっています ↩
- 週(イテレーション)と四半期より小さい単位で日(今日)を考えると、『アジャイルな見積りと計画づくり』のプランニング・オニオンですね(図3-1)↩