プロジェクト管理 悲喜こもごも⑥ ~品質管理の考え方~
【執筆者プロフィール】
こんにちは! 株式会社福岡情報ビジネスセンターの高村です。今回は「品質管理の考え方」について話してみようと思います。
<前回記事>
プロジェクト管理 悲喜こもごも⑤ ~コミュニケーション計画~
品質管理の考え方
昔から、「品質は上流工程から作り込め」と言われてきました。これはテストで不具合を取り除くのではなく、生産プロセスで品質を作り込み、未然に不具合の発生を防げということです。また、下流工程での手戻り工数は上流工程での手戻り工数の何倍にもなります。要件定義フェーズで詰めておくべき要件が1つ漏れていた場合に、要件定義フェーズ段階でやり直す工数に比べ、プログラム製造まで完了していた場合の手戻り工数はその100倍以上になることもあります。
「品質は上流工程から作り込め」というのは、こういうところからきてるんですね。では、上流工程、下流工程でどうやって品質を作っていくのでしょうか。
上流工程における品質の作り込み
要件定義~基本設計~詳細設計、プログラム製造より前の上流工程では、テストなどはできませんので、有識者によるレビューが品質を作り込む手段となります。ウォークスルーやインスペクションで、成果物のレビューを行ない品質を作り込んでいきます。
レビューすることによって曖昧な仕様などを残さないようにすることが重要となります。 そして、要件定義や基本設計については、お客様に内容を理解してもらい、押印をいただいておくとよいでしょう。特に要件定義ではスコープを明確にしてお客様と合意しておきましょう。
下流工程での品質の確保
プログラムができたら、それ以降はテストによって品質を作り込みます。単体テスト・結合テスト・統合テスト・システムテストなどです。
また、プロジェクトの早い段階で全体のテスト計画をたて、どのテストでどのようなテストをやるのかなど、テスト全体の方向性や進め方のアウトラインを整理しておくとよいと思います。
ここまでのまとめ
下流工程での手戻りは上流工程での手戻りの何倍もの工数がかかりますので、品質は上流から作り込むようにしましょう。そして、上流工程ではレビューにより、下流工程ではテストによって品質を作り込みます。
また、上流工程では品質を下げないように、下流工程では品質を上げるようにすることがポイントです。
品質とは?
では、そもそもシステム開発においての品質って何でしょうか。不具合が少ないこと?使い勝手がよいこと?もちろんこれらも品質ですが、我々みたいなベンダーが最も大事にすべきは「お客様」です。お客様の要求を満たすこと、お客様にとっての価値、これが『品質』となります。いわゆるお客様満足度となります。
時々あることなのですが、非機能要件や例外処理の考慮が漏れることがあります。特に非機能要件については、仕様書には書いてなかったりしますので、仕様書のまま、開発したりテストを実施すると漏れてしまうのです。漏れないようにするには、どうしたらいいのでしょうか。
ユーザー目線
品質管理でとても重要なことは、常にユーザーの要求は何かを意識しておくこと、ユーザー目線で考えるということです。仕様書には書いていないけれども、あってはいけないことがあります。
例えば、何かの一覧照会機能において、抽出条件入力後に一覧が表示されるまでに数十分かかってしまうなどはあってはならないことですよね。このように仕様書には書いていなくてもあってはいけないことというのがあります。そうならないようなプログラムにしないといけませんし、そうならないという確認(テスト)も必要です。そうでないと、使い物にならない機能を提供してしまい、ユーザーに大きな迷惑、失望感を与えてしまします。そうならないように、「常にユーザーの要求は何かを意識しておくこと」がとても大切です。
人間関係でも同じだと思いますが、相手の立場になって考えるようにすれば大抵は揉めることなくうまくいきますよね。今回はそういうお話でした。最後まで読んでいただき、ありがとうございました。