ソフト開発監査チェックリスト(18)購入ソフト使用技術

2021年2月17日ソフト開発監査

設計と実装のチェックリストの1つ目は購入ソフトについての確認です

この前後の記事では、ソフト開発監査に使う監査チェックリストの個々の項目についての紹介をしています。監査チェックリストは①開発プロセス ②要件管理 ③テスト ④設計と実装 に分かれていて、この記事では④設計と実装の中の購入ソフト個々の項目について紹介します。(チェックリストそのものは ソフト監査実務・チェックリストその17:開発技術・設計と実装(概要)の記事に載っていますので、そちらをご覧下さい)

内作が減って購入ソフトの比率が増えているのは開発委託先でも同じ

ソフトの規模が大きくなった結果、最近の製品向けソフトの開発では、自社で全てのソフトを開発する事は少なくなりました。その代わりに他社からソフトを購入したり、オープンソースのソフトを組み込んだり、チップベンダの提供するフリーソフトを組み込んだりする機会が増えてきています。

しかし、これらの購入ソフトやオープンソースソフトやフリーソフトも含めて、製品に組み込まれスソフト全体としての品質は、製品を出荷する会社が保証しなくてはいけません。そして、この状況はソフトの開発を委託する委託先でも同じで、当社の委託したソフト開発で全てのソフトを内作しない場合もあり得ます。 のような場合には、購入ソフトやオープンソースソフトやフリーソフトの品質を、どんな手段で担保しているのかはとても大切な確認項目です。

ソフト開発監査でも、設計と実装のチェックリストには、この購入ソフトとオープンソースソフトとフリーソフトについて、品質を確認すうるための項目が作ってあります。それではまず、項目番号が PS- で始まる購入ソフトから紹介していきましょう。

【項目番号:PS-01:】

製品に組み込むために購入するソフトはどうやって決まるのでしょうか? 購入ソフトを選ぶにしても、機能や性能や価格に加えて開発段階での技術支援や製品出荷後のソフト保守など、検討しないといけない項目が結構あります。これらを漏れなく行うには、選定を担当する部門やその部門での選定の方法判断基準が在る程度明確になっている必要があります。そのような購入ソフトを選定する時のルールがあるかどうかに注意して確認してきいます。

【項目番号:PS-02】

製品に組み込むのですからバグが含まれていては困ります。PS-01 では選定の手順や基準について概要を確認しましたが、その中でも特に重要なのは購入するソフトの品質をどうやって確認するのか、とう点です。購入ソフと一言で済ませていますが、大きく分けてソースコードの購入オブジェクトコードの購入に分かれます。ソースコードなら、静的解析ツールを使ったりコードレビューを行ったりという手段も使えます。オブジェクトコードの購入では動的解析ツールやテストスーツによる確認やシステムテストでの確認等の手段があります。ソースコードかオブジェクトコードか、どちらで購入した場合についても、購入したソフトの品質を確認するための決まりがあるのか、という点に注意して確認していきます。

【項目番号:PS-03】

購入ソフトを自社で開発しているソフトに組み込んで行くには、ソフト販売元からの技術サポートが必須ですもちろん、技術サポートが無くても自社のソフトに組み込んで行く作業は可能ですが、ブラックボックスのソフトを相手にしていては、とても作業効率が悪くなります。ですので、一般的には販売元による技術サポートが程度の差はありますが必須です。どんな技術サポートが得られるのか、技術資料の提供、技術教育の提供、質問に対する応答、問題発生時の対策支援、いろいろな方法があるのですが、開発期間をとおしてどの段階でどんな技術支援を得られるようになっているのか、とう点に注意して確認していきます。

【項目番号:PS-04】

ソフトは初版をリリースした後にも、機能追加や不具合修正のためにバージョンアップ版のリリースが続くのが通常です。製品版ソフトの中に購入ソフトがある場合、これらの購入ソフトもまた機能追加や不具合修正のために、バージョンアップが実施されます。 た、製品版ソフトで何か問題があった時には、購入ソフトに起因する不具合なのかどうかの調査も必要になります。

このようなソフトウについての保守サービスを購入ソフトの販売元から受けるには、当然それらの保守内容について取り決めた保守契約が必要です。そのような保守契約が購入ソフトの販売元と締結されているかどうか、という点に注意して確認していきます。

【項目番号:PS-05】

購入ソフトウエアの品質を確認する方法の1つに、市場での稼働実績を確認するという方法があります。出来立てホヤホヤの初版ソフトには、往々にして多くの潜在バグが潜んでいます。市場で何年も使いこなされてきたソフトは、何度ものバージョンアップを経て多くの潜在バグが除去された状態になっている事が多いです。一般にソフトが枯れていく、と言われる事もありますね。あまり詳しい情報は入手は難しいでしょうが、少なくとも使おうとしている購入ソフトが、市場でどの程度の稼働実績を持っているのか、確認するようになっているかという点に注意して、確認していきます。

【項目番号:PS-06】

残念ながらソフトに潜在バグは付き物で、初版ソフトのリリースの後もバグの修正を行ったバグフィックス版のソフトのリリースが続きます。購入ソフトも同じで、自社の製品に組み込んだバージョンでバージョンアップが打ち止めという事はなく、その後もバグ修正版のリリースが続きのが普通です。

自社の製品に組み込んだ購入ソフトでバグ修正版のソフトがリリースされたという事は、購入ソフトのバージョンアップをしない限りは、自社製品の購入ソフトには潜在バグとして残っているという事です。この潜在バグをどう対処するのかの議論も必要ですが、どんな潜在バグがあるのかを知る事がまずは必要です。そのよう購入ソフトの潜在バグを確認する仕組みが用意されているか、とう点に注意して確認をしていきます。

購入ソフトの次はOSS(オープンソースソフト)とフリーソフトの確認です

購入ソフトの確認の次はOSSとフリーソフトについての確認項目について、次の記事で紹介します。

(次の記事)ソフト開発監査チェックリスト(19)OSS/フリーソフト使用技術 に続く