アジャイルな見積りと計画づくり/Mike Cohn
Ruby界近辺で評判が良かったので読んでみました。私のXPやアジャイルに関する知識は、まともな本は一冊も読んだことがなくて、雑誌やWebでちらほら見かけたというレベルです。
アジャイルな開発といえば、事前にきっちりとした見積をせず、要件定義もせず、いきなりコード書き始めてイテレーション。ドキュメントは書かないし、出来たときがリリース日みたいなイメージがあります。が、まあ、当たり前の話ですがそんなわけはなくて、アジャイルにも見積も計画もありますという本です
中でも言及がありますが、この本は「アジャイルの見積り」の話ではなくて「アジャイルな見積り」の話です。アジャイルというのは別に楽をする方法のことではなくて、そもそもソフトウェア開発なんてそういう方法でしかできないよねという話で、それはおそらくみんな感覚としては持っていると思います。開発がスタートする段階では、どんなものを作ればいいのか誰も知らないし、どんな問題が持ち上がるかわからないし、いつ出来上がるのかもわからない。それが当たり前なんだから、それを受け入れた上で何ができるかという話。
こういうゴタクは何度も聞いたことがあって、「じゃあ、どうしたらいいのよ」ということなんですが、ここにきっぱり書いてあります。まず、私たちの強い味方、WBSが否定されます。いや、WBS自体は個人レベルでは有用ですが、プロジェクト全体をWBSで見積もってはいけない。
プロジェクトの規模は作業ではなく、機能で測る
これ、私にはかなり浸みました。そうなんですよね。例えば、画面数とかの話をしているうちって実はあんまり話がおかしい方向に行かないんです。そりゃ重い画面、軽い画面といろいろあるわけですが、総じて画面数の見積って狂いません。画面の数が大体、機能によく相関するからなんですね。ただ、これをもうすこし良くするには、機能をもっと広く捕らえて「ストーリー」にしましょうと。そうすれば、画面がないものも見積に入ってきます。それに「ストーリーポイント」をつけて、これを規模の単位にします。画面数からクラス数やコード行数、ファンクションポイントになった途端に見積が得体の知れないものになる場面をたくさんみましたが、それらのうまくいかない数値化の代わりになる物です。
そして更に重要なのは、ここで機能に対していきなり人月を入れてはいけないということですね。なぜか。そんなもの、やる人によって違うからに決まってます。みんな知ってます。じゃあ、ストーリーポイントからスケジュールにするにはどうするか。プロジェクトチームのペロシティという概念が登場するわけです。イテレーションの中でどれだけのストーリーポイントをこなせるかがベロシティ。そして、これを変動要素だと捉えることが大事ですね。これも目から鱗です。
ある作業の量を「人月」と呼んで、ある人の人月と別の人の人月は違うと、そこまではみんなわかってるんですが、それを計測してるかどうかが問題です。更に言えば、所詮、個々人の作業なんて測定したってそれが複雑に絡み合って全体を形作っている以上、測って意味があるのは、あるチームがある規模の機能をどのぐらいの速度で実装できるか(もちろん、アジャイルですからこのの実装は設計してコードを書いてテストを全て通るという全体を意味します)だということ。
そして、当然のことながらメンバーが決まるまでチームのベロシティは不明です。ですから、プロジェクトの規模をストーリーポイントで見積もっても、それを誰がやるかわかっていない段階ではスケジュールにすることは不可能です。
「それじゃ困る」というかもしれませんが、だって不可能なのは間違いないんです。どうしても必要なら、ベロシティを仮定するわけです。結局、この時点の見積のいい加減さはアジャイルだろうが今までのやり方だろうが本質的には何も変わらない。ところが、この方法が明確に優れていることは、この仮定が正しかったのかどうか実際にプロジェクトが始まったらわかるということです。つまり、ベロシティは測定可能で、継続してウォッチできるということが大事。今までのやり方だと当初の見積で作ったスケジュール通りに作業が進んでいるかはわかっても、そうでない場合にどのぐらい送れていて、今後もどのぐらいの遅れが見込まれるのか全然わからないということです。ただ、バッファを食いつぶしていってハラハラしながらバッファの残りを見守ることしかできません。
アジャイルであれば、もし見積より全然ベロシティが悪ければ(もちろんその原因を調べ改善することはしますが)、そのベロシティに基づいてスケジュールを修正し、今のままではいつまでかかるということがバーンアウトグラフで一目瞭然ですし、スケジュールの終わりで実装する予定だったストーリーを諦めればその分早くリリースできることがはっきりわかってます。これはかなり安心感があります
そうかー、これはかなり合理的な考え方です。そして、今のやり方よりアジャイルだからといって曖昧になることなんて何にもないってことですよ。何か物凄く自分の中に上手く落ち着く考え方です。自分の仕事に上手くフィットするかどうかはわかりませんが、意識してみたいと思います。
「書籍・雑誌」カテゴリの記事
- 誰が勇者を殺したか 勇者の章/駄犬(2025.06.05)
- 仏教は、いかにして多様化したか/佐々木閑(2025.05.11)
- どこまでやったらクビになるか/大内伸哉(2025.05.10)
- 酒を主食とする人々/高野秀行(2025.04.19)
Comments