Updates

新着情報

コラム

問題解決管理プロセスと変更依頼管理プロセスを両立させるために

はじめにシステム開発/ソフトウェア開発は、一度作って終わりであることはまずありません。日々発生する不具合やトラブルへの対応と、顧客からの変更要求の対応や将来を見据えた改修の積み重ねによって支えられています。その中核を担うのが「問題解決管理プロセス」と「変更依頼管理プロセス」です。Automotive SPICEでは、支援プロセス「SUP.9」と「SUP.10」として定義されています。似ているようで役割の異なるこの2つを正しく理解し、連携させることが、システム開発/ソフトウェア開発プロジェクトの混乱と疲弊を避ける鍵となります。今回は「SUP.9」と「SUP.10」を両立させるヒントをお伝えします。 問題解決管理プロセスと変更依頼管理プロセスのおさらい問題解決管理プロセス:再発を防ぐための“根本治療”問題解決管理プロセスの目的は、単なる不具合対処や障害復旧ではありません。表面化した不具合や障害の背後にある真の原因(根本原因)を特定し、再発を防止することにあります。場当たり的な対応を繰り返していると、「同じ不具合が何度も起きる」「現場が疲弊する」といった悪循環に陥りがちです。問題解決管理は、なぜ起きたのかを構造的に分析し、恒久対策を設計するためのプロセスと言えるでしょう。それゆえ、SUP.9:問題解決管理プロセスでは、「問題が他のシステムや関係者に影響がある場合に通知」して、類似問題の発生を抑制したり、「データを収集&分析し、傾向」を把握することで再発防止策を講じることが期待されています。変更依頼管理プロセス:リスクを制御しながら前に進む一方、変更依頼管理プロセスは、システムやソフトウェアの変更を秩序立てて、安全に、確実に実施するための仕組みです。変更は、改修や価値創出に不可欠ですが、同時に新たなリスクも伴います。影響範囲の評価、承認フロー、実施計画、リリース後の確認といったステップを踏むことで、「適切に変更を実装する」と同時に「良かれと思った変更が別の問題を生む」事態を防ぎます。それゆえ、SUP.10:変更依頼管理プロセスでは、「変更する作業成果物や他の変更依頼との関連を含めて分析」し、「実装前に、分析結果とリソースの利用可能性に基づいて優先順位を付け、承認」することが期待されています。 混同されがちな2つのプロセス開発現場では、「問題が起きたから変更する」「変更したら問題が起きた」という事象が発生すること、また、「どうせ変更するなら手続きは共通化したい」という理由から、両者が混同されることがあります。しかし本来は役割が異なります。 問題解決管理:なぜ問題が起きたのかを突き止める 変更依頼管理:対策や改善を、リスク管理しながら実装するつまり、問題解決管理の“アウトプット”として検討された対策が、変更依頼管理プロセスに引き渡される、という関係が理想です。仮に、両プロセスを共通の手続きに押し込んでしまった場合、原因分析や再発防止策の検討が、変更内容の検討と混同され、本来、問題解決管理でやるべき目的が希薄になる可能性が高まります。その結果、「問題」が「単に、作業成果物を変更するイベントの1つ」という誤解が生じ、「再発を防ぐための“根本治療”」ができなくなってしまいます。 成熟した組織が実践していることSUP.9とSUP.10をSUP.8:構成管理プロセスと合わせた関係図は以下になります。不具合や障害などの問題が発生した場合、その情報を問題管理データベースに登録後、内容を調査し、原因や影響を分析します。原因が、自分たちの開発対象であれば、変更する必要がありますが、テスト環境や関連する他システムに起因する場合もありますので、変更の必要がないケースもあります。原因&影響分析の結果、変更が必要な問題であった場合、変更依頼管理票を起票し、その情報を変更管理データベースに登録し、変更管理していきます。問題管理と変更依頼管理を別々のデータベースとして管理していきたいのは、繰り返しになりますが、その役割が異なるからです。 問題解決管理:なぜ問題が起きたのかを突き止める 変更依頼管理:対策や改善を、リスク管理しながら実装する例えば、JIRAのようなチケット管理システムで両者を実現する場合でも、登録したい情報(フィールド)は異なりますので、チケットタイプは別々に定義して管理していきます。これらの情報は、単に、今起きている問題や変更への対応だけを考えると、「面倒だから記録したくない」「修正すれば良いので、適当な文章で書いておけば良い」など、疎かな活動になりがちです。しかしながら、我々のお客様でも「情報が正しく書けていないため、後になってみても、状況を理解できない」というような声を聞きます。特に、問題対処に変更を重ね、変更した箇所に更に問題対処を加えるソフトウェア開発では、記録する情報の正確性が重要となります。これら両プロセスをデータは、関連づけること、どの問題が、どの変更によって解消されたのか。逆に、どの変更が新たな問題を生んだのかを明らかにしておきます。こうした可視化が、組織の学習速度を高めます。変更依頼管理に基づき、実際に作業成果物に変更を加えていく場合は、SUP.8:構成管理プロセスの仕組みを利用することになるのです。 おわりに車載開発に限らず、システム/ソフトウェア開発では、問題解決管理プロセスは“守り”、変更依頼管理プロセスは“攻め”と表現されることがあります。しかし実際には、どちらも組織を前進させるために欠かせない車の両輪です。トラブルに強く、かつ変化を恐れない組織を目指すために、今一度この2つのプロセスの関係性を見直してみてはいかがでしょうか。 内山哲三

