ニュース

【ベリサーブ ナビゲーション2014年夏号】掲載記事「派生開発の世界と検証」No.1

2014.02.25

ベリサーブ ナビゲーション2014年夏号掲載記事

「派生開発の世界と検証」

はじめに
このテーマで複数回にわたり寄稿させていただきます。まずは、派生開発について品質管理の視点から考えていることについてお話します。皆さんもご存知の通りソフトウェアを含むシステムは、要求の多様化に伴って、開発規模が拡大し複雑になっています。その開発環境では、全てを一から開発することは少なく、既存製品を流用したり、ソフトウェアを調達しているケースが多くなっています。一方、派生開発を品質面から見ると、当然でありますが、当初の設計意図と異なる変更が入ることで、ソフトウェアの劣化が懸念されます。派生開発は、如何にソフトウェアの劣化を抑えて開発するかがポイントともいえます。テスト視点でも、製品のマイナーバージョンアップやメジャーバージョンアップに対応することが多いと思います。本稿では、検証現場の視点を入れて、派生開発と検証の関係を説明していきたいと思います。

派生開発とバグ修正の違い
派生開発は、既存のソフトウェアコードを変更することから始まります。ソフトウェアコードを変更することは、開発現場では日常から行われていて、特別なことではありません。例えば、不具合を対応するためにソースコードを変更することは、何の違和感もないかと思います。派生開発と不具合によるコード変更にはどんな違いがあるのでしょうか。

不具合の修正にも派生開発と同じような注意が必要な場合があります。それは要求(ここでは機能要求)との乖離が検出されて、アルゴリズムを含む修正になった場合です。このような修正があった場合は、検証では周辺への影響を考えて回帰テストを実施します。派生開発では、変更要求に対しての影響をシステム全体に広げて考える必要があります。

派生開発と不具合の修正には、異なる点があります。状況にもよりますが、不具合修正では担当する開発者が対象のコードを理解していることが多いのに比べて、派生開発では未経験者(派生開発では、よく無知見と呼ばれます)が対応することも少なくありません。このような背景において、品質を落とさず効果的に開発を進めるために発案されたのが、派生開発に特化した開発プロセスのXDDP(*1)(eXtremeDerivative Development Process)です。

次号では、派生開発の“勇“である、XDDPも含めて説明したいと思います。

(*1)XDDPは、株式会社システムクリエイツの清水吉男氏が提案された開発プローチです。

【関連ページ】

VsAutoStudio

テスト自動化ソリューション