Updates

新着情報

コラム

制御仕様書という怪物 ~ 世界標準とプロセスはズレているのに何故品質は良いのか? ~

1.初めに - Automotive SPICE と制御仕様書「制御仕様書」。筆者にとって、長年自動車業界に向き合ってきた中でも、とりわけ扱いに困る存在である。Automotive SPICEと正面から向き合おうとした瞬間、この文書は必ず行き場を失う。Automotive SPICEの成果物として当てはめようがない。かといって、「これは間違っている」「不要だ」と一刀両断できるほど単純でもない。内容そのものは決して無意味ではなく、むしろ多くの現場で実際に機能してきた歴史がある。だからこそ厄介なのである。 Automotive SPICE の成果物に、日本の「制御仕様書」をきれいに当てはめられた人は、果たしてどれくらいいるだろうか?SYS.2なのか、SYS.3なのか?あるいは、SWE.1なのか、SWE.3なのか? 真剣に考えれば考えるほど、どれにも完全には当てはまらない。そして一度は「今回はこれでいこう!」と割り切ったはずの整理が、時間を置くと再び蒸し返され、同じ議論を繰り返すことになる。筆者にとって「制御仕様書」とは、できることならなるべく触れずに済ませたい、そんな難物だった。 一方で、日本車の品質が世界最高水準にあることに異論を唱える人は少ないだろう。この事実を踏まえると、制御仕様書を単純に「悪者」として片付けることにも、強い違和感を覚える。 当てはめられない成果物でありながら、品質は高い。この一見矛盾した状況の背景には、日本独自の開発文化と、その象徴ともいえる「制御仕様書」の存在があるのではないか?そう考えるようになった。 本コラムでは、これまで業界内でもあまり正面から語られてこなかった、ある種「アンタッチャブル」な領域に踏み込み、制御仕様書を起点として日本の車載ソフトウェア開発の実態を整理し、筆者なりの見解を述べてみたい。その性質上、通常のコラムよりも記述は長くなってしまった。しかし、それは論点をぼかさず、背景・因果・限界まで含めて整理しようとした結果でもある。本コラムが、制御仕様書や Automotive SPICE に違和感を抱いてきた読者にとって、考えるための材料となれば幸いである。 2.制御仕様書に感じる違和感の正体本題に入る前に、日本の多くの車載開発現場で作成されている「制御仕様書」とは、具体的にはどのような内容を含んでいるのかを整理しておきたい。筆者がこれまで目にしてきた制御仕様書には、多くの場合、以下のような内容が一つの文書の中に同時に記載されている。 実現したい要求 車両またはECUとしての振る舞い 制御ロジックや状態遷移 ソフトウェアが実装すべき内容 例外処理やフェイルセーフの考え方全体を通して見ると、「このシステムを、このように作ってほしい」という意図を記述した文書のように見える。また、作成者は必ずしもソフトウェアやハードウェアの専門技術者とは限らず、プロジェクト全体の取りまとめ役や、制御・車両側の担当者であるケースも少なくない。 ここまでは理解できる。しかし、筆者が根本的な違和感を覚えるのは、これらの内容が制御仕様書として提示された結果、ソフトウェア技術者が、その記述通りに関数設計を進めてしまう点である。本来であれば、要求を受け取った上で、ソフトウェアの専門家が、ソフトウェアとして最適な構造を検討し、機能をどう分割し、どこに配置するかを設計すべきである。ところが制御仕様書が詳細に書かれているほど、「まずは書かれている通りに作る」という流れが生まれやすくなる。 この違和感について、実際に現場の担当者に問いかけたことがある。その際に帰ってきた答えは、次のようなものだった。 「制御仕様書がないとソフトウェアが作れない。」 「制御仕様書があれば、その通りにソフトウェアを作るだけだ。」この言葉は、制御仕様書が果たしている役割の大きさと同時に、問題の核心を端的に表しているように感じられた。 筆者の視点では、制御仕様書とは、システム全体としての機能的な振る舞いを記述した文書であり、ソフトウェアをどのように実装するかを直接指示するものではない。言い換えれば、制御仕様書はソフトウェアへ割り当てられる前段階の「システム的な振る舞い」を定義しているものと捉える方が自然ではないかと考えている。その意味では、制御仕様書に記載されている内容は、ソフトウェアへ割り当てられたシステム要求として理解することも、一つの解釈である。もし、その振る舞いの検討段階からソフトウェアの専門家が深く関与し、処理概要や構造上の制約を織り込んだ上で記載されているのであれば、また異なる評価も成り立つだろう。 興味深いことに、この制御仕様書に対応する明確な英語名称を、国際標準や各種規格の中で見つけることはできなかった。類似する文書は存在するものの、日本で一般に使われている制御仕様書と同じ役割・粒度を持つ成果物は見当たらない。このことからも、制御仕様書はグローバルな視点で見ると、かなり特異な存在であることがうかがえる。そしてこの問題は、特定の企業や組織の事情というよりも、日本の車載開発に広く共通する構造的な特徴であるように思われる。 この違和感を起点として、次章では、そもそもなぜ制御仕様書がこのような形で発展してきたのか、その歴史的背景を掘り下げてみたい。 3.制御仕様書が生まれた歴史的な背景制御仕様書が現在のような姿になった背景について、筆者は「開発文化の欠陥」ではなく、歴史的な必然性として捉えるべきだと考えている。車載開発は、その長い歴史の大部分において、メカニカルとワイヤー、油圧を中心とした世界で成立してきた。その時代では、システムの振る舞いは、物理的な構造と機械の動きによって実現されており、設計者とって重要だったのは、「入力と出力の関係」や「状態遷移」、「メカとワイヤーを通した制御の流れ」といった点に集約されていた。このような世界においては、システム全体の振る舞いを一貫した形で記述することが合理的であり、それを担う文書が必要とされた。制御仕様書は、まさにこの文脈の中で生まれたものだと推測できる。 やがて、制御の実現手段としてソフトウェアが導入される。しかし、当初のソフトウェアは、あくまでメカニカルとワイヤーによる制御を置き換える手段として捉えられていた。制御対象の本質が変わったわけではなく、実現手段が変わったにすぎない、という認識が支配的だったと考えられる。そのため、「要求と設計を厳密に分ける」「抽象度の異なるレイヤーを明確に定義する」といったソフトウェア工学的な思考は、当時は開発の中心的なテーマではなかった。重要なのは、システムとして意図した振る舞いを、確実に実現できるかどうかであり、そのための記述として、従来の制御仕様書の枠組みがそのまま踏襲された。結果として、制御仕様書には、 システムとしての振る舞い 制御ロジック 実装上の注意点といった内容が次第に積み重なっていった。これは設計上の誤りというよりも、既存の思考様式の中で、新しい技術を取り込んでいった結果であると理解する方が自然である。このように捉えるならば、制御仕様書とは、メカニカルと制御工学が主導してきた時代に培われた現場の知恵と経験が凝縮された成果物だと言える。現在の視点から見れば整理不足に映る部分もあるが、それは当時の前提条件のもとでは、極めて合理的な選択だった可能性が高い。 この歴史的背景を踏まえることで、制御仕様書を単なる「古い慣習」や「是正すべき悪習」として扱うことの危うさにも気づかされる。問題は、過去の選択そのものではなく、前提条件が大きく変化した現在において、その役割を再定義できているかどうかにある。 次章では、この歴史的背景を踏まえ、日本と欧米で開発アプローチがどのように分岐していったのかを見ていく。 4.欧米との決定的な分岐点日本と欧米のソフトウェア開発の違いは、技術力の優劣によるものではない。筆者は、開発の重心をどこに置いてきたかの違いが、その後の進化の方向性を分けたと考えている。欧米では比較的早い時代から、ソフトウェアが製品開発の中核として位置付けられてきた。制御対象が同じであっても、それをどのように記述し、どのように分解し、どのように責任分担するかという点に、強い関心が向けれらていた。その結果として、次のような考え方が段階的に定着していく。 要求(What)と設計(How)を明確に分離する 成果物と責任範囲を明文化する 大規模ソフトウェアを前提とした抽象化とレイヤー化 プロセスの妥当性によって品質を担保するという発想これらは単なる開発手法の違いではなく、不確実性をいかに制御するかという思想の違いでもある。 この背景には、欧米の社会構造や文化的要因が強く関係していると考えられる。多民族・多文化社会においては、個々人のバックグラウンドや価値観が異なることが前提となる。その中で協働を成立させるためには、暗黙の了解ではなく、明文化されたルールや契約が不可欠となる。すなわち、 役割を明確にし 責任範囲を定義し 成果物によって合意を形成するという開発スタイルが、社会的にも合理性を持っていた。 一方、日本では、状況は大きく異なっていた。車載開発の中心には、あくまで車両性能があり、その品質は実車評価や現場での調整によって作り込まれてきた。設計と評価、開発と調整は明確に分断されるものではなく、むしろ密接に結びついていた。成果物の境界を厳密に切るよりも、「同じものを見て同じ理解を持つ」ことの方が重要だったのである。その結果、日本では制御仕様書という形で、要求、設計意図、制御ロジック、注意点が一つの文書に集約されていった。一方、欧米では同じ情報を、レイヤーごとに分解し、それぞれ異なる成果物として管理する道を選んだ。 重要なのは、どちらも各々の前提条件においては合理的な選択だったという点である。日本は「現場で品質を作る」道を、欧米は「プロセスで品質を保証する」道を歩んできた。その違いが、制御仕様書のあり方や、成果物の構成として表れただけだと整理できる。弊社では、「日本と欧米におけるソフトウェア開発アプローチの違い」というコラムを掲載しているので、こちらも参考にしていただきたい。 次章では、このような背景を踏まえた上で、なぜ日本の車載開発が結果として高い品質を維持してきたのか、その因果関係を整理していきたい。 5.なぜ日本製品は高品質なのか?ここで一度、日本の車載開発が高い品質を維持してきた理由について、因果関係を整理してみたい。日本の多くの開発現場では、要求と設計が明確に分離されておらず、制御仕様書に多くの情報が集約されている状況が、今も一般的に見られる。この状況は、グローバルスタンダードの開発プロセスに照らせば、抽象度が揃っておらず、成果物の境界も曖昧で、工学的・プロセス的には未成熟に見えることは否めない。しかし重要なのは、この構造が必ずしも品質低下に直結してこなかった、むしろ逆の結果を生んできたという点である。 制御仕様書という形で、実現したい要求、システムとしての振る舞い、制御ロジック、例外時の考え方までが一つの文書に集約されることで、関係者が共有する文脈は極めて強固なものになる。設計、実装、評価に関わるメンバーが、同じ前提条件のもとで議論を行いやすくなるのである。その結果、設計段階では、「これは正しい動きか?」、「もっと良い方法論はないか?」あるいは「ここでエラーが発生したらどうすれば良いか?」といった検討が、要求・設計・実装を横断した形で行われやすくなる。議論の焦点は、「仕様に書いてあるから正しい」という形式的な妥当性ではなく、「実際の振る舞いとして妥当かどうか」に置かれる。さらに日本の開発では、机上で仕様を完結させるよりも、実際に動かして確認することが重視されてきた。実車や実機を用いて挙動を確認し、問題があれば調整する。必要であれば、仕様そのものを見直す。この一連のプロセスが、暗黙の前提として開発サイクルの中に組み込まれてきた。このような反復的な確認と調整の積み重ねによって、日本の品質は次第に作り込まれてきたと言える。 つまり、日本の品質は、 設計段階で完全性を保証することによって守られる品質ではなく 現場での確認、修正、潰し込みを通じて形成される品質として形成されてきたと言える。 このアプローチは、想定外事象や実使用条件への耐性を高めるという点で大きな効果を発揮してきた。ただし、この品質形成メカニズムは、すべての条件下で普遍的に有効というわけではない。開発対象の規模拡大、ソフトウェアの複雑化、開発スピードへの要求の高まりといった環境変化の中で、このやり方が新たな制約やリスクを生み始めていることも事実である。 次章では、日本方式がこのようにして高品質を実現してきた一方で、なぜ現在、その強みが限界やリスクとして現れ始めているのかについて整理していく。 6.日本方式の限界とリスク日本の車載開発の方式が、長年にわたり高い品質を実現してきた事実は揺るがない。しかしその一方で、開発環境が大きく変化した現在、この方式が将来に向けてどのような限界やリスクを内包しているのかを冷静に見つめ直してみたい。 文書構造の限界抽象度の異なる情報が混在することで、成果物の役割や責任範囲が曖昧になりやすいという構造的な限界を持つ。特に、レイヤー分離を前提とするグローバル標準に基づく開発プロセスでは、この曖昧さは生合成の低さとして表面化する。その結果: グローバルな分業開発が進めにくい 成果物の責任範囲が不明瞭になる 変更に対する影響の把握に時間を要するといったリスクが顕在化しやすい。これは、国境を超えた多拠点共同開発が世界的に常態化した現在、無視できない制約条件となってくる。 属人性というリスク日本方式の品質は、現場の判断力や調整力、すなわち「人の力」に大きく依存してきた。経験豊富な技術者が、状況を読み取り試行錯誤を重ねながら最適解を導き出す。このアプローチは、過去において大きな成果を生んできた。一方で、この構造は属人性が高く、再現性に乏しいという本質的な課題を抱えている。要員の変更によって判断基準や暗黙知が失われやすく、品質や進め方にばらつきが生じる可能性をはらむ。また、海外拠点や外部パートナーに同様の開発文化を展開することは容易ではない。個人や特定チームの力量に依存する開発モデルは、プロジェクト規模の拡大や組織の分散化に対して脆弱であり、スケールしにくい構造を持つ点がリスクとなる。 アーキテクチャの弱さによる長期的な技術負債のリスク制御仕様書に多くの情報を集約するスタイルでは、個々の制御ロジックを理解するうえで有効だが、ソフトウェア全体を構造として設計・管理することが難しくなる。抽象化やレイヤー化、インタフェースが曖昧になったまま開発が進むと、結果として: アーキテクチャの重要性が意識されにくい プラットフォーム化が進まない ソフトウェア資産の共通化・再利用が困難になるといった状況が生まれやすい。その結果、短期的には大きな問題がなく見えても、長期的には技術負債として蓄積され、将来の変更・拡張時に大きなコストを生むリスクが高まる。また、初期段階でアーキテクチャを確定できない場合、発生し得ない事象にまでDRBFM等の対策工数を割くことになる。一方、スコープを限定し、例外処理が構造化された設計を実現できれば、品質を担保しつつ開発時間を大幅に削減できる。 開発工数の増大と開発期間の長期化という現実的リスクもう一つのリスクとして、開発工数の増大と開発期間の長期化が挙げられる。この問題の本質は、仕様が十分に明確化されないまま開発が進み、後工程ですり合わせによる検討や調整を繰り返す構造にある。多くの現場では、要求や仕様が抽象的な状態で検討や実装に入ることが少なくない。その結果: 不明確な行間や解釈の違いを、すり合わせで解消する 実装してから課題に気づく 実際に動かしながら仕様そのものを調整していくといった進め方が常態化しやすい。このプロセスは最終的な品質向上には寄与するものの、仕様検討と実装・評価が混在した反復作業となり、工数が限りなく膨らむ原因となる。 さらに、ソフトウェアアーキテクチャが十分に設計されていない場合、この傾向は顕著になる。アーキテクチャが不適切であると: 変更の影響範囲の見極めに時間がかかる 修正のたびに広範囲は確認と修正が必要となる 本来不要な検討や後戻りが発生するといった状況が生じ、検討・調整に要する時間が増大する。開発スピードが競争力の重要な要素となっている現在、これらの制約はグローバル競争という観点で、品質とは別の次元で無視できない経営・技術的リスクとなりつつある。 7.これからのあるべき姿では、これまで見てきた課題に対して、どのような方向を目指すべきなのだろうか。少なくとも、「これまでの日本方式を捨て、欧米方式に全面的に置き換える」という単純な発想は現実的ではないだろう。日本方式は多くの課題を内包しつつも、高い品質を長年にわたって実現してきた。その強みを切り捨てることは、合理的な選択とは言い難い。一方で、ソフトウェアが製品価値の中核となった現在、ソフトウェア工学に基き、仕様や設計を階層化し、構造として管理していくことが不可欠であることも明らかである。これまで述べてきた内容は、日本の車載ソフトウェア開発の「実態」を整理したものであり、理想論ではない。実際、日本の製品開発においても、車載分野以外を見れば、ソフトウェアを中心とした高度なシステム開発や、IT系ソフトウェアでは、従来からソフトウェア工学に基づく開発手法が導入されてきた。特に、日常的にグローバル競争にさらされている事業領域においては、もはやそれが当然の前提条件となっている。 筆者自身も、日本方式と欧米方式を完全に統合した「唯一の正解」を提示できるわけではない。しかし、少なくとも一つの方向性として以下の考え方は共有されるべきだと考えている。まず、ソフトウェア工学に基づいたプロセスと成果物を、製品開発の前提条件として明確に位置付けることである。特にソフトウェアにおいては、製品のマスターとなる要求仕様書や設計書が存在しなければ、保守、機能拡張、再利用は著しく困難になる。グローバルなリソース活用や多拠点開発においても同様である。現在の製品開発では、新たにスクラッチからソフトウェアを開発するケースはむしろ少なく、多くは既存製品に対する拡張や機能追加である。マスターとなるドキュメントは、プロジェクトごとに毎回に作り直すものではない。一度整備されていれば、その後の改版工数は相対的に小さく抑えられる。 その上で、派生開発や機能追加の局面において、日本方式の強みを意図的に活用するのである。具体的には、追加する機能に対して、その制御の流れを記載した「変分仕様書」を作成する。これは従来の制御仕様書に近い形態を持つが、重要な違いとして、修正部分を「変更前」と「変更後」という形で明示的に記述する点が挙げられる。変更内容は常にマスタードキュメントの差分として取り扱われ、プロジェクトの完了までに、その差分をマスタードキュメントへ反映(改版)していく。こうすることで: マスター文書による構造的な整理と再利用性 変文仕様書による現場主導の調整力と具体性を両立することが可能になる。「変分仕様書」を導入したプロセスや、具体的なドキュメントの例については、次の機会で紹介する。 最後に、視野を広げて歴史を振り返りたい。携帯電話、液晶テレビ、通信制御システム、通信サービスなど、日本がかつて世界をリードしていたにもかかわらず、世界標準の流れに乗り切れなかった製品・技術は少なくない。その多くは、国内での成功体験に安住し、構造的な変化への対応が遅れた結果、競争力を失っていった。 自動車産業は、日本にとって極めて重要な事業領域である。だからこそ、同じ歴史を繰り返してはならない。そのためには、「日本方式か、欧米方式か」という二項対立ではなく、強みを理解した上での意識的な再設計が求められている。この課題に対して、単独の正解は存在しない。しかし、問題を正しく認識し、共に改善の方向を探り続けること自体が、最も重要な第一歩であるはずだ。ご不明点、ご質問、ご相談事項あれば弊社ホームページのお問い合わせからご連絡ください。 (日吉昭彦)

