A-SPICEって意味あるの?プロセスで計測する製品の品質

コラム

現役車載組込みソフトエンジニアのです。
車載ソフトウェア開発現場でサラリーマンとして働く私の視点でA-SPICEについて語っていきたいと思います。念のため宣言しておきますが、私は有資格アセッサーでもなければ品質やプロセスの監査業務の担当者でもありません。そのため、この記事は一人の開発者の視点で論じるものになります。
ぜひ、現場でA-SPICEについて思うところがある人にお読みいただき、ご意見コメントいただけると嬉しいです。



A-SPICEとは

A-SPICEは車載ソフトウェア開発プロセスの標準フレームワークです。またそれを用いた開発プロセスの評価・改善を目的としています。
ちなみにAutomotive Software Process Improvement and Capability dEterminationの略です。…最後のEが無理しすぎ。もともとはEducationだったらしいですね。

A-SPICEの使い道

車両メーカーはサプライヤー(部品メーカー)の開発レベルを監査することで、開発レベルという切り口でサプライヤーが開発するソフトウェア製品の品質を知ることができます。
例えば、車両メーカーが「A-SPICEレベル〇以上で開発した製品を納めてね」とサプライヤーに開発レベルを要求します。するとサプライヤーはその開発レベルに達していることをアセスメント(監査)を受けることで証明し、要求開発レベルに適合した製品をOEMに納める、といったやり取りが一般的です。
その他にも、自らの組織の開発プロセスの健全性を計測するために進んでアセスメントを受けることもあるでしょう。

開発現場の勘違い

A-SPICEは開発プロセスの評価・改善を目的としており、どういった改善をするべきかを導き出す一つの尺度です。ですので初めから要求レベルを達成していなくとも継続的な改善でいずれレベルを達成するということはありますし、むしろそれを目的としています。
(こと私のいる開発現場では)それを大いに勘違いしている人が非常に多く、とにかく顧客から要求されたからレベルを取得するというスタンスや、アセスメントの対策用に後付けで開発資料を用意したりと本末転倒なこともしばしばです。

A-SPICEの必要性を例をあげて考察

あくまで1例ですが、次の2パターンを想定してA-SPICEレベルの必要性を考えてみましょう。

  • A:A-SPICEで規定されたプロセスに沿って設計書をきちんと作りながら開発された製品
  • B:頭の中だけで設計して作り上げた製品(もちろん設計書などは残っていない)

なお、前提としてAとBのそれぞれで開発される製品の品質は変わらないものとします。A-SPICEのレベルを取得できるということは、一定の品質が保証されているといって良いでしょう。しかし、A-SPICEのレベルが取得できていなくても、実は同じレベルの製品を開発することは不可能ではありません。そのためこのような前提が成立します。
同じ品質の製品がA-SPICE関係なく開発できるのであれば、A-SPICEなんて必要ないじゃないか。と、思う方もいらっしゃるでしょう。先に説明した通り、ソフトウェア品質を測定するためという意味ではもちろんA-SPICEは有用です。以下では、それ以外の観点で必要性を考えてみます。
例えば産休や育休、事故や病気で開発現場を離れなければならない人や、そういった事情で離れた人員を補填するために配属された人たちを想定してみましょう。

A(プロセス順守)の場合

Aの場合、途中参入した開発者が現状を把握する際に必要な情報がそろっていますので、開発現場を離れる人は最低限の引継ぎで(あるはそれ無しでも)次の人に仕事を渡すことができるでしょう。こういった環境であれば産休・育休どんな理由でも休みを取ることは難しくありません。

B(プロセス、設計書は担当者のみぞ知る)の場合

Bの場合はどうでしょうか?新たに補填されたメンバーは何がどこまで開発されているのか、進捗も分からなければ誰が関係者なのかすらわからないでしょう。引継ぎは必須となり、その後も直接コードを読むか、他のメンバーに聞いて回るかを繰り返し、非常に時間をかけていくことでしょう。このような状況だと育休・産休どころか有給休暇を取得するにも一苦労でしょう。

ビジネスとして優れているのはどちらか?

こうしてみると、AとBのどちらがビジネスとしての継続性に優れているかは一目瞭然でしょう。品質の安定としてはもちろんのこと、企業としての価値・そこで働く人々の生活の質の面でもAの方が優れていると言えるでしょう。やるべきことがきちんと示されているプロセスと、それに沿った設計書が残されていることは、結果的に働く人を守る仕組みとしても機能すると言えます。

まとめ

A-SPICEはプロセスの出来を図る一つの尺度であり、それを使った間接的なソフトウェア製品品質のモノサシです。
例え瞬間的に目の前の製品の品質を担保できても、規定されたプロセスやそれに基づく設計書なしには、いずれビジネスとしては立ち行かなくなる場面があるでしょう。そういった状況を事前に回避する転ばぬ先の杖として、A-SPICEは意味をもつのではないでしょうか。

コメント

タイトルとURLをコピーしました