【問題】構成管理 A と B、二つのバージョンを並行開発している。システムを構成するソフトの一部を最新版に更新しようとしたところ、A ではうまくいったが、B ではうまくいかなかった。 調べたところ、当初「親プログラム」に含めて実装していた内部手続き(サブルーチン)を、途中から共有ライブラリにしたことに起因して発生したことが分かった。 なぜ、うまくいくケースとうまくいかないケースが生じたか、考えられる管理上の要因を異なる観点から具体的に二つ、それぞれ 25 字程度で述べよ。 解答 【解答例】 ・構成管理システムから最新版を取得していない。 ・共有ライブラリの変更が構成管理に反映されていない。 ・関連チーム間で共有ライブラリを変更管理していない。 ・共有ライブラリへの変更を理解していない人がいる。 ・変更管理委員会で構成変更による影響分析をしていない。 【解説】 構成管理と変更管理の必要性や本質を把握できているかどうかを問う問題である。構成管理とは、ライフサイクルを通じてソフトウェア作業成果物(ドキュメントやソースコードなど)、および、それ以外のシステムを構成する要素(OS やフレームワーク、データベース、開発環境、場合によってはハードウェアを含むことがある)を識別し、その組み合わせの関係と変化を管理し、特定の時点における追跡を可能とすることである。 構成管理を行うことにより、目的に対して正しいソフトウェア成果物の構成を得ることができるため、取り出しミスや認識の不一致などによる損失や手戻りを防止できる。また、任意の時点の版を再現できるため、障害発生時の現象を再現し、原因を調査しやすくなるなど、大きなメリットがある。 変更管理は、構成管理下の構成要素を変更するためのアクティビティであり、提案された変更要求を吟味し、確実に構成管理システムへ反映することを目的とする。変更要求の吟味に当たっては、影響分析が重要であり、変更要求による既存資産への影響、変更によるリスクや副作用、現在進行中のプロジェクトへの影響などを分析する。 本問題では、考えられる管理上の要因を異なる観点から二つ述べることが求められているので、構成管理上の観点と変更管理上の観点のそれぞれから、本問題を発生させた要因を考察すると、正解に到達しやすいだろう。 「構成管理」、「変更管理」などのキーワードを盛り込んで解答することがポイントである。 一方、教育不足やコミュニケーション不足など、本問題以外にも通用する汎用的な問題点の解答は、出題の意図に対する的確な解答とは言えないため、満点を得られないので注意が必要である。また、うまくいかない原因の都合の良い推定(例:共有ライブラリを設定してはいけなかったなど)は、得点を得られない。 構成管理は、現在のソフトウェア開発では欠かせないものであるため、本問題は高正答率を期待していたが、実際は低かった。構成管理や変更管理について、そのための管理用ツールの活用も含め、現場での実体験を踏まえて正しく理解している方が少ないのではないかと推察する。構成管理および変更管理の目的と効果を再確認し、単に決められたフォルダへ最新版のソースコードを格納するだけのルールで実施できることとの本質的な違いを理解していただきたい。そして、本問題で述べたような事故を未然に防止していただきたい。 |
☞■中級ソフトウェア品質技術者資格試験(JCSQE)に合格しました。
人生100年時代。40代・50代は「人生の中間点」。今を乗り越え新たなステージへあなたが目指すセカンドキャリア・セカンドライフを実現するために今やるべき事