なぜ不良を検知するためのテストフェーズで、不良が見つけられないのか
細かいことを言い出すと原因は無限に出てきますが、マクロな視点で分類するなら、次の3点に絞られるのではないでしょうか。
①必要なテストが実施されていない
②テスト計画の原資となる「仕様書」や「設計書」が粗い
③何段階かに分けられているテストフェーズによって
品質観点が網羅されていない
必要なテストが実施されていない
①の場合、抜本的な改革から始める必要があります。
もしもテストの要否あるいは可否を決定しているマネージャー、リーダー、エンジニアに明確な意図があったのであれば、それはもう「その決定者ではプロジェクト進行が安心できない」と言うことを意味するからです。この場合、再発を防止するためには
・再教育する
・より優秀な人材と交代する
と言う手段でしか対応できません。当の本人たちに『必要なテストとは何か?』が理解されていないのでは、これ以上まかせてもより良い結果になることはほぼあり得ないからです。仮に理解したうえで、必要な手順がふまれていないのであれば、それはもう確信犯としか言いようがない…ということになってしまいます。
自らが一般消費者になったとき、そのような手続きで販売されていると知って、気持ちよく購入することができるでしょうか。
テスト計画の原資となる「設計書(仕様書)」が粗い
②の場合、開発アーキテクチャやプロジェクトマネジメントに不安が残ります。
再発防止する際には
「何を」
「どこまで」
「どのように」
記述するかを事細かに明確にし、メンバー全員で遵守する必要があります。
もちろんマイクロマネジメントすることが目的ではありません。重要なのは、設計書の書き手(送り手)と、読み手(受け手)のコミュニケーションギャップをいかにして埋めるかと言う点です。
この場合は、
書き手:設計書(仕様書)作成者
読み手:テストケース作成者
となります。この2人(あるいは同一人物)の間で、認識の齟齬が起きないようにしないと、まともな製品を作成することができないことです。失念されやすいのが『同一人物だった場合』の措置があまりにも杜撰なケースです。多くの人は、「同一人物だったら認識がずれるなんてことありえない」と考えているかもしれません。
本当にそうでしょうか?
たとえば2ヵ月前に設計書を作成した時の意図やその背景、その時に理解した流れなどを、一切の抜け漏れなく、全く同じ認識で、100%、完璧に把握しているという自信はありますか?
その自信が揺らいだ時に「当時、どうなってたんだっけ?」と思って設計書(仕様書)を見直そうとしたら、粒度が粗すぎて具体的な対策が打てない…となった時にみなさんならどうしますか?
各テストにおいて品質観点が網羅されていない
そして③の場合、現時点でのテストケースでは摘出可能なはずの不良が流出してしまっていると言うポイントに着目し、是正、再発防止する必要があります。
ただし、原理原則として、全数テストによる100%を求めることは費用対効果を考えても不可能に近いと思っておくとよいでしょう(単純なプログラムなら可能かもしれませんが)。
ですが、観点そのものは100%…すなわちMECE(過不足がない状態)にしておかなくてはなりません。とはいえ、どのようなテストをすることでMECEとなるかは、明確にこの業界の中でも定義されておらず、
企業ごと、チームごと、個人ごと
にそれぞれの考え方を持っているような状態です。
そんな場合でも信ぴょう性の高いテスト観点を持ち出したいのであれば、過去の実績をデータ化し、共有し、流出したポイントが漏れていないことの確認ができる手順を構築すると良いでしょう。