【問題】
ソフトウェア開発の要求を決めるときにステークホルダーを識別すると、開発の手戻りを防ぐと言われている。ステークホルダーの識別による利点を異なる視点から二つあげ、具体的なステークホルダー名に言及しながら、25 字程度で述べよ。
[wpex more=”解答” less=”隠す”]
【解答例】
(1)視点例 1:要求内容の相違や矛盾が見つかる
解答例 1-1)運用者とエンドユーザーの利害対立を明らかにできる
解答例 1-2)企画者と開発者による要求内容の食い違いを明確にできる
(2)視点例 2:見落としがちな要求が見つかる
解答例 2-1)特殊なエンドユーザーごとの要求をそれぞれ明確にできる
解答例 2-2)様々な社会的制約など見落としがちな要求を明らかにできる
(3)視点例 3:要求のバリエーションが見つかる
解答例 3-1)経営者と利用者がそれぞれ持つ要求を明確にできる
解答例 3-2)熟達度で層別した利用者ごとの要求を明らかにできる
【解説】
本問題は、要求を抽出する上で重要な、ステークホルダー識別という技法を適切に使用できるかを問う問題である。
開発するソフトウェアに関係を持つ、様々なステークホルダーを識別することによって、それぞれのステークホルダーが持つ要求を漏れなく抽出できる。また、ステークホルダーが明示的に意識している要求だけではなく、意識していない要求も効果的に抽出することができる。要求が適切に抽出されないまま開発を進めると、設計の全面的なやり直しなど、時には致命的な手戻りが発生する。
ステークホルダーには、利用者、運用者、開発者、保守者、外部インターフェースを持つ当事者、規制団体など、様々な個人や組織がある。また、開発するソフトウェアに関わる、法律、規約、習慣などもステークホルダーである。
ステークホルダー間の利害は対立することがあるため、ステークホルダーを適切に識別することによって、ステークホルダー間の関係や、ソフトウェアに関与する度合いを調べ、ステークホルダーの影響度や重要度を分析していくことが重要である。
発注者と受注者の間に見られるような直接的な利害対立だけではなく、様々なステークホルダーに関する多様な要求内容を適切に見極めることが大切である。例えば、近年、コンプライアンスの重要性が高まる中で、開発するソフトウェアに関わる法規を識別することも肝要である。[/wpex] |
【問題】
ある製品のソフトウェア開発を派生開発で行っている。この製品は機能の組合せによって複数の機種(バリエーション)があり、シリーズ化されている。また、機種ごとに機能の一部に違いがある。
今回、製品のフルモデルチェンジを機に、以後のソフトウェア開発の生産性の向上及び品質の確保を図るために、既存のソフトウェアを資産化する方針を立てた。
ソフトウェア資産の再利用を促進する上で重要な観点を三つあげ、それぞれ 50 字程度で述べよ。
[wpex more=”解答” less=”隠す”]
【解答例】
①ソフトウェア資産を再利用する方式へと移行したときに生産性や品質に問題が生じないか予備調査を行う。
②製品のシリーズ構成とその機能を見直した上で機能の可変性分析を行い、共通機能について資産化する。
③開発対象機種のフィーチャを指定すると、資産の組合せでソフトウェアが派生されるアーキテクチャを採用する。
④ソフトウェア資産のテスト項目も資産化し、その自動テストが行える環境を整備することで資産の再利用を促進する。
⑤各機種での資産の利用事例やノウハウを収集して再利用ガイドを作成し、正しい再利用を促し、誤った再利用を防ぐ。
⑥各機種開発でのソフトウェア資産の再利用状況を追跡し、生産性と品質の効果を測定し、資産の改廃計画に活用する。
【解説】
問題の狙い:
複数機種のバリエーションがある中でのソフトウェア資産化と、その再利用促進のために組織的に実施すべき事項を問う問題である。
その際、資産化によって十分な効果が見込めることを分析する必要がある。また、再利用計画を立案し、ソフトウェア資産の開発、維持、利用といったソフトウェア資産管理を行う必要がある。
このような一連のプロセスを踏まえた上で、再利用促進のために必要な施策を問うている。
解答のポイント:
既存のソフトウェアを資産化して再利用するにあたっては、まずは、その施策により本当に効果が見込めるかどうかの評価が必要になる。ビジネス環境の変化、技術トレンドの動向、ソフトウェア資産を維持管理するための組織体制の確保など、様々な観点からの検討が求められる。
資産化対象の切り出しにあたっては、機種シリーズを踏まえた機能の可変性分析を行い、必要であれば機能の統廃合といった見直しを行う必要がある。現行機種が保有する機能をそのまま流用することを前提とすべきではない。
資産化の対象はソースコードだけではなく、関連ドキュメントやテスト項目、さらにはノウハウなども含まれる。こうした資産を組織的に蓄積することで、ソフトウェア資産の再利用が促進される。加えて、ソフトウェア資産を再利用しやすくするための技術的施策(製品アーキテクチャ、自動テスト環境など)も有効である。
ソフトウェア資産を決めたら終わりというものではなく、ソフトウェア資産の維持管理計画を立案し、再利用の効果を測定し評価することが求められる。期待通りの効果が得られていない場合には、問題を分析して原因を特定し、再利用促進のための組織的な施策を行う必要がある。問題文では「ソフトウェア資産の再利用を促進する」ことを問うており、ソフトウェア再利用に関わる技術的側面だけでなく、組織的・管理的側面も考察してもらいたい。
不十分な解答の特徴の例:
・共通部分の切り出し方法などソフトウェア資産化の方法に解答が偏っていて、再利用の促進に関する記述がないものは不十分な解答とした。
・問題文の文脈と関わりのないソフトウェア開発を対象にした、再利用に関する一般論を述べているものは不十分な解答とした。[/wpex] |
☞■中級ソフトウェア品質技術者資格試験(JCSQE)に合格しました。