WRブログ

ソフトウェア品質改善とは?


ソフトウェア品質改善という言葉は広義で、明確に定義されているわけではありませんが、どのプロジェクトにおいても開発するソフトウェアの品質は向上させていきたいものではないでしょうか。

ソフトウェア品質を向上させるためにどうすれば良いのか?を考え、開発プロセスの見直しや、バグ分析など様々な試みをプロジェクトやグループで活動することが品質改善となると考えられます。
■ソフトウェア品質改善の具体的な活動例
ソフトウェア品質改善には、例えば以下のような活動があげられます。

●バグ分析
バグがどういった原因で発生したのかを分析し、どこで混入されてしまったか、どのモジュールで発生しているのかなどを見つけ出します。
そこで得られた分析結果から、バグ発生のメカニズムやパターンを特定し、バグ混入を防ぐような対策を実施します。

●レビューの適切な実施
例えばサイクロマチック複雑度を求めて、複雑度が一定値を超えるような場合にコードレビューを実施するように徹底し、複雑度が小さくなるようにリファクタリングすることなどがあげられます。
■ソフトウェア品質改善のむずかしさ
多くの場合、上に挙げたような活動をしてもすぐに結果が出るとは言い切れません。
なぜなら、品質改善活動は組織で進めていく必要があるため、誰かに押し付けられるような改善は受け入れられがたい側面があったり、やってみたはいいけど効果が見えないと継続されずにいつの間にか終わっていってしまう。
そういったことが起こり得るからです。

品質改善をするためには、個々人が思い思いに活動するのではなく、組織内で同じベクトルを向いて、解決すべき問題を見つけ、それを根気よく継続的に、組織で改善のサイクルを回していく風潮をつくることが大事です。
■ソフトウェアテストとの関係性
品質改善=ソフトウェアテストではありませんが、関係性はとても高いと言えます。
簡単に言ってしまうと、品質改善をするということは適切なタイミングでレビューやテスト、ドキュメント作成などを実施することです。
つまりは、時間がないからと飛ばされがちな工程をしっかり管理・実施するということに尽きるのではないでしょうか。

テストも軽視されがちな工程のため、品質改善と密接な関係を持っています。
■ソフトウェア品質改善のポイント
品質は上流工程で作りこんだほうが手戻り工数が少なくてすみます(特にウォーターフォールモデルの場合)。
そして、品質を作りこむには早い段階からテストチームが一緒になってドキュメントレビューをしたり、テストを実施することなど、開発のサポートをすることで品質改善に寄与することもできます。

【参考】
弊社がソフトウェア品質向上を実施するにあたり、上流工程で行っている2つの重要なポイント(ドキュメント検証、レビュープロセス改善)についてまとめた資料もございます。

【無料DL!】ソフトウェア品質向上ガイドBOOK

■品質改善に銀の弾丸は無い
開発組織のどこに問題があるかを分析し、そのための対策を実施して、「結果」ではなく「プロセスを重視」していくような意識を持った組織を作り上げていくことが結果的に品質改善につながります。

ウェブレッジは、経験豊富なテストエンジニアを中心に、品質改善に寄与する様々なソフトウェア第三者検証サービスを提供しております。
テスト設計〜テスト実施・テスト自動化などの機能検証をはじめ、ユーザビリティ検証・脆弱性診断・負荷テストなどの非機能検証まで幅広く「品質」を軸にサービスを提供しております。

もし、品質改善に関してお悩みやお困りごとがあれば、是非ご相談下さい。