ウォーターフォール型プロセスを前提に話すということについて

先日読んだこの記事(テスト計画の立て方 - Qiita)はとても良い内容で、大変勉強になったので感謝したいです。なのですが、本論と関係ないところでちょっと気になったことがあります。今日はそれについて書きます。

上記記事は、V字モデルをなす開発プロセスを前提に書かれています。要するにウォーターフォール前提で考えるということと思います。一般にテスト関係の文書にはウォーターフォール前提で書かれたものがとても多い印象です。ですが、もうその時点で無理があるように僕は感じます。

ウォーターフォールモデルだと、時間をかけて段階的に計画、準備、つまり中間生産物を作っていって、最後にドーンと結合実行するというやりかたになります。これは、上手く行くなら効率が良い。いわゆるフォード式大量生産モデルですね。

でも、そんなにうまく行きますか?現実にそんなに上手く行く例を、私はほとんどみたことがありません。工程は遅れ、工程完了判断は分割して多段的に行わなければならなくなり、できるところから五月雨式に並行作業が続き、時間切れでできない部分が生じ、突貫工事(デスマーチ)となり、場合によっては一部はできずじまい、などということが非常にしばしば起こります。

そういう現実に対して、V次モデルに基づいたテスト計画とか、ピュアすぎて眩しすぎます。余談ですが、いま日経SYSTEMSで連載されている「プロジェクトの測る化」という記事も同じ構造、論理展開で、読むたびにモヤモヤします。

ウォーターフォールV次モデルが理想通り行った場合の考え方は、基本を理解するための純粋理論であって、現場活用のためには、もっと複雑に考えなくてはならないことがあると思います。そのあたりの話はたぶん、懇談会とかで話されているのでしょうが、発表資料や論文にはあまり出てこないので、インターネット引きこもりは頑張らないといけないな、と思う次第です。

スクラムのプロダクトバックログライクな、テストバックログ運用はどうだろうか?

これは頭の中で考えただけで実践経験から言っていることではないので、その程度に受け取って欲しいのですが、スクラムのプロダクトバックログのような、テストバックログというのはどうでしょうか?テストに優先順位を付け、最上位のものから実施していくというやり方です。プロダクトオーナーは、テストの消化をいつやめるかを判断できます。この程度の品質確保でリリースしてよい、という判断がオーナーの責任のもとに可能だとしたら、よいと思いませんか?

追記(12/25)

上記「テストバックログ」の話を12/9の名古屋アジャイル忘年会の場で話してみたところ、「品質を作りこむ」のが先決じゃないでしょうか、と速攻言われました。いつのまにか、僕自身もウォーターフォールに毒されているようです。いやはや。