ソフトウエアの品質2007/07/01

飯田雄一
システム開発部 主任
こんにちは、システム開発部の飯田と申します。
このコラムでは、私が日々の業務の中で学んだことや考えていることなどを伝えていきたいと思います。
今回のテーマは「ソフトウエアの品質」についてです。
多発するシステム障害
昨今、システム障害が後を絶たなく頻繁にニュースなどで取り上げられています。
このような現状を見れば、いつ、どこで、システム障害が起きても不思議ではない状況です。
これらの原因は、プログラムのバグや製品の不具合、性能問題、オペレーションミスなど様々ですが、
システムの品質に問題があったことに変わりはありません。
大きな社会問題になっているだけに、一刻も早く我々エンジニアは品質改善に取り組む必要があります。
ISO/IEC 9126は、ソフトウエアの品質を機能性・信頼性・使用性・効率性・保守性・移植性の6つに分類しています。
ただし、これはあくまで品質の概念を示したものにすぎないので、実際には具体的な品質改善活動を自分たちで考える必要があります。
品質改善に向けた取り組み
それでは、私のプロジェクトの取り組みをご紹介します。
現在、私はある通信業のシステム開発プロジェクトに携わっています。
そこでの品質管理の方針として、開発時の各工程にて品質基準を定め、各開発工程の品質管理を行うこととしています。
各工程にて定めた品質基準を基に、プロジェクト責任者(品質管理責任者)が該当開発工程の終了可否を判断します。
品質目標値として、テスト密度やバグ密度などの指標値も各工程ごとに定められています。
また、各工程の終了時点でレビューを徹底しています。 レビューの視点には大きく「プロセス」と「プロダクト(成果物)」の2種類があります。 前者は開発手順に問題がないかどうか、後者は成果物に欠陥がないかどうかを評価します。
各工程ごとにチェックシートが用意されていて、レビューアによって大きな差異がないようにレビュー観点が定義されています。
コードレビューなら設計基準やコーディングルールを守っていることを確認し、テスト仕様レビューならソフトウエアが仕様書通りにテストできることを確認したり、ゼロ割などのプログラム・バグを検出できるテストであることを確認します。
現在の開発は既存システムの改修が多いので、テスト項目には必ずデグレードの項目があります。
レビュー後はレビュー記録票に記録し品質情報を収集し、それらを元にチェックシートの見直しも随時行っています。
レビューを徹底することにより品質を確保することができ、お客様からも満足していただいています。