B'zine

B'zine - 2026年3月号(Webinar:AIを活用した次世代要件分析など)を発行しました

B'zine 3月号を発行いたしました。動画版(約30秒)も公開していますので、弊社公式YouTubeより是非ご視聴ください。B'zineは、1回/月のペースでの配信しています。ご興味のある方は、ここから登録をお願いいたします。 B'zineビジネスガレージ通信(2026年2月号) B'zine 3月号をお届けします。お彼岸が過ぎて春らしい気候になり、桜も例年より若干早めに開花して本格的な行楽シーズン到来です。緊迫した中東情勢、エネルギー問題、物価高騰等、心配事は多いですが、美しい春の景色を眺めながらリフレッシュしたいですね。 【今月のトピックス】 イベント:3月31日(火)第8回 Webinar開催:AIを活用した次世代要件分析プロセスの考察 イベント:Automotive SPICE 入門一般開催トレーニングのご案内 コラム:ソフトウェア開発組織をどう評価するか ~エンジニアリングチーム全体を評価し、組織改善につなげるために ~ コラム:問題解決管理プロセスと変更依頼管理プロセスを両立させるために 【イベント】 2026年3月31日 Webinar:AIを活用した次世代要件分析プロセスの考察生成AIを活用したEARS形式の要求仕様作成手法を考察します。またAIを活用することで、従来手作業で実施していた要件分析プロセスが、どのように変更されるかを考えます。1. 今回のテーマ設定の背景2. システム要求分析の基本フロー3. システム要求分析の生成AIを活用してみた4. 考察5. 最後に詳細、お申し込みはこちらから→https://www.bgarage.co.jp/event/1774/ Automotive SPICE 入門一般開催トレーニングのご案内4月15日(水):Automotive SPICE入門システムエンジニアリング編4月21日(火):Automotive SPICE入門ソフトウェアエンジニアリング編4月22日(水):Automotive SPICE入門ハードウェアエンジニアリング編詳細、お申し込みはこちらから→https://www.bgarage.co.jp/event/ 【コラム】 ソフトウェア開発組織をどう評価するか ~エンジニアリングチーム全体を評価し、組織改善につなげるために ~ソフトウェア開発組織の改善を進めるうえで、 「何をもって良い組織と言えるのか」、「改善の効果をどう測るのか」は常に悩ましいテーマです。組織のエンジニアリングチームは「うまくいっているのか」,「何がボトルネックなのか」を感覚だけで語ることの限界を感じたことはないでしょうか。ソフトウェア開発は個人プレーではなく、プロセス・ツール・人の協働によって価値を生み出すチームスポーツと言ってもよく、改善の単位も「個人」ではなく、エンジニアリングチーム全体で捉える必要があります。詳細はこちら→https://www.bgarage.co.jp/news/1838/  題解決管理プロセスと変更依頼管理プロセスを両立させるためにシステム開発/ソフトウェア開発は、一度作って終わりであることはまずありません。日々発生する不具合やトラブルへの対応と、顧客からの変更要求の対応や将来を見据えた改修の積み重ねによって支えられています。その中核を担うのが「問題解決管理プロセス」と「変更依頼管理プロセス」です。Automotive SPICEでは、支援プロセス「SUP.9」と「SUP.10」として定義されています。似ているようで役割の異なるこの2つを正しく理解し、連携させることが、システム開発/ソフトウェア開発プロジェクトの混乱と疲弊を避ける鍵となります。今回は「SUP.9」と「SUP.10」を両立させるヒントをお伝えします。詳細はこちら→https://www.bgarage.co.jp/news/1834/ 