コラム

ソフトウェア開発組織をどう評価するか ~エンジニアリングチーム全体を評価し、組織改善につなげるために ~

はじめにソフトウェア開発組織の改善を進めるうえで、 「何をもって良い組織と言えるのか」、「改善の効果をどう測るのか」は常に悩ましいテーマです。組織のエンジニアリングチームは「うまくいっているのか」,「何がボトルネックなのか」を感覚だけで語ることの限界を感じたことはないでしょうか。ソフトウェア開発は個人プレーではなく、プロセス・ツール・人の協働によって価値を生み出すチームスポーツと言ってもよく、改善の単位も「個人」ではなく、エンジニアリングチーム全体で捉える必要があります。 本コラムでは、開発組織評価の代表的な枠組みである、以下のの3つを取り上げ、 それぞれの役割と、どう組み合わせて活用すべきかを解説します。 SPICE(プロセス成熟度) DORAメトリクス(デリバリーパフォーマンス) SPACEフレームワーク(人とチームの状態) 評価の前提:目的は「管理」ではなく「改善」最初に確認しておきたいのは、 評価は人やチームを序列化するためのものではないという点です。評価の目的は、 現状を正しく理解する(チームの強みと弱みの理解) 課題やボトルネックを可視化する(課題/ボトルネックの特定) 改善施策がチームにどのような影響を与えたかを確認する(効果を検証) エンジニア同士やマネジメントとの対話を深める(建設的な対話を促す)といった、継続的改善を支えることにあります。この前提を共有しないまま指標だけを導入すると、数字を守ること自体が目的化し、現場の疲弊を招きかねません。 SPICE:プロセス成熟度の評価SPICE(ISO/IEC 330xx) は、ソフトウェア開発プロセスの能力(Capability)を評価する枠組みです。要件定義、設計、実装、テストなどの工程が一定の成熟度レベルで統制されているかを測定します。SPICEで評価できること プロセスが標準化・管理されているか 組織内で再現性のある開発が実現できているか 継続的改善が文化として根付いているかSPICEの成熟度レベル(例) レベル 1:実行されているが管理されていない レベル 2:管理され、最低限のプロセスがある レベル 3:織標準プロセスが定義されている レベル 4:プロセスが定量的に管理されている レベル 5:プロセス改善が組織的に推進されているSPICEで利用できる具体的な評価指標の例プロセス運用に関する指標 要件レビュー実施率 変更管理プロセス遵守率 リスク管理票の更新頻度 プロジェクト計画の逸脱率(進捗・工数など)品質管理に関する指標 工程別の手戻り件数(要件→設計・設計→実装 など) レビュー指摘の再発率 テスト計画と実績の乖離率SPICEの指標は、プロセスが安定して回っているかを確認する際に非常に有効です。一方で、SPICEは人の心理的状態やチームの疲弊まではほとんど扱いません。 DORAメトリクス:デリバリーパフォーマンスの評価DORA(DevOps Research and Assessment)は、開発チームのパフォーマンスを測定するための指標群です。Google Cloud が主導する大規模調査に基づいており、“高いパフォーマンスを出すチームが共通して持っている特徴”として知られています。DORAの4つ主要指標(Four Keys) デプロイ頻度価値をユーザにどれだけ頻繁に届けられているか 変更リードタイムコード変更が本番環境に届くまでのスピード 変更失敗率リリース後に発生する障害の割合 復旧時間(MTTR)障害発生時の復旧までの時間DORAで使える具体的な評価指標の例 自動テスト実行率 CI/CD パイプライン成功率 プルリクエストの平均レビュー時間 リリースごとのバグ発生率これらは、スピードと安定性を同時に捉えられる点が特長です。 SPACE:人とチームの「状態」を可視化SPACEフレームワークは、Microsoft Research や GitHub などの研究者によって提唱された、 開発者生産性を多面的・人間中心に捉えるための枠組みです。SPACEの5つの観点 S:Satisfaction and Well-being(満足度・幸福度) P:Performance(成果・品質・価値) A:Activity(活動量) C:Communication and Collaboration(協働) E:Efficiency and Flow(効率性とフロー)SPACEの特徴SPACEは「この指標を使うべき」という規範的モデルではありません。組織のコンテキストに応じて、適切な指標を選び、組み合わせて使います。特に重要なのは、以下のような、DORAやSPICEでは見えにくい側面を補完できる点です。 数値改善の裏でエンジニアが疲弊していないか コミュニケーションが滞っていないか 割り込みが多く集中できていないのではないかDORA・SPACEだけでは測れない評価の視点(補足)フロー全体を見る指標 サイクルタイム WIP(仕掛かり作業数) フロー効率これらは SPACE の Efficiency and Flow を具体化したものです。チームが「どこで詰まっているか」を明確にします。 技術的健全性 技術的負債の増減 静的解析違反数 依存関係の陳腐化短期的な成果には表れにくいものの、 将来のパフォーマンスに大きく影響する要素です。 SPICE・DORA・SPACEの使いわけ組織/チームの改善では、SPICE・DORA・SPACEを必ずしも同時に評価する必要はありません。重要なのは、「いま何を知りたいのか」に応じて使い分けることです。①DORA:「何が起きているか」を知る改善の出発点として有効なのが、DORAメトリクスです。・リードタイムが長い・デプロイが滞っている・障害対応に追われているといった、チームの成果としての状態を客観的に把握できます。ただし、DORAが示すのはあくまで「結果」であり、なぜそうなっているかまでは分かりません。②SPACE:「チームの状態はどうか」を確かめるDORAで気になる結果が見えたら、次に見るべきは チームの状態です。SPACEフレームワークを使うことで、・無理をして改善していないか・コミュニケーションは機能しているか・集中して開発できているかといった、数値に表れにくい側面を確認できます。SPACEの役割は、改善がチームにとって健全かどうかを見極めることです。③SPICE:改善を「再現できる仕組み」にする最後に問うべきなのが、「このやり方は、チームの力として定着するか?」という点です。SPICEは、以下のような、チームを支える土台を評価します。・やり方が個人に依存していないか・プロセスが暗黙知になっていないか・改善が継続できる仕組みになっているか④改善では「流れ」で使うSPICE・DORA・SPACEは、次の順で使うと分かりやすくなります。改善後は再び DORA を確認し、この流れを繰り返します。   おわりに組織/エンジニアリングチームの評価は“目的”ではなく、“組織を強くするための手段”です。また評価指標は、エンジニアリングチームを縛るためのものではなく、チームと向き合い、より良くするための共通言語です。SPICE、DORA、SPACEを適切に組み合わせて得られた情報をもとに、 「なぜこうなっているのか」 「何から改善すべきか」  「人は無理をしていないか」を対話して共有化することが、重要です。評価を武器にするのではなく、 学習と改善を支える補助線として使うこと。それが、健全で持続可能なソフトウェア開発組織につながると考えます。 (佐藤崇)

B'zine

B'zine - 2026年2月号(構成管理の基本の「き」 など)を発行しました

B'zine 2月号を発行いたしました。動画版(約2分)も公開していますので、弊社公式YouTubeより是非ご視聴ください。https://youtu.be/UrJ9gq2mBJU     B'zineは、1回/月のペースでの配信しています。ご興味のある方は、ここから登録をお願いいたします。   B'zineビジネスガレージ通信(2026年2月号) B'zine 2月号をお届けします。太平洋側では乾燥による火事多発や取水制限のニュースが続いていました。ようやく待望のまとまった雨が降り、少し安心しましたが、まだダム貯水率はほとんど改善していないようです。もうすぐ春の行楽シーズン到来ですので、花粉対策や安全運転に十分留意され、観梅、観桜をお楽しみください。 【今月のトピックス】 イベント:第8回 ビジネスガレージオープンWebinar開催(2026/3/31) コラム:構成管理の基本の「き」~当たり前なことが難しい~ コラム:同じ失敗を繰り返さないプロジェクト管理 ─ 再発防止の実践ポイント 動画公開:なぜその要求は誤解されるのか?~ EARSで考える要求定義 ~ 【イベント】 2026年3月31日 Webinar(予定):AIを活用した次世代要件分析プロセスの考察生成AIを活用したEARS形式の要求仕様作成手法を考察します。またAIを活用することで、従来手作業で実施していた要件分析プロセスが、どのように変更されるかを考えます。お申込みフォームは後日公開いたします。 今回のテーマ設定の背景 システム要求分析の基本フロー システム要求分析の生成AIを活用してみた 考察 最後に 【動画公開】 なぜその要求は誤解されるのか?先日開催した、「第7回 Webinar なぜその要求は誤解されるのか?~ EARSで考える要求定義 ~」の動画を、弊社公式 YouTube チャンネル に公開しましたのでお知らせいたします。ぜひ、ご視聴ください。詳細はこちらから→https://youtu.be/TbEu9Jwk5Ww 【コラム】 構成管理の基本の「き」~当たり前なことが難しい~システム開発/ソフトウェア開発の現場では、日々多くの変更が行われています。機能追加、バグ修正、設計変更。そのすべてがソースコードやドキュメントに影響を与えます。この変化の連続を“管理された状態”に保つための仕組みこそが 構成管理(CM) です。今回は、Automotive SPICEのプロセスの1つである、SUP.8:構成管理の基本について、IEEEなどの国際標準も交えて解説します。詳細はこちら→https://www.bgarage.co.jp/news/1725/ 同じ失敗を繰り返さないプロジェクト管理 ─ 再発防止の実践ポイント多くの開発現場では、重大な問題が発生した際に「過去にも似た状況があった」と振り返るケースが少なくないと言われています。もちろん、プロジェクトで起きる問題の形や影響はさまざまで、個別の技術的課題や外的要因によるトラブルも存在します。それでもなお、現場を振り返ると、同じような状況や判断の迷いが重なった結果として問題が再発しているケースが見受けられます。では、なぜ似たような失敗は繰り返されてしまうのでしょうか。詳細はこちら→https://www.bgarage.co.jp/news/1705/

お知らせ

Automotive SPICE 入門 一般開催トレーニングのご案内

Automotive SPICE 入門一般開催(4月分)の日程をご案内いたします。詳細およびお申込みは、下記リンクあるいは「イベント開催日程」からお願いいたします。 Automotive SPICE 超入門2026年4月02日詳細はこちらからAutomotive SPICE 入門 管理支援編2026年4月08日詳細はこちらからAutomotive SPICE 入門 システムエンジニアリング編2026年4月15日詳細はこちらからAutomotive SPICE 入門 ソフトウェアエンジニアリング編2026年4月21日詳細はこちらからAutomotive SPICE 入門 ハードウェアエンジニアリング編2026年4月22日詳細はこちらから  Teamsを使ったオンラインでの開催となります 教材は、原則開催日の5日前までにご指定場所に郵送いたします ご請求書はPDF版をメールで送付いたします お支払い期日は、ご請求書発行日の翌月末となります ご請求書発行後のキャンセルは、お断りしています(代理出席などの手配をお願いします) お申込者以外の方の聴講および録音は固く禁じます

Webinar

第8回 Webinar AIを活用した次世代要件分析プロセスの考察 開催のご案内

第8回 Webinarは、生成AIを活用したEARS形式の要求仕様作成手法を考察します。またAIを活用することで、従来手作業で実施していた要件分析プロセスが、どのように変更されるかを考えます。 今回のテーマ設定の背景 システム要求分析の基本フロー システム要求分析の生成AIを活用してみた 考察 最後に 参加ご希望の方は、こちらのページからお申込みください。

コラム

同じ失敗を繰り返さないプロジェクト管理 ─ 再発防止の実践ポイント

■なぜ、あの失敗は何度も起きるのか?開発プロジェクトの合間に、こんな会話を耳にすることがあります。「この前も同じような問題があったよね?」「気を付けていたつもりだったけれど…また再発してしまった」こうした状況は決して珍しくありません。多くの開発現場では、重大な問題が発生した際に「過去にも似た状況があった」と振り返るケースが少なくないと言われています。もちろん、プロジェクトで起きる問題の形や影響はさまざまで、個別の技術的課題や外的要因によるトラブルも存在します。それでもなお、現場を振り返ると、同じような状況や判断の迷いが重なった結果として問題が再発しているケースが見受けられます。では、なぜ似たような失敗は繰り返されてしまうのでしょうか。 ■同じ失敗が起きる主な要因とは?ある車載ECU開発プロジェクトでの出来事です。当初のプロジェクトの目的は「画面表示の起動時間を短縮する」ことでした。ところが開発途中で、「起動時にロゴアニメーションを入れたい」「警告メッセージの表示仕様も変更したい」「診断ログも取得できるようにしてほしい」といった要望が追加され、チームは「せっかくなら対応しよう」と順次取り込みました。しかし、誰も「起動時間短縮が最優先なのか、それとも新機能追加なのか」を明確に整理しないまま進めたため、「あるメンバーは表示品質を優先」「別のメンバーは起動速度を優先」「別の担当は診断要件の網羅性を重視」と、目指すゴールが少しずつズレた状態で開発が進んでしまいました。その結果、統合テストの段階で「起動時間が目標を満たさない」「ログ取得時に表示が遅延する」といった問題が同時に発覚し、大きな手戻りが発生しました。さらに、スケジュール遅延の兆候は早い段階で見えていたにもかかわらず、「どの時点で誰に相談するか」「何を優先的に削るか」が決まっていなかったため、対応は常に後手に回りました。このような問題は以前にも何回か起きていたようです。 同じ失敗が繰り返される背景には、・目的と優先順位が共有されていない・問題発生時の動き方が決まっていないといった構造的な要因が背景にあるケースは少なくありません。目的が揃わないまま進めると、メンバーごとに判断基準がばらつき、問題が起きても対応の優先度や対処方針が統一されません。さらに、初動対応やエスカレーションのルールが明確でない場合、対応は場当たり的となり、問題の影響が拡大しやすくなります。その結果、納期や目先の対応を優先した暫定対処で収束させてしまい、根本原因が解消されないまま次のプロジェクトへ持ち越されます。そして同様の条件が重なったとき、類似したトラブルが再び発生する可能性が高まります。 ■成功するプロジェクトが共通して実践している取り組み前述の例のように、失敗の原因は個人の注意不足だけでなく、目的の共有不足や優先順位の不明確さ、問題発生時の対応ルールの欠如といった“進め方の仕組み”に起因しています。では、同じ状況に直面しても手戻りを最小限に抑え、着実に成果を出し続けるチームは、どのような工夫をしているのでしょうか。私の経験を基に、実際に効果のあった取り組みの一例をご紹介します。 1. 要求分析と優先順位決定プロセスを機能させる要求が増え続けること自体は珍しいことではありません。問題は、優先順位を判断する基準や変更時の意思決定プロセスが明確でない場合、チーム内で判断軸がばらつくことです。成功している組織では、 最優先事項を判断する基準を定める 要求変更時に影響範囲(品質・性能・日程)を確認する 優先順位を見直す意思決定ルールを設けるといった仕組みによって、要求分析プロセスが機能する状態を維持しています。例えば、変更要求が出た際に「最優先目標に影響しないか」を確認するチェック項目を設けるだけでも、判断のばらつきを抑えることができます。 2. 問題の早期解決を支える支援・エスカレーションの仕組みプロジェクトは計画通りに進まない状況が発生することを前提に運営する必要があります。重要なのは、問題が顕在化した際に 誰が・どの段階で・どこへ相談するのか が明確になっていることです。とある組織では、進捗管理・課題管理・リスク管理といった基本的なプロジェクト管理プロセスは整備されています。そのうえで、現場だけでは判断が難しい状況に備え、経験豊富なPMや技術リーダーが横断的に支援する仕組みを設けています。現場ではこれを通称「駆け込み寺」と呼んでいます。この仕組みの目的は属人的な助言ではなく、 進捗遅延や品質リスクの早期検知 判断に迷う局面での意思決定支援 問題対応の優先順位整理 組織としての対応方針の統一といった、プロジェクト運営プロセスを補完・強化することにあります。このような支援体制は大掛かりな組織でなくても導入可能です。例えば、 PM経験者が週1回相談枠を設ける リスク顕在化時の相談ルートを明文化する 重要課題をレビューする横断ミーティングを設けるといった小さな仕組みから始めることもできます。 3. 振り返りを“教訓化”につなげる仕組み振り返りの重要性は多くの現場で理解されています。しかし実際には、「事実の整理で終わってしまう」「個人の反省に留まる」「次のプロジェクトに活かされない」といったケースが少なくありません。効果的な振り返りを行う組織では、 結果の整理 原因の特定 再発防止策の決定 次回の実行ルールへの反映をセットで行います。例えば、再発防止策をチェックリストや標準手順に反映し、次プロジェクト開始時に確認する仕組みを設けることで、経験を組織の資産として蓄積できます。 ■あなたのチームでは、同じ兆候が起きていませんか?失敗の再発は偶然ではなく、進め方の仕組みに起因することが少なくありません。そして、その仕組みを整えることで、同じ問題が繰り返される可能性は大きく減らすことができます。ここまでお読みいただき、「自分たちの現場にも当てはまる」と感じられた方も多いのではないでしょうか。例えば、次のような兆候は見られませんか?☑ チーム内の意思疎通に不安がある☑ 課題が何度も再発し、改善が定着しない☑ プロジェクト管理が“実態と合っていない”と感じる☑ 組織としてのプロセスを整えたいが、どこから手を付けるべきかわからないもし一つでも思い当たる点があれば、それは個人の努力ではなく、仕組みを整えることで改善できる余地があるというサインかもしれません。 「自社ならどこから手を付けるのが最短か」を整理したい場合は、1~2週間のクイック診断からご支援することも可能です。小さく始めて、現場に無理なく定着させる改善をご一緒に進めていきます。まずは、現状の困りごとや課題をお聞かせいただくだけでも構いません。 ご相談・お問い合わせはこちらから→https://www.bgarage.co.jp/contact/ (長澤克仁)

コラム

構成管理の基本の「き」 ~当たり前なことが難しい~

はじめに システム開発/ソフトウェア開発の現場では、日々多くの変更が行われています。機能追加、バグ修正、設計変更。。。そのすべてがソースコードやドキュメントに影響を与えます。この変化の連続を“管理された状態”に保つための仕組みこそが 構成管理(CM) です。今回は、Automotive SPICEのプロセスの1つである、SUP.8:構成管理の基本について、IEEEなどの国際標準も交えて解説します。 なぜ構成管理が必要なのか 構成管理がうまく機能していない現場では、こんな光景がよく見られます。 “誰が”“いつ”“どこを”“なぜ”変更したのか追跡できない 昨日の動くバージョンに戻したいのに、戻せない ドキュメントと実物が噛み合わず、レビューで混乱 変更したつもりが、別の人の作業で上書きされていたこれらはすべて、生産性と品質を静かにむしばむ“構成管理不足”のサインです。構成管理の目的は一言でいえば、変更の見える化と安定した開発の継続です。 構成管理の主要な4つの活動 1.構成識別(Configuration Identification)まず管理対象となる作業成果物を明確にします。この管理対象を構成品目(Configuration Item:CI)と呼びます。ソースコードはもちろん、設計書、テスト仕様書、ビルド手順書など、作業成果物すべてが対象となり得ます。どこまでを管理するのか最初に決めておくことが、とても重要です。Automotive SPICE v4.0では以下のように解説しています。 構成品目とは、単一の実体として構成管理の対象となる作業成果物または作業成果物一式を指す。 構成品目は、システム、ハードウェア、およびソフトウェアのすべての文書を含むシステム全体から、単一のエレメントまたは文書に至るまで、複雑性、規模、および種類が異なる場合がある。  選定基準は、単一の作業成果物または作業成果物一式に適用してよい。また国際標準である、IEEE 828「IEEE Standard for Configuration Management in Systems and Software Engineering」では、以下のように定義しています。 構成管理のために指定され、構成管理プロセスにおいて単一のエンティティとして扱われる作業成果物の集合体。 構成品目は、その複雑さ、規模、種類が多岐にわたる場合があり、ハードウェア、ソフトウェア、ドキュメントをすべて含むシステム全体から、単一のモジュールやマイナーなハードウェアコンポーネントまで多岐にわたる。プロジェクトの範囲や、標準資産の再利用の考慮等によって、構成品目は様々ですが、必ずしも「1ファイル=1構成品目」である必要がないことは上記からも理解できると思います。「単一の実態として扱われる作業成果物の集合体」が構成品目となります。 2. 構成制御(Configuration Control)構成管理の根幹となる活動は、変更手続きを管理し、変更を追跡することで、製品の構成が常に正確に把握されるようにすることです。構成制御は、ベースラインを完全に識別し、そのベースラインに対して行われたすべての変更を追跡することによって実現されます。Automotive SPICEではベースラインを以下のように定義しています。 1つまたは一連の作業成果物および生成物の一貫性が保たれ、かつ完成した状態であることを識別している。 次のプロセス段階および/または納入のためのベース。 一意であり、変更されてはならない。少しわかりづらいので、再びIEEE 828を参照してみましょう。以下のように定義しています。 正式にレビューされ合意された仕様または製品であり、その後は以降の開発の基礎となり、正式な手順を通じてのみ変更可能である。  媒体を問わず、構成アイテムのライフサイクル中の特定の時点で正式に指定及び確定された、構成アイテムの正式に承認されたバージョンである。 ソフトウェアベースラインとは、ソフトウェアライフサイクル中の特定の時点で正式に指定され、確定されたソフトウェア構成アイテムの集合(1つまたは複数)である。開発ライフサイクルのある時点(たとえば、要件が確定した時点や統合テストを始める時点)で、正式の合意された製品目一式がベースラインであり、以降の開発工程や納入の基となるものです。好き勝手に変更していけないのがベースラインであり、適切にベースライン(構成品目の集合体)を作成&更新していくことが構成管理の根幹となります。この適切な作成&更新を行うためには、正式な変更手順だけではなく、構成品目を格納する「ライブラリ」も重要となります。皆さんの中には既に、作業成果物の格納場所として、Git や Subversion などのツールを利用している方もいると思いますが、国際標準であるIEEE 1042「IEEE Guide to Software Configuration Management」で述べているライブラリの概念が基本となっています。   ダイナミックライブラリ(プログラマーズライブラリとも呼ばれる): 新規作成または変更されたソフトウェアエンティティ(ユニット/モジュール、データファイル、および関連ドキュメント)を格納するために使用されるライブラリ。 これは、作業担当者がコード開発で使用するライブラリで、そのユニットを担当する作業者は、いつでも自由にアクセスできます。 これは作業者の作業スペースであり、作業者によって管理される。 管理ライブラリ(マスターライブラリとも呼ばれる): 現在のベースラインを管理し、それらに加えられた変更を制御するために使用されるライブラリ。 これは、統合のために生成された構成品目のユニットとコンポーネントが保持されるライブラリ。 通常は検証後にエントリが認められる。 作業者やその他のユーザーが使用するために、コピーを作成できるが、このライブラリ内のユニットまたはコンポーネントへの変更は、責任部署(構成制御委員会または委任された権限を持つ機関)の承認が必要。 スタティックライブラリ(ソフトウェアリポジトリとも呼ばれる): 一般利用のためにリリースされた様々なベースラインをアーカイブするために使用されるライブラリ。 これは、運用のためにリリースされた構成品目一式のマスターコピーが保管されるライブラリ。 これらのマスターのコピーは、要求する組織に提供される場合がある。 3. 構成ステータス記録(Status Accounting)構成管理下にある構成品目(作業成果物)に関する重要な情報を記録し、管理者と作業者に報告し、「構成品目が今現在どんな状態か」を共有することが、この活動の目的となります。IEEE 828では、構成品目のステータス情報は、以下のことに役立つと述べています。 ある期間における、プロジェクト作業の結果を把握し、とある時点での完了見込みを把握する。 例:要件の数と実装済みの数を比較することで、これまでの進捗状況を把握できる。  開発中の製品の安定性と機能の完成度に関する状態を把握する。 例:機能またはコンポーネントに対して、実装済みおよび保留中の変更の数は、安定性または変動性を示している。 構成品目の管理(構成管理活動自体)を検証する。 必要に応じて、外部コンプライアンス監査の要件(例:SOXなど)を満たす。「構成ステータス記録」は、構成管理活動自体を監視するプロジェクト管理機能でなく、あくまで構成品目(作業成果物)の状態を監視するものであることも理解しておく必要があります。 4. 構成監査(Configuration Audit)「管理されているはずの状態」が、本当に実態と一致しているかを確認する仕組みです。 ドキュメントの記載と成果物が一致しているか 承認フローが守られているか リリース物は正しい構成か監査は厳しいものではなく、「間違いが積み重なる前の安全装置」というイメージです。 構成管理はツールではなく「文化」Git や GitHub、Azure DevOps、Subversion などのツールは SCM を支える重要な存在ですが、ツールを導入しただけでは構成管理ができたとは言えません。大切なのは、そのツールを使って一貫したルールとプロセスを回し続ける文化があるかどうかです。例えば: ブランチ戦略をチームで統一する コードレビューをルール化する 変更理由を残す習慣をつける リリース手順を標準化するといった取り組みが、SCMの“文化”を育てます。 さいごに構成管理は、「開発を安定させるための基盤であり地盤」です。目立たない活動ですが、これがしっかりしているチームはトラブルに強く、改善サイクルも回しやすくなります。地盤が安定していれば、どんな大きな建物(=プロジェクト)でも安心して積み上げることができます。  内山哲三