Quality Architectによる戦略的なテストソフトウェア品質を高めるには(1)

ソフトウェア開発において、最も戦略的でない工程は何でしょうか。多くのエンジニアは、テストを挙げるでしょう。残念ながら、頑張ってはいるものの、いまも多くの現場ではテストを行き当たりばったりに進めているのが現状です。そこで本稿では、テストを行き当たりばったりではなく戦略的に進めるために必要な考え方を、いくつか紹介します。

» 2006年10月27日 12時00分 公開
[西康晴電気通信大学 電気通信学部 システム工学科 講師]

戦略的な品質向上を担うQuality Architect

 戦略的に進めるとは、一体どういう意味なのでしょう。例えば局地的な戦闘のような、個々の局面における目標達成を指しているわけではありません。事業全体における大きな目的を達成するために、すべての局面を俯瞰(ふかん)し、長期的な視野で進めていくことを意味しています。個別最適ではなく全体最適を狙うのだ、といい換えてもよいでしょう。すなわち、行き当たりばったりなソフトウェア開発というのは、個別最適のわなに陥っているのです。

 日本のソフトウェア開発の現場には、すっかりプロジェクトマネジメント(PM)という概念が定着しました。これによってマネジメント力が向上したのは事実です。しかしPMの概念を誤解している現場では、個々のプロジェクトのQCDを達成することだけがPMだと勘違いして個別最適に陥るあまり、組織全体として開発力が疲弊しています。お手軽にコストダウンを進めようと、発注品質を向上せず安易にオフショア開発に手を出し手戻りが多発する、というのも、個別最適による誤謬でしょう。プロセス改善という概念を誤解している推進組織は、標準プロセスへの準拠の強制とCMMIのレベル取りという誤った個別最適に陥ってしまっています。

 品質を向上しようと品質保証(QA)とソフトウェアプロセス改善(SPI)とPMOの組織を設置したにもかかわらず、現場はそれぞれの組織に報告義務を負ってしまい、かえって大変になってしまった組織もあります。能力の高いエンジニアを多く抱えているはずの日本のソフトウェア産業がこれほど赤字やトラブルに苦しんでいるのは、個別最適を狙うあまり全体最適を見失うというわなにはまっているためであると筆者は考えています。

 従って重要なのは、個々の技術力やマネジメント力を向上するだけでなく、戦略的にソフトウェア開発を進め全体最適を達成し、組織全体の開発力を向上することで長期的にコストを低減し品質を向上していくことです。とはいえ全体最適を狙う組織をまた新たに設置したのでは、元の木阿弥です。すべての個別最適はもともと、全体最適を狙う手段として始められたわけですから。必要なのは、組織の構成員すべてが全体最適を狙って行動することであり、そのきっかけとなる役割を開発現場の内部に配置することです。これは各プロジェクトの戦術的成功を支援しつつ、組織全体の全体最適を推進するという高度な作業にほかなりません。この役割を担う人財を“Quality Architect”と呼びましょう。

 Quality Architectは、プロジェクトの品質マネジメント、レビューやテストなどのV&V、プロジェクト内のプロセス改善など品質にかかわる活動を俯瞰的にデザイン・推進し、品質に関する責任を負います。同時に、プロジェクト内の品質達成が組織的な全体最適を推進するような施策を取らなくてはなりませんし、個々の開発技術者が全員参加で全体最適に寄与している感覚を持つよう泥臭い活動をすることも必要です。プロジェクト内の戦略的な品質向上と、組織全体の戦略的な品質向上の2つの活動をバランスよく達成するというミッションを持つわけです。そのためQuality Architectは高い開発力やマネジメント力を備えるだけでなく、有機的に結合させたさまざまな品質技術を俯瞰的な施策と泥臭い活動によって実現するという高い能力を備えていなくてはなりません。品質にかかわる技術者のキャリアの最高峰といえるでしょう。

戦略的なテストによる全体最適の実現

 次に、Quality Architectの視点からテストを眺めてみましょう。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