ソフト開発監査の方法(1)監査はプロセスの監査と技術力の監査

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

ソフト開発監査はISO9001とCMMIによるプロセス監査と技術力監査で実施する

ソフト開発監査は、ISO9001第二者監査の方法と CMMI のソフト開発組織の成熟度判定の方法とを組み合わせてプロセス能力を判定する方法に、要件管理・テスト技術・コーディング技術というソフト開発に必要な技術レベルの判定項目を合わせ込んだ、ごった煮状態のグータラ親父流の独自手法 です。

ここまでの記事で、監査の目的と監査の対象という視点でソフトウエア開発監査を紹介してきましたが、その概要がぼんやりとでも見えてきましたでしょうか。この記事ではソフト開発監査についてもう少し知ってもらうために、監査の方法という視点でソフト開発監査を紹介していきます。

技術力はチェックリストに従って確認するので判り易い

監査の対象の記事でも紹介しましたが、ソフト開発監査は開発プロセス開発技術の2つを対象に監査を行います。このうち、開発技術の監査では監査対象の開発組織がその時点でどの程度のソフト開発技術を持っているのかを見極めるために、具体的な技術項目についてチェックリストを元に確認していきます。チェックリストの項目は具体的な内容なので、各々の項目を理解していれば監査を進めるのもそれほど難しくはありません。

もちろん、ソフトの技術はとても広範囲なので全てを網羅するのは無理です、チェクリストに載っているのはごくごく一部の技術領域だけです。ただ、グータラ親父がこれまでに経験して来た問題点の中で、割とよく起きるような言い換えると誰もが失敗し易いような項目を洗い出しているので、ある程度は役に立つだろうと思っています。

開発プロセスはISO9001とCMMIの概要を知っている事が前提

一方で開発プロセスの監査は、ISO9001 と CMMI の方法を組み合わせているので、この両方の方法についてある程度理解していないと戸惑うかもしれません。この記事では、ISO90001 とCMMI の概要を紹介して、それをどの様に組み合わせてソフト開発監査の手法ができているのかを紹介していきます。 最後に、技術監査についても少しだけ触れる予定です。

ところで開発プロセスの監査ってなぜするの?

開発プロセスは日本語で置き換えると開発の手順というのが一番近いです、ですのでソフト開発プロセスとは、要件定義からリリースまでのソフトの開発の作業手順の事になります。

このソフト開発の手順は皆さんもご存じのように色々な手法がありますが、その話はまたの機会としてここでは横に置いておきます。ただ、どんなソフト開発であっても、会社の組織の中でソフト開発を行っている場合には、何等かの開発の手順つまり開発プロセスが決まっていて、そのプロセスに従って開発を進める事になります。

やや乱暴な言い方になりますが、開発プロセスは工程や品質を管理する開発管理を実施するために必要になるので、どの組織でも開発プロセスが決められているとも言えます。実は、開発プロセスが決まっていなくてもソフトの開発はできるのです。しかしそうすると、開発の出来具合が担当者に全面的に依存してしまいまます。良い担当者なら納期までに機能/性能/品質 を満足するソフトが出来てきますが、良く無い担当者だと納期が来てもソフトの姿も形も無い、、、という事態も起こり得ます。

趣味でソフト開発をしているのならこれでも問題ないのですが、仕事としてソフト開発を行っている場合はこれでは困ります。常に安定して良い品質のソフトを予定の納期どおりにリリースするには、開発管理が必要になるので、開発プロセスを決めて開発管理を行う事が重要になってきます。そしてよい開発管理、つまりは工程や品質を最初の計画どおりに作り上げられるような管理を行うには、良い開発プロセスが必要です。

計画通りに良いソフトをリリースして貰うためにプロセスを監査します

ソフトの開発委託先には、工程や品質を計画どおりに作りあげてソフトをリリースして貰いたいので、ソフト開発監査を実施して、その組織が良い開発プロセスを採用しているかどうかを確認します。また必要なら、開発プロセスの改善を依頼してその結果として良いソフトを開発して貰いましょう、とうのがソフト開発監査の目的です。

なんか判ったような判らない様な説明ですが、ぶっちゃけソフトのプロダクト品質を良くする簡単で確実な良い方法(銀の弾丸)がなかなか無いので、ソフトの開発プロセスを良くして、少しでも良いソフトを開発して貰いましょう、という程度だったりもします。。。

そしてこの、プロセスの評価や改善のに使う手法が ISO9001 や CMMI です。どちらも良く似ているのですが、生い立ちや当初の目的が違い、各々がメリット/デメリットを持っています。 ではまずはこの ISO9001 や CMMI について、続く記事で簡単に紹介していきましょう。