Software Process Assessment(SPA)とは何か?国際標準のソフトウェアプロセス評価を解説

2020年2月29日

Software Process Assessment(SPA)とは

Software Process Assessment(以下、SPAと略記)はソフトウェアプロセス評価と日本語訳されるように、ソフトウェア開発や保守などのソフトウェアプロセスが、どの程度の能力水準にあり、どのようにして継続的に改善されているのかの評価・判定するものです。

なぜSPAが必要なのか?

ソフトウェア開発は多くの場合チームで行うため、通常様々なプロセスを経て1つのソフトウェアが完成し、運用・保守が行われます。
「プロダクトの品質はプロセスの品質から[1]共通フレーム2013、3頁。という格言のように、ソフトウェアの品質も、プロセスの品質に大きく左右されます。
開発を行うスタッフのスキルなども評価されうるべきですが、チーム・組織としてソフトウェアプロセスも評価されていかなければ、より品質の高いソフトウェア開発は望めません。
そのため、SPAによるソフトウェアプロセスの評価が重要になります。

SPAは様々なソフトウェアプロセス評価の総称

SPAは様々なソフトウェアプロセス評価の総称です。代表的なものとしては、以下のものが挙げられます。

  • SPICE(ISO / IEC15504)
  • ISO 9001:2000
  • CMMI

評価の方法

評価の方法としては以下の方法が挙げられます[2]Software Process Assessment – Tutorialspoint

  • 自己評価
  • 第二者評価
  • 第三者評価

簡単にこれらの内容を見ていきましょう。

自己評価

自己評価では自らの組織の中でソフトウェアプロセスを評価していきます。自己評価は組織内で都合を調整しやすく、実施しやすいのがメリットですが、客観性に乏しくなってしまう危険性もあります。
実施の際はできるだけ他のチームメンバーにチェックをしてもらったり、ソフトウェアプロセスを確認する専門のチームを編成するなど、客観性を確保するような取り組みが必要です。

第二者評価

第二者評価ではクライアントにソフトウェアプロセスを評価してもらいます。
最も信頼できるデータかもしれませんが、クライアントに内部事情を話すことになってしまったり、機密事項に触れてしまうことになる可能性もあるため、どこまで評価してもらうかという線引きをしておく必要があります。

第三者評価

第三者評価では、外部組織にソフトウェアプロセスの評価を依頼します。
他の組織であるため客観性が保てるほか、情報の保護が正しく行われている組織に依頼するのであれば内部事情などを話しても大きな問題はなく、実施しやすさと効果の両面が期待できます。ただし、他の方法よりも費用が高くつくことが予想されます。

品質を保つベースラインを定める

ソフトウェアプロセスの評価を行ったら、この活動の締めくくりとして、ベースラインを定めていきます。プロジェクトマネジメント計画書にもベースラインという言葉がでてきますが、意味としては同じで、目標を達成するための基準値のことを指します。
つまり、評価の結果、目標とする品質と現状との乖離が明らかになったら、それを埋めるためにどうすればよいのかを具体的に数値化していきます。
例えば、「○○のようなタスクであればXX日で完了させるようにする」などです。

1共通フレーム2013、3頁。
2Software Process Assessment – Tutorialspoint