コラム

Automotive SPICEは守っているのに、なぜ機能しないのか ― WhatとHowの混同から読み解く設計思想 ―

Automotive SPICE(A-SPICE)は、車載ソフトウェア開発におけるプロセス能力を評価するためのアセスメントモデルです。当社では先日、「ソフトウェア開発組織をどう評価するか ~エンジニアリングチーム全体を評価し、組織改善につなげるために~」というコラムの中で、SPICEを含む複数の枠組みを用いながら、開発組織をどのように評価し、改善につなげていくかを整理しました。また、これまでのコラムでも、「ドキュメントが作られているが活用されていない」「プロセスが形骸化している」といった課題が現場で起きやすいことを指摘してきました。 しかし、それらは“現象”としては共有されているものの、なぜ起きるのか、どうすれば防げるのかまでは十分に整理されていないケースも少なくありません。本コラムでは、これらの前提を踏まえたうえで、A-SPICEを「評価モデル」として説明するのではなく、「なぜその評価項目が定義されているのか」という観点から読み直します。言い換えると、A-SPICEを「評価のための枠組み」としてではなく、「開発で問題が起きやすいポイントを示した設計思想」として捉え直す試みです。現場でよく聞かれる、「やるべきことはやっているはずなのに、なぜかうまくいかない」という違和感を、この観点から整理していきます。 A-SPICEは「What」を定義するモデルであるA-SPICEはアセスメントモデルであり、「何ができているべきか(What)」を定義しています。例えば、 要求が適切に管理されていること レビューが実施されていること トレーサビリティが確保されていることといった状態が評価対象になります。一方で、A-SPICEは「それをどのように実現するか(How)」までは規定していません。 問題の本質:WhatをそのままHowにしてしまう現場でよく起きるのが、このWhatをそのままHowとして標準プロセスに落とし込んでしまうケースです。例えば、「レビューを実施する」という評価項目に対して、「レビューを実施する」という手順だけが定義される。一見すると問題はなさそうですが、ここには重要な抜けがあります。 具体例:レビューが“機能しない”ときに起きていることあるプロジェクトで、レビューは確実に実施されていました。チェックリストもあり、記録も残っています。しかし、後工程で仕様の解釈違いによる不具合が繰り返し発生していました。レビュー記録を見てみると、指摘の多くは 表記ゆれ 記述の抜け 軽微な整合性といったものでした。一方で、 前提条件の認識が揃っているか 想定しているユースケースが一致しているか 例外時の振る舞いが明確かといった観点は、レビューの中でほとんど扱われていませんでした。つまり、レビューは「実施されている」が、認識のずれを検出する仕組みとしては機能していなかったのです。これは、「レビューを実施する」というWhatに対して、「何を確認するのか」というHowが設計されていなかったことに起因します。 なぜ“認識のずれ”は起きるのかでは、なぜこのようなことが起きるのでしょうか。その背景には、人の認知の特性があります。本コラムで扱っている問題は、操作ミスのような単純な誤りではなく、仕様や前提の解釈違い、思い込み、見落としといった“認識のずれ”によって生じるものです。人は、書かれていない前提を無意識に補完して読みます。そのため、同じ文章を読んでも、前提や経験によって解釈がずれることがあります。本来、レビューやトレーサビリティといった活動は、こうした認識のずれを早期に検知し、修正するための仕組みです。しかし、その意図が共有されないまま形式だけが定義されると、「なぜやるのか」が抜け落ち、本来検出すべき認識のずれを見逃してしまいます。 なぜ再現性が生まれないのかこのWhatとHowの対応が曖昧なままでは、プロセスの再現性を確保することも難しくなります。同じ「レビューを実施する」という定義であっても、何を確認するのか、どのような観点で見るのかが人やプロジェクトごとに異なれば、結果は大きくばらつきます。つまり、「プロセスが定義されている」だけでは不十分で、「同じ結果を再現できる状態になっているか」が重要です。WhatとHowが適切に接続されていない状態では、プロセスは存在していても、安定した成果にはつながりません。 A-SPICEを「地図」として読むA-SPICEの評価項目は、単なるチェック項目ではありません。開発の中で問題が起きやすいポイントに対応して整理されています。 要求 レビュー トレーサビリティこれらはいずれも、認識のずれや思い込みが入り込みやすい地点です。その意味でA-SPICEは、アセスメントモデルであると同時に、「問題が起きやすい場所に印をつけた地図」として捉えることもできます。このように読むことで、「レビューを実施する」ではなく「どの前提が食い違いやすいのか」「トレーサビリティを確立する」ではなく「どの因果関係が切れやすいのか」といった問いに変わり、具体的な改善につながります。 問題が起きやすい地点から手当てする地図があるなら、すべてを同じ力でなぞる必要はありません。重要なのは、自分たちの現場で問題が起きやすい地点を見極め、そこから手当てすることです。例えば、 レビューの観点をあらかじめ定める(例:前提条件が明確か、ユースケースが具体化されているか、例外時の振る舞いが定義されているか) 要求を構文化し(例:EARSなどを活用する)、条件や例外を明示する 変更時に設計・テストまで影響を追う範囲を明確にするといった工夫は、認識のずれが入り込みやすいポイントに直接効きます。大きな仕組みを一気に導入する必要はありません。問題の芽を先に潰すことが重要です。 まとめA-SPICEはアセスメントモデルであり、「何ができているべきか(What)」を定義しています。一方で、それをどのように実現するか(How)は各組織に委ねられています。評価項目をそのまま作業として定義するだけでは、活動は形式化しやすく、プロセスの再現性にもつながりにくくなります。重要なのは、「なぜその項目が求められているのか」を理解し、自分たちの現場に合わせてHowを設計することです。どの工程で認識のずれや思い込みが入り込みやすいのか、という観点でA-SPICEを読み直すことで、問題が起きやすいポイントを把握し、改善の優先順位を見極めることができます。もし、 レビューが機能していないと感じる 要求の解釈が揺れてしまう 変更の影響が追いきれていないといった課題がある場合、それはプロセスが不足しているのではなく、WhatとHowのつながりが十分に設計されていない状態かもしれません。当社では、A-SPICEの評価項目をそのまま適用するのではなく、現場の実情に合わせて「どのように実現するか(How)」を整理し、運用できる形に落とし込む支援を行っています。どこから手を付けるべきかお悩みの際は、ぜひご相談ください。(安部宏典)

お知らせ

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

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

コラム

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

はじめにシステム開発/ソフトウェア開発は、一度作って終わりであることはまずありません。日々発生する不具合やトラブルへの対応と、顧客からの変更要求の対応や将来を見据えた改修の積み重ねによって支えられています。その中核を担うのが「問題解決管理プロセス」と「変更依頼管理プロセス」です。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/