COLUMN
コラム
Column 10

システム開発における第三者検証の必要性

システム開発をされている企業のご担当者様とお話した際、

「ウチは開発担当にてテストを実施しているので、別途テストをする必要はない」
「リリース後に不具合があっても、すぐに修正するので問題ない」
「テストで更にコストをかけたくない」

というお言葉をよく耳にします。

メリットや必要性を見出せなければ、そこにコストはかけたくないというのは、企業や担当者として、当たり前のことと思います。

今回は、第三者検証の持つ特性を紐解き、改めてシステム開発における第三者検証の必要性を考えてみたいと思います。

1. 第三者検証とは

第三者検証という言葉は知っていたとしても、「なんのためにやるの?」と、そのメリットや必要性について、あまり知られていないことと思います。

まずは「第三者検証とは何か」というところから見ていきたいと思います。

① 第三者検証の定義

「第三者検証」の一般的な定義としては、文字通り「第三者」が行う「検証」のことで、開発に関わっていない第三者(テスト専門企業またはテストエンジニア)が、対象システムの品質評価・検証・テストを行うことを指します。

それでは「第三者検証」を導入するメリット・デメリットを見ていきたいと思います。

② メリット

まずメリットとしては、下記のようなものがあります。

不具合の発見率が高まる

開発担当者が、自分で作った機能やシステムについて、それを自分でテストする場合、「自分で考えて作ったものだから間違いない。上手く動くはずだ」という思い込みが少なからず働きます。

自分の頭の中でわかっているからこそ、わかっている手順で機能やシステムの操作をしてしまい、それが元で不具合が出ないことがあります。
機能やシステムについて知らない人が操作したときに想定外の手順で操作をし、その際に不具合が出てしまうこともあるのです。

特に、機能が満たされているかの正常系動作より、想定外の操作をした際にシステムが止まるなどの異常系動作にて、不具合が多く検出される傾向があります。

自分で作ったものは、自分では間違いに気づきにくいものです。
レビューにおけるレビュアー、出版における校正者等が第三者検証の立場となります。

開発リソースの効率的活用

開発フェーズにおける基本設計・詳細設計・製造(プログラミング)の工程が、開発担当者のメイン業務となります。開発担当者にテストを全て任せてしまうと、設計や製造(プログラミング)にかけるリソースを損なうことになります。

開発チームとテストチームを分け(開発とテストを企業で分けている場合もあり)、開発の専門家は開発に専念してもらい、テストはテスト専門家に任せることで、開発リソースの効率的な活用が期待できます。

不具合修正コストの削減

システムをリリースした際に不具合が検出された場合、早急な修正対応が必要となってきます。

ただし、実際にそうなった場合、開発した担当者はすでに別のプロジェクトにて開発しており、早急に修正対応をできる人がいないという状況に陥ることがあります。

新たに修正担当者を調達するリソース確保に莫大なコストがかかったり、品質の良くないシステムをリリースしたりすることで、顧客(利用者)の信用失墜にもつながります。

「不具合が出たら、後から直せばいい」という考えは、莫大な不具合修正コストがかかる可能性や、信用失墜からの取引停止となる可能性があり、非常にリスクがあるとも考えられます。

最近はクラウドのシステムが多く、修正したものがすぐに反映される環境は整っていますが、一度落とした信用を回復することは困難です。

そのようなリスクを回避するためにも、第三者検証を活用して初期段階で品質の高い製品をリリースすることが、長い目で見て重要と考えられています。

③ デメリット

次はデメリットです。

別途コストが発生する

第三者検証を導入していない場合、そのメリットや必要性を実感するのは難しく、単にコストがかかると思われる傾向にあります。

こちらについては、コストを上回るメリットや必要性があることを後述いたします。

2. 第三者検証の必要性

例えば、家を建築する場合、

  • 旦那さんは「書斎が欲しい」
  • 奥さんは「広いキッチンが欲しい」
  • 子どもは「自分の部屋が欲しい」

との希望があり、その希望を全て満たして建築業者が家を建てた場合、

「ドアに鍵がついてなかった」
「トイレがなかった」

というようなことが、システム開発ではしばしば発生します。

顧客(利用者)の希望を踏まえて要件定義をして開発しても、実際の利用状況や運用方法を考慮して作られていないことがあるのです。
特に防犯(セキュリティ検証)、わかりやすさ・使いやすさ(UI・UX検証)などで発生する傾向があります。

システム開発における「品質が高い」ということは、

① 求める機能が満たされている
② 不具合がない

だけではなく、

③ 顧客(利用者)の満足度が高い

ということも品質の基準として考慮する必要があるのです。

開発の上流工程からテスト専門家が要件定義に関わることで、実際の利用状況や運用方法を考慮した要件定義が可能となり、開発中の手戻りやリリース後の修正コストの削減につながります。

また、リリースしたシステムで顧客(利用者)の満足度が高いと、現在主流となっているサブスクリプションサービスでは「継続的な契約」が見込まれ、売切型システムであっても「次回開発時の企業選定の優位性」「継続的なシステム開発の受注」を得られることになります。

リスク回避をしつつ、次回開発の受注等プラスの効果やメリットを考えた場合、システム開発に第三者検証を導入することについて、十分に価値があるものとイメージできるのではないでしょうか。

顧客(利用者)満足度も含めた品質の高いシステムを作るためにも、第三者検証が重要となっております。

3. まとめ

一般的によく売れている製品、継続的に長く利用されている製品については、わかりやすさや使いやすさなど顧客満足度の高いものがほとんどです。

機能が満たされて不具合が少ない、というだけでなく、顧客満足度という視点からも品質を見た場合の第三者検証を導入するメリットをご理解頂けたら幸いでございます。

以上、システム開発における第三者検証の必要性についてのお話でした。

関連資料・関連リンク

ページトップへ戻る