ソフト開発監査の事前準備(2)資料入手と組織の把握 

2021年1月20日ソフト開発監査

監査当日の前に相手先から資料を出して貰い社内で内容を事前に確認

監査計画書では日程表の次に監査準備という項目があり、ここに監査当日までに相手の組織から予め提出してもらう資料等が書いてあります。ですので、この部分に書かれた資料を揃える事が相手の会社にとっての監査の事前準備になります。

また、監査を行う側(自社ですね)にとっては、事前に提出して貰った資料の中味を確認して、監査当日に重点的に確認する箇所を選んで置く事が監査の準備になります。 それでは計画書の内容を順番に見て行きながら事前に確認する項目を紹介していきましょう。

相手先に事前に提供してもらう資料で組織概要を把握する

監査をするには、まず監査対象の組織の概要を知っておく事が大切です。数人で開発をしているのか数百人で開発をしているのか、設計とテストは同じ人がやっているのか、事務所は何か所かに分かれているのか、などソフトの開発現場の実情は会社によって大きく異なります。まずは、相手の会社のソフト開発の概要を知るために、いくつか資料を提供してもらいます。

最初に必要なのがソフト開発プロセスの説明文書

まずはその会社のソフト開発プロセス(開発手順)の概要を把握します。ソフトの開発ですので、大まかには企画、設計、コーディング、テスト、リリース、保守 の順番で開発プロセスが進んでいきます。 しかし、これらのプロセスを全て自社で実施している組織もあれば、一部を他社に業務委託している場合もあります。 また、他社から購入したソフトを一部改造して使う場合もあれば、全てをゼロから内作する場合もあります。

各社ともに、自社のソフト開発の形態に一番適した開発プロセスを採用しているはずですので、まずその概要を把握する事が監査準備の第一歩になります。そのために、ソフト開発の全体を表した資料をまず提出してもらい、その内容を把握します。この資料は、開発プロセスの関連図だったり、プロセスフロー図だったり、開発手順書の最上位の規定書だったりと、組織によって表現方法は事なります。

次にそのプロセスを実施する組織の把握

次に、監査をする相手のソフト開発の組織の概要を把握します。組織の規模はどの程度か、言い換えると何人程度のソフト技術者が居るのか、開発拠点は1つなのか複数なのかあるいは世界のあちこちに散らばっているのか、開発チームとテストチームは別々にあるのか、開発管理をするチームや品質管理をするチームは開発チームとは別にあるのか、等のソフト開発組織の概況を理解します。

そのために、相手の会社のソフト開発に関連する部門の組織図と各組織の責任者についての情報を提供してもらいます。ソフト開発は、開発チームの規模によって必要な管理のレベルが変わってきます。数名の小規模な開発チームと数百人の大規模な開発チームとでは、効率的な管理の手法も変ってきます。最適な開発管理の手法が採られているかを判断するためにも、まずは開発組織の規模も含めて概要の理解が大切です。

また、ソフトの品質に責任を持つ部門がどこなのかも、この段階で確認しておきます。組み込み系のソフトの場合には、会社に品質保証部門があっても製造品質した見て居なくて、ソフトの品質は開発部門に任されている場合もあります。そのような点も、この事前の確認で明確にしておきます。

忘れてはいけないのが開発支援環境を支えるツール

開発のプロセスや組織と共に、ソフト開発を支援するシステムやツールに何を使っているのか、も大切な情報ですので事前準備の中で確認しておきます。

ソフト開発は、多くのソフトエンジニアが寄って集って作業を進めるので、色々な管理が必要になります。開発ベースラインの管理、工程管理、レビュー管理、テスト管理、バグ管理、リリース管理、様々なソフト開発管理が作業にブレークダウンされて実施されます。開発を行うエンジニアが3名だけで同じ事務所に集まって作業をしているのなら、EXCELの表を使って管理する事で問題は出ないでしょう。しかし開発作業を行う事務所が複数あったり、海外のソフトハウスに開発業務の一部を委託していたりすると、これらの管理作業を支援するツールが無いと管理が難しくなります。 

開発組織の規模や開発拠点の数によって、必要になる管理支援ツールも変ってきますが、どれが正解というのはありません。しかし、実際にソフト開発を行っているエンジニアは、開発作業の結果から、開発管理に必要な情報をどこかに記録し、管理者はその情報を見て開発の管理をしています。ですので、開発監査の対象組織が開発管理にどんなツールを使っているのかを知る事は、具体的な開発作業の状況を把握するためにも、必要になります。

相手の概要が把握できたら今度は相手先に事前のチェックを依頼する

ここまでの作業は、相手先から資料を貰ってその資料を読んで相手先のソフト開発の概要を把握する事が目的でした。ここまでは主に監査を実施する自社の作業ですが、これと並行して監査を受ける相手側にも、監査の事前の準備を進めてもらいます。具体的には、監査の時に使うチェックリストを事前に渡して、そこに回答を記入して返送して貰うという作業です。具体的な進め方について、次の記事で紹介します。