Updates

新着情報

コラム

要求仕様に関する不具合発生を防止する - 「W字モデル」導入のメリットと課題

はじめに「出荷直前/出荷後に要求仕様通りにソフトウェアが動作しないことが発覚し、その改修作業で想定外の手戻り作業による大幅な出荷遅延と追加費用が発生した。」ソフトウェア開発プロジェクトで上記のようなトラブルを経験したことはありませんか?一般的に、要求仕様に関連する不具合は、最終工程であるソフトウェア検証まで検出できないため、手戻り作業や改修コストが予想以上に大きくなります。要求仕様に関する不具合の原因として、以下のようなケースが考えられます。 要求分析工程で、開発者が誤った(曖昧な/不十分な)要求仕様書を作成してしまった。 検証者は、検証工程で誤った(曖昧な/不十分な)要求仕様書に従って検証仕様書を作成して検証を実施したため、検証検証結果の妥当性の確認が不十分だった。 開発者と検証者間の情報共有不足により、検証工程で検証者が要求仕様書を十分に理解できないまま、誤った検証仕様書を作成して検証作業を実施したため、十分な検証ができていなかった。要求仕様に関する不具合発生の防止策の一つとして、上流工程の品質向上を目的とした「W字モデル」の考え方とプロセスを導入するというアプローチがあります。 1. 「V字モデル」とはまず最初に、ソフトウェア開発で広く採用されている「V字モデル」について簡単に説明します。 ウォーターフォール開発モデルでは、各開発プロセスの上流から下流に向かって、要求分析、設計、検証と各プロセスを進め、基本的に後戻りはしません。 V字モデルは、ウォーターフォールモデルに対して、開発工程と検証工程の各プロセス間の対応関係を明確にした開発モデルです。一般的に、V字モデルにおける開発者と検証者の業務分担は以下となります。   2. 「W字モデル」とは次に、「W字モデル」について、「V字モデル」との違いに着目して簡単に説明します。 W字モデルは Andreas Spillner 氏が提唱した「上流工程で検証計画を同時期に作成することで、開発工程全体短縮(開発効率化)を実現する」 というプロセスモデルに基づいており、開発と検証を交互に繰り返す活動が 「W字」 に見えることから、W字モデルと呼ばれています。 W字モデルはV字モデルを拡張した開発モデルで、開発工程完了後に検証を行うのではなく、開発と検証をリンクさせ、開発段階から検証者が参加して検証準備を同時並行で行うことを特徴としています。W字モデルにおける開発者と検証者の業務分担は以下となります。   3.開発者、検証者の業務分担2章、3章で説明した「V字モデル」と「W字モデル」の違いを、各工程毎の開発者と検証者間の業務分担と実施時期に着目して表形式でまとめてみましたので、参考にしてください。   4.「W字モデル」導入のメリット「W字モデル」を導入することにより、開発作業と検証作業を並行して実施することで、次のような効果が期待できます。 要求仕様書や設計書を開発者と検証者が合同レビューすることで検証の知見が加わり、矛盾/欠陥の検出率向上します(作業成果物の品質の向上)。 早期検出と検証の知見を開発にフィードバックできるため、検証工程まで不具合を流出させた場合の改修費用との比較で、手戻り工数の大幅な削減が期待できます(開発効率化)。 開発/検証チーム間の協業体制が醸成され、プロジェクトメンバーの品質に対する意識が向上します。 5.「W字モデル」導入の留意点「W字モデル」を導入するにあたり、次のような考慮・認識しておくべき留意点があります。 W字モデルを導入するには、検証工程を前倒しにするなど開発プロセス全体に変革が必要で、体制構築と要員計画の見直し、チームのスキルセット向上等、多岐にわたる事前準備が必要となります。 W字モデルでは開発作業と検証作業の連携が密になり、リソース調達やプロジェクト管理が複雑になるので、開発者と検証者間の情報共有の仕組み構築や開発/検証ツール選定も相互連携を考慮して慎重に行う必要があります。 一般に高スキル者数は限られており、開発/検証チーム双方に高スキル者を同時にアサインすることは困難です。 開発段階から検証者が関与するためには、検証者にも開発者と同等レベルの仕様理解力、設計力、コミュニケーション能力が求められますが、プロジェクト管理者は開発チームへの高スキル者アサインを優先すると、開発/検証チーム間の対等な関係構築は困難になります。 W字モデル導入の効果を得るには、組織の開発プロセス(V字プロセス)が十分成熟していることが前提となります。 検証者が検証業務の分析/計画などの活動無しに検証作業を実施している組織では、Wモデル導入効果は期待できません。特にソフトウェア愛初経験豊富な検証者を確保できるかというところがネックとなりがちですので、上記の留意点を踏まえると本格的に「W字モデル」を導入するのは、少しハードルが高いと感じるかもしれません。ソフトウェアアーキテクチャ/詳細設計の設計レビューに、ソフトウェア開発経験が無い検証者が参加しても、お勉強会になりがちですが(勉強の成果は、自ら実施する検証作業の精度向上には役立ちます)、レビュー対象のドキュメントの品質向上効果はあまり期待できません。要求分析工程に限定すれば、評価者に追加要求されるスキルは仕様理解力となり(仕様理解力は文章読解力と同じ)、ソフトウェア設計経験の有無にはあまり関係ないと考えて良いので、「W 字モデル」のアプローチ導入に対するハードルは大幅に低下するのではないでしょうか。 まとめユーザ視点・仕様理解力を持った検証の専門家が要求仕様レビューに参加すれば、検証の知見を発揮して要求仕様の品質向上に大きく貢献できると思います。要求仕様に関する不具合は影響範囲・規模が一番大きいので、これを少しでも削減できれば大きな開発効率化が実現できます。まずは、要求分析工程に対して部分的に「Wモデル」を適用するというスモールスタートをトライしてみてはいかがでしょう。(海農公宏)

コラム

プロセスとは何か? ~ 開発プロセスについて考えてみよう

この記事を見てくださっている方は、製品の開発プロセス作成に何らかの形で携わっている方だと思います。今回は、「プロセス」という言葉との向き合い方について、そのヒントをお伝えします。  Process という言葉の解釈皆さんは、「プロセス」という言葉の意味を、うまく説明できますか?筆者は、当初なかなかうまく説明できませんでした。プロセスという単語は、そもそもカタカナで記載される単語であり、日本語の解釈が数多くある言葉だと思います。従って開発プロセスとして使う場合は、プロセスという言葉の使用環境を理解して、その解釈の適合性を整理しておくことが、スタートラインだと考えています。 まず、Google 先生に「プロセス」「広辞苑」と入力して聞いてみたところ、下記の回答が返ってきました: 広辞苑における「プロセス」の意味は、「過程」や「工程」と同義で、物事が結果に達するまでの道筋や手順、方法を指します。ビジネスシーンにおいては、業務の進め方や手順、または一連の出来事を指すことが多いです。 広辞苑には「プロセス」という単語そのものの定義は直接記載されていませんが、類語として「過程」、「工程」、「手順」などが挙げられています。これらの言葉は、広辞苑で「プロセス」の概念を理解する上で参考になります。 AIによる概要として、英語の「process」が語源であり、現代では物事の達成までの工程や過程、あるいはその進め方を指す言葉として一般的に使用されています。という説明も出力されました。次に日本語辞書から検索してみると(デジタル大辞泉で検索): 仕事を進める方法、手順。「作業のプロセス」 過程、経過 コンピューターでプログラムなどを動作させる際、CPUが実行するひとまとまりの処理の単位 他の検索ツールにおいても、おおむね同様の説明が得られるようです。結論からすると、外来語である「プロセス」を直接当てはめる日本語はなく、使用用途に応じて適切な解釈をすることの重要性が再認識されます。 では、「開発プロセス」として見た場合、どのように解釈するのが良いでしょうか?ここでは、欧米が発信する世界標準や文献から、Process の一般的な定義を調査してみます。 IEEE Standard Glossary of Software Engineering Terminology:ある目的のために実行される一連のステップCMMI 用語集:互いに関連を持った活動の集合であり、所与の目的を達成するために、入力を出力に変換するものQuality Process Management by Pall, Gabriel:指定された最終結果を生み出すように設計された作業活動に関わる「人、材料、エネルギー、機器および手順」の論理的編成 つまり、開発プロセスとは、「アウトプットを出すために実施している作業ステップ」と考えられます。 プロセスアセスメントのインタビューで、プロセスという言葉を使って会話すると、「残念ながら、私たちにはプロセスはないんですよ」というやり取りになることがあります。プロセスの意味を正しく理解していれば、少しおかしな発言だと思いませんか?言葉の解釈が正しくできていれば、「私たちの作業プロセスは文書化されていません」という回答となるはずです。何らかの作業をしてアウトプットが生成されていれば、そこに「プロセス」は存在するからです。  開発プロセスを文書化する際のヒントと注意点それでは、開発プロセスを文書化する上で重要な点について考察してみます。 現状の作業方法を正しく理解すること これには、「誰が」、「何を入力として」、「どのような方法で」、「何を作成しているか」を含みます そして明確になったことを文書化することこれを第一ステップとして、開発メンバー全員で共有することが重要です。もし、個々人で作業内容が異なる場合は、調整しながら納得のいく手順に修正する必要があります。このステップなくして、プロセス改善 = 「品質や生産性の向上」にはつながりません。 特に、プロセスアセスメントモデルを活用しているケースでは、次のようなことが起こりがちですので注意が必要です: 従来の作業方法を考えずに、モデルをそのままコピーしてプロセスを作成してしまう アセスメントで「○○文書がない」と指摘されたため、モデルに定義されている成果物をそのまま新たに導入してしまう製品開発ができている限り、アセスメントモデルが言及していることと同様の作業や成果物が必ずあるはずです。言葉遣いの相違、成果物の過不足あるいは作業順の違いなどはあって当たり前です。アセスメントモデルは、世の中のベストプラクティスをモデル化しただけですので、順番や言葉遣いは標準化されているからです。 ここで重要なことは: モデルの意図を理解すること 自分たちが従来実施している作業手順を尊重すること もしモデルが言及していることと現作業手順にギャップがある場合、それを変更・追加した際の価値と効果を評価することアセスメントモデルがプロセス能力レベルを定義していることから、ゴールを急ぐことが目的になり、ついつい本質を見失う活動になりがちです。ばくだいな工数をかけてプロセスを変更したにもかかわらず、工数ばかりが増加して誰からも歓迎されない手順になってしまったり、アセスメントの説明以外では誰も使っていない成果物ができてしまうということが実際に起こっています。まずは、自分たちの作業を尊重して作業を進めることを第一ステップとしてください。  プロセスは、段階的に改善していく「現状手順をベースに作業すると、すぐに能力ベルが上がらないじゃないか!」、「上司からは、顧客要求だから1年後に能力レベル3が必達だ!と言われている」という声が聞こえてきそうです。それは、確かにリアルワールドで起こっていることだと認識しています。目標到達までの時間は、現状いる位置により異なりますよね。従って、まずは自分のいる位置をきちんと把握した上で、議論することが必要です。 Automotive SPICEを要求してくる欧州自動車メーカーも、プロセスに関するプロフェッショナルです。発注前のアセスメント結果(サプライヤーの現状の立ち位置)があまりにも低い場合は、無理な要求はしないはずです。それは能力レベルを1段階向上させるために要する時間を経験上知っているからです。言葉を変えると、そのような評価になったサプライヤーには発注しないはずです。ノミネーションに残ったということは、それなりの期間で能力レベルの向上が可能だと判断したということなのです。 現状の立ち位置から目標到達までの改善計画を立案し、自動車メーカー(あるいは会社の上司)と合意しながら進めていくことが最短の道のりとなるはずです。ぜひ、従来の作業方法に自信を持って、アセスメントモデルに翻弄されない活動をしていただけるよう切に願います。 プロセスの可視化のステップのわかりやすい事例が、CMMI関連の技術文書に書かれているので、プロセス能力の向上という観点からプロセスの可視化のイメージをつかんでください。  能力レベルとは、作業(プロセス)の定着度合いを示す指標だと考えてみてください。プロジェクトの経験から得た学びを、継続的に改善を繰り返すことで段階的にプロセス能力の向上が可能となります。この過程では、「プロセスが適切な粒度で可視化」されるようになることで、その粒度でプロセス実績が計測可能となり、結果としてプロセス実績のばらつきが少なくなっていくことになります。  「文書化されたプロセスが使われない」もう1つの要因作成者が苦労して作成したプロセスも、開発メンバーに使ってもらえなければ、まったく意味がありません。残念ながら、数多くの組織やプロジェクトで、このような状況が起きています。もう一度「プロセスの可視性」と「予測される実績」の図を見てください。プロセスが可視化されていても、開発メンバーに浸透していなければ「能力レベル1」の状態と変わりません。たとえプロセスが文書化されていても、そのプロセスを意識せずに各メンバーが思い思いの方法で作業しているのであれば、プロセスは雲の中にある状態と変わらず、実績もついてこないことは容易に想像できると思います。 なぜこんなことが起こってしまうのでしょうか?誰が考えても、この無駄な状況を理解できると思います。ズバリ!日本の文化では、「Process」の必要性を多くの人が感じていないのだと思います。特に、人と人との擦り合わせの中で業務をしていく習慣が強い日本では、その場その場で臨機応変な対応を迫られます。ここが、外来語である「プロセス」の難しいところだと思っています。たとえプロセスを文書化しても、プロセス通りには作業できないことが日常で多く起こってしまうのかもしれません。あるいは作業計画を作成したが、要件変更が日常的に発生し、計画しても意味がないということが日本では多いようです。 一方、日本でも擦り合わせだけではうまくプロジェクトを回せない状況になりつつあります。例えば、Z世代のような若い人たちの考え方の変化、海外を含めた多拠点開発や分業制の必要性など、開発プロジェクトの環境は欧米に近づいてきています。従って、このままの状況を放置していくことは良いことではありません。  では、「プロセス」にはどのように向き合っていけばよいのでしょうか?第一に、プロセスを確立することの目的を明確にし、その価値を共有することです。 プロセス管理の前提は、製品品質や生産性の向上が直接的な焦点ですが、最終ゴールは事業への貢献にあります 従って、プロセスは経営者や上級管理者の事業への思いを実現する手段でなければなりません 欧州自動車メーカーは、Automotive SPICEをプロジェクト要求としてインプットしてきますが、彼らがアセスメントモデルを活用する背景には、プロセス管理の前提を理解した経営層が組織運営しているサプライヤーと幅広く長期間の取引をしたいという目的もあるのです 次に、目的を達成するためのアプローチを経営側面で決定し、段階的に進めながら最終ゴールを目指すことです。 初めから高望みははしない アセスメントモデルで使用される各能力レベルへの到達指標は、その評点に大きな幅(50点から85点)があることを認識してください 最初の目標は50点で良しとし、次の段階で85点以上を目指すようなアプローチが可能になっています はじめから重厚長大なプロセスを作っても、使われなくなるという副作用が増すだけです 能力レベルの評点に大きな幅を持たせているのは、プロセス改善で起こりうる状況を考慮した上で、段階的なアプローチを可能にするためなのです  プロジェクト個別に進めるのか、最初から組織標準を導入するのか? Automotive SPICEのようなプロセスモデルの本質を理解して、アプローチを決定することが良いでしょう アセスメントモデルでは、組織標準の適用段階は能力レベル3であるということを理解しておくことも重要です 経験則的に、プロジェクト内の決め事が徹底できない状況のプロジェクトに、組織標準を適用し浸透させることは至難の業です プロセスの作成に専任リソースを準備するのか、プロジェクトメンバー全員が参加する方法(プロジェクト業務との兼務)で実施するのか? ここには正解はなく、経営者や管理者の思いで体制を構築することが最善策となるでしょう  たとえば下記の2つの考え方は、人によって異なるはずです: 兼務の場合、プロジェクト業務がひっ迫するとプロセス改善活動がおろそかになるため、専任リソースによる活動が望ましい 専任リソースがプロセスを定義すると、プロジェクトの思いとは異なるプロセスができやすく、浸透しにくいため、全員参加が望ましい ここで重要なのは体制ではなく、経営者・管理者が自分の思いで活動を主導することであり、これができる組織は必ず成功しています 最終的なゴールを最初からある程度想定しながら、段階的にゴールを変更していくことも重要かもしれません。筆者は、これまでの経験(自社や他社の取り組み)から、最終ゴールは、「ツール上で日々の仕事ができるようになれば、担当者はプロセス文書を見なくても仕事ができる状態にすること」だと考えています プロジェクト計画書の作成を例に挙げると: 日本では、計画書のテンプレートを準備して、人手により時間をかけて書いていることが大半です 欧米では、日々の作業に必要なWBSタスクや役割分担などをツール上で管理者が定義し、担当者はWBSに従って作業し、実績を入力する方法が一般的です これは、ツール上にある各タスクが日々の作業計画であり、作業記録が進捗状態だという合理的な考え方です プロジェクト計画書を他者に見せる必要がある場合は、「計画書作成ボタン」を押すと、ツール上に組み込まれたテンプレートに必要なデータ要素が組み込まれ、自動で印刷されるような仕組みが導入されています欧米のケースでも、プロセス文書は存在しており、それはツールの設計図という位置づけに加えて、各ツールの機能画面から必要に応じて簡単に参照できるようになっています  さいごに筆者は、全社にCMMIに準拠した標準プロセスを導入するように命じられた時、欧米人を1名プロジェクトに加えてくれとお願いしました。なぜならば、カタカナで分かりにくい内容のものを導入するなら、文化的に「Process」という扱いに慣れた人材の投入が最短だと思ったからです。残念ながら願いは叶わず、プロセス能力が上がるまでに長い時間がかかってしまいました。しかしながら、長い年月をかけて数多くの挫折を経験できたことで、開発現場におけるプロセスとの向き合い方に関するノウハウを得られたことは貴重な体験でした。今回のコラムが、同様の悩みを持たれている方々への一助になれば幸いです。 弊社では、プロセスアセスメントモデルを扱う際に発生する課題や教訓を記載したコラム(Automotive SPICE(アセスメントモデル)の功罪)も発行しておりますので、こちらもご参照ください。 次回は、プロセスを文書化していく際に有効な「プロセスモデリングの原則」を取り入れたプロセスアーキテクチャに関するコラムをお届けする予定です。(日吉昭彦)

コラム

“やりすぎFMEA”に終止符を ─ 生成AIを使ってもっと「創造」しよう ─

はじめにあるお客様から「FMEAの作成に膨大な労力を費やしており、作業を効率化したい。」というご相談をいただきました。これは、多くの開発現場に共通する悩みではないでしょうか。FMEAをはじめとした設計ドキュメントは、品質と安全を確保するうえで欠かせないものです。しかし実際の現場では、開発プロセスに則った各種設計ドキュメントの作成に多くの工数と時間が割かれ、「創造」よりも「作業」に没頭する比率が大きくなってしまうケースが少なくありません。そこで私たちは、生成AI(ChatGPT)を活用し、FMEA作成のプロセスをどこまで自動化・支援できるかを試行する取り組みを行いました。結果として、「FMEAとしてそのままでは使えない部分がある」という課題は残るものの、AIによるたたき台生成の有効性と工数削減効果は明らかであり、「生成AIは必ず使える、確信を持てた」という非常に前向きな評価をいただきました。このコラムでは、その検証結果とともに、FMEA作成に潜む根本的な課題と、それらに対する生成AIの有効性についてご紹介します。 FMEA作成における3つの課題ご承知の通り「FMEA(Failure Mode and Effects Analysis:故障モード影響解析)」は、車載システムの信頼性・安全性を向上させる必要不可欠な設計作業のひとつです。しかしその一方で、作成やレビューにかかる労力が大きく、多くの開発チームにとって「やりすぎになりがちな成果物」の代表格でもあります。実際の現場では、以下のような課題を抱えています。 経験と知識に大きく依存し、属人化しやすい機能安全やフェールセーフ設計など、FMEAには高度な専門知識が必要です。そのため、成果物の質が担当者のスキルや経験に左右されやすく、再利用性やナレッジ共有が難しくなる傾向があります。 組み合わせが膨大で、表の編集作業が重い制御ブロックと信号の組み合わせは膨大で、それぞれに対して故障モードや影響、対策を網羅的に記述しようとすると、膨大なセル数のFMEA表が出来上がります。手作業による展開は工数負荷が高く、更新ミスのリスクもあります。 多人数によるレビューが不可欠だが非効率FMEAの信頼性を担保するためには、複数の有識者を集めたワークショップ形式のレビューが必要となるケースも多く、調整と討議に時間も手間もかかり、調整に追われる場面も多く見受けられます。 生成AIは、これらの課題にどう貢献するのか?今回の検証では、ChatGPTに対して「構成ブロック図」「各ブロックの機能概要」「入力信号のリスト」を与えることで、自動的にFMEAのたたき台を生成するプロセスを試しました。その結果、以下のような具体的なメリットが得られました。 ナレッジの再利用・標準化が可能にChatGPTには、FMEAの基本構造や業界でよくある失敗事例、設計パターンがすでに学習されています。そのため、個人の経験に頼らず、一定の質で初期案を出力できるのが大きな強みです。もちろん、閉域ワークスペースで企業独自のテンプレートや言い回しをAIに学習させることで、自社専用のFMEAナレッジベースを築くことも可能です。 膨大な組み合わせを高速処理従来はエンジニアが手動で展開していたパターンを、AIが論理的に組み合わせて網羅的に出力します。これにより、記述作業にかかる時間を大幅に短縮し、レビューや検討といった本質的な作業に集中できます。今回はFMEA作成に必要な入力情報が準備できた状態から、設計者の手作業だと数週間必要な「FMEA初稿作成」が数時間で対応可能でした。(作業時間短縮試算:80時間(10日間)が4時間に!)実際の工程としては、FMEA初稿作成以降の作業工数(レビューや成果物としての仕上げ)が必要ですが、今回は未評価でした。 レビューを「ゼロからの作成」から「AI出力の確認」へシフト生成されたFMEAはあくまで「たたき台」であり、人による確認と修正は必須です。しかし、ゼロから考えるのではなく、AIが出力した案に対してレビューを行うスタイルに変えることで、ワークショップの効率が格段に向上します。 FMEAにとどまらない、生成AIのポテンシャルこの検証を通じて、私たちはFMEAだけでなく、他の設計成果物(機能仕様書、検証仕様書など)への展開可能性でも同様に大幅な効率改善ができると強く感じました。これからの開発プロセスとして、「まずAIにドラフトを書かせる→人がレビューして精緻化する」という流れが、従来の作業スタイルを大きく変える可能性を持っています。我々としては車載システム開発プロセスに生成AIの活用を組み込みたいといったご要望に対応していきたいと考えています。 おわりに創造的な開発のために開発現場はこれまで、品質を担保するために膨大なドキュメント作成やレビュー作業を背負ってきました。しかし、そのプロセスが目的化してしまえば、本来注力すべき設計検討や創造的な活動の時間が圧迫されてしまいます。生成AIは、こうした作業を効率化するだけでなく、エンジニアが本来注力すべき「創造」や「発想」に時間を取り戻すツールでもあります。「やりすぎ設計書」に終止符を打ち、知的資産を活かしたスマートな開発プロセスへ。生成AIとの協調は、技術者の働き方そのものを変える可能性を秘めています。今回のコラムはいかがでしたでしょうか?本コラムの内容が、生成AIの活用や開発プロセスの見直しのきっかけになれば幸いです。お客様のご相談内容に対する具体的な実施内容や効果を導入事例としてまとめました。こちらもお目通しいただければ幸いです。生成AIを活用した設計ドキュメント作成プロセス効率化支援ご相談いただければ、これまでの経験を活かしてお力になれることもあるかもしれません。どうぞお気軽にお問い合わせください。 (越智功)

コラム

Automotive SPICEを使って業務は改善されているのか?

はじめに「Automotive SPICEを導入してプロセスを整備したけど、本当に現場の役に立っているの?」そんな声を、あなたの組織でも聞いたことはありませんか?たとえば「開発標準は整っているけれど、実際には形骸化していて使われていない」「レビューやチェックリストの数は増えたが、かえって手間が増えて効果が見えない」--こうした現場のモヤモヤは、多くの組織で共通しています。Automotive SPICEの導入やアセスメント対応を契機に、プロセスを整備したものの、「かえって開発がやりにくくなった」「成果が感じられない」という声が上がることも少なくありません。この背景には、“プロセスを定義すること”と“改善すること”が混同されているという問題があります。文書化や標準化はあくまでスタート地点。定義されたプロセスが現場に定着し、実際の課題に対応して見直されてこそ、本当の意味での「改善」と言えます。プロセス改善グループ(EPG:Engineering Process Group)は、開発組織のパフォーマンスを高めるために活動していますが、定めたルールや仕組みも、現場に馴染まなければ“形だけの改善”となり、かえって現場の負荷や反発を招く結果にもなりかねません。本コラムでは、Automotive SPICEなどの成熟度モデルを活用するうえで、プロセス改善が“やりっぱなし”にならず、継続的に成果へとつながっていくための鍵として、EPGと現場との対話、そして改善サイクルの回し方について考えてみます。「やりっぱなし」から脱するには、現場との対話が必要プロセス改善活動のなかで、ありがちな失敗の1つが「とにかく標準を整えよう」「レベルを上げよう」といった目的化の罠です。プロセスの完成度やドキュメントの網羅性を追い求めるあまり、現場の課題感や使い勝手が置き去りになる――その結果、「改善活動が負荷として認識されてしまう」という状況を招いてしまいます。こうした“やりっぱなし”の背景には、「変えたら終わり」という思い込みが潜んでいます。しかし本来、プロセス改善は「一度仕組みを作って終わり」ではありません。運用され、計測され、見直されるというサイクルを回してこそ、本当の意味での“改善”が成立するのです。たとえば、ある開発チームでは、レビューの指摘数や重大バグの混入率といったKPIを継続的に追跡していました。分析の結果、「アーキテクチャ設計レビューでの指摘が少ない一方で、後工程でのバグが多い」という傾向が明らかになり、EPGが設計レビューの観点やタイミングを見直す取り組みを支援しました。具体的には、レビュー観点にシナリオベースの確認を加えたり、関連ドキュメントの整合性チェックを強化するなどして、設計段階での問題発見率が向上。結果として、後工程での重大な不具合流出が有意に減少しました。このように、定量的な観測と実践的なフィードバックを通すことで、改善活動が“やりっぱなし”で終わらず、継続的に改善サイクルを回していく原動力になります。現場に「関わる」ことで、プロセスが生きてくる改善活動が現場に受け入れられ、成果につながるかどうかは、EPGがどれだけ現場に寄り添っているかにかかっています。ある組織では、EPGメンバーが現場のレビュー会議にオブザーバーとして参加することで、レビュー観点の形骸化やチェックリストの実態に合わない運用に気づくことができました。「この観点は、実際には誰も使っていない」「この手順は無理がある」――そんな声を拾い、現場とともにプロセスや観点を見直した結果、レビューの質が改善し、抜けや漏れが減るという成果が生まれました。これは、EPGが“改善する側”ではなく、“一緒に改善する仲間”になることで初めて得られた成果です。プロセス改善を“プロセスのための活動”にせず、現場の本音や実情を反映するためには、こうした「対話」「関わり」「フィードバック」が欠かせません。さいごに今回のコラムはいかがでしたでしょうか?Automotive SPICEは、業務をより良くするための仕組みであるはずです。しかし現実には、「形だけの対応」や「負担ばかり増える」といった声も少なくありません。本コラムが、「改善は本当に現場の役に立っているか?」という視点で、今一度プロセス改善のあり方を見直すきっかけになれば幸いです。EPGという立場だからこそできる“現場との対話”や、“小さな気づき”の積み重ねが、Automotive SPICEを「業務改善のためのツール」として真に機能させる第一歩になります。現場のリアルに触れながら、実践的な改善のヒントを共有できるよう、これからも発信していきたいと思います。(安部宏典)

コラム

プロジェクトマネージャーの成長を支える羅針盤──PMCDとは何か?

はじめに現在、車載システム/ソフトウェア開発の複雑な事業環境において、プロジェクトマネージャー(PM)の役割はますます重要になっています。しかし、優れたPMになるために必要なスキルや知識とは、果たして何なのでしょうか?必要な知識をまとめたものとしてはPMBOK® が有名ですが、求められるスキルや育成については明確な定義がありません。そこで登場するのが「PMCD(Project Manager Competency Development Framework)」です。 PMCDの位置づけと背景PMCDは、PMI(Project Management Institute)によって開発されたフレームワークであり、プロジェクトマネージャーに求められる「能力」を体系的に整理したものです。単なる技術的なスキルセットではなく、「知識(Knowledge)」「パフォーマンス(Performance)」「個人特性(Personal Competencies)」の3側面から成り立っており、総合的なコンピテンシーを育成・評価することを目的としています。3つの柱:PMCDのコンピテンシー構造 知識(Knowledge):PMBOK® Guideをベースにしたプロジェクトマネジメント知識体系。プロセスやツール、手法の理解がここに含まれます。 パフォーマンス(Performance):知識を現場でどう活かすか。実際のプロジェクトで成果を出せるかが問われます。 個人特性(Personal Competencies):コミュニケーション能力、リーダーシップ、倫理観など、人物としての資質に関する領域です。この三位一体のアプローチは、単なる資格取得以上に、実務家としての進化に焦点を当てているのが特徴です。さらに、このコンピテンシー構造は、業界や組織が持つ固有のパフォーマンス要件によって、補完&拡張されること許容しています。それぞれのコンピテンスの程度は、コンピテンス指標によって5段階のレベルが定義されています。 3つの柱の内部構造知識のコンピテンスPMP試験や同等の資格認定に合格することで立証されるものとしており、PMCDの定義外ですが、PMに求められる知識を「人」「プロセス」「ビジネス環境」に分類しています。 実践のコンピテンスマネージャーが、プロジェクトマネジメント知識と個人のスキルによって、実施できるまたは達成できていることを評価する領域です。PMBOK® 第3版の知識エリアに基づいて、コンピテンス要素を定義しているだけでなく、パフォーマンス基準と証拠資料を使って、コンピテンス要素を評価する仕組みを提供しています。 個人特性のコンピテンスマネジメントする各プロジェクトメンバの能力に貢献する、振る舞い・態度・文化的な影響およびコアとなるパーソナリティ特性を定義しています。マネージャーは、他者と効果的なやりとりができるスキルをもつことは重要であるため、6つのコンピテンスユニット「コミュニケーション力」「リーダシップ力」「マネジメント力」「認識力」「実効力」「プロフェッショリズム」を定義しています。さらに、実践コンピテンスと同様に、コンピテンス要素を定義しているだけでなく、パフォーマンス基準と証拠資料を使って、コンピテンス要素を評価する仕組みを提供しています。 なぜPMCDが今、注目されるのか?変化の激しい時代において、プロジェクトマネジメントはもはや「計画を守る」だけでは不十分です。ステークホルダーの多様化やアジャイル型の開発環境では、「状況に応じて適応できる力」がPMに求められます。PMCDは、そうした多様な能力を総合的に見える化し、継続的な能力開発のガイドラインを提供する点で、非常に有効です。 ビジネスガレージが提供するPMスキル可視化サービスビジネスガレージでは、組織が求めるPMを育成するご支援の一環として、PMCDや他のフレームワークも活用した、皆さんの組織の特徴や文化に適合したPMスキル可視化をご支援しております。プロジェクト特性や組織特性を考慮して、「会社が期待するプロジェクトマネージャ像」を、お客様と一緒に作り上げます。弊社の熟練専門家が、ドキュメントやヒアリングを通じて、組織の特徴を整理するだけでなく、プロジェクトマネージャへの期待を明文化し、期待するプロジェクトマネージャが保有すべきスキルを言語化します。  既成のフレームワークに囚われない、実用的なスキル定義をご提供しておりますので、興味のある方は是非お問い合わせください。 さいごに自己評価と育成の道しるべとしてPMCDは評価のための“物差し”であると同時に、成長のための“地図”でもあります。自らの強みや課題を客観的に把握し、戦略的にキャリアを築いていくうえで、非常に有用なツールといえるでしょう。 内山哲三

コラム

Automotive SPICE MAN.3 計画の計画(GP2.1.2)とは何か?

皆さんご承知のように、Automotive SPICE の能力レベル2では、プロセスに対する目標設定や計画、監視と制御などが求められています。例えばソフトウェア要求分析(SWE.1)では、要求分析の作業を計画的に進めるために、WBS(Work Breakdown Structure)などを使用して管理するわけですが、プロジェクト管理(MAN.3)の作業を計画的に進めるとなると、何を実施すればよいのかわからなくなってしまうケースが多いようです。そこで今回は、MAN.3の GP2.1.2 をどのように捉えればよいかを解説いたします。 ここでは、「計画の計画って何?」ということを良く耳にします。「プロジェクト計画策定計画」なる書類を作成しているプロジェクトも見たことがあります。おそらく、MAN.3 の主要成果物がプロジェクト計画書なので、プロジェクト計画を作成するための計画が MAN.3 の GP2.1.2 になると言いたいのだろうと思います。確かに、プロジェクト計画書はプロジェクトの初期に作成することが重要でありながら、タイムリーに作成されないことが多く、プロジェクト計画を作成するための計画が必要だということは間違っていないのかもしれません。しかしながら、あまりにも Automotive SPICE にこだわりすぎた事例だと思いませんか?プロジェクト計画作成というタスクが1つ(あるいは不随した複数のタスク:例えば日程計画、工数見積もりなど)あれば十分だと思います。  実際に実施している作業や、計画・管理として重要な側面を考えていくことで、実施すべき作業(あるいは Automotive SPICE への適用)が見えてくると思います。 実際に、計画に関連する作業を一般事例の中から抽出してみます: ウォーターフォール的なライフサイクルを適用している場合  プロジェクトの開始当初に、大日程を作成する- 機能一覧を作成し各機能に必要な概算工数を見積もる- 大日程上の各工程で必要となる作業を洗い出し中日程を作成する- 各工程に必要な概算工数を算出し、プロジェクト合計工数として積み上げる  各工程の開始時に、工程内で必要なタスクを抽出し、小日程を作成する- 各タスクに必要な工数を算出する- この際、当初算出した工程工数との差異を分析する- 必用に応じて対策を検討し、全体計画を修正する  各工程の終了時に、工程内で使用した実績工数を集計する- 工程開始時に算出した工程工数との差異を分析する- 必用に応じて対策を検討し、全体計画を修正する アジャイル的なライフサイクルを適用している場合 プロジェクトの開始当初にイテレーション数、スプリント回数・期間を決める- バックログを作成する- 各イテレーションに割り当てる要件を決定する  各イテレーションの開始時に、スプリントを計画する(スプリントプランニング)- 各スプリントに割り当てる要件を選択して、ストーリーポイントを算出する- 各スプリントに割り当てる要件をバックログから選択する- 要件毎に作業タスクを決定する 各スプリントの終了時に、スプリントの状況を評価する(スプリントレトロスペクティブ)- 次のスプリントに持ち越す要件、中止する要件などを精査しバックログを修正する 各イテレーションの終了時に、イテレーションの状況を評価する- バックログを精査し、全体の計画を見直す いかがでしょうか?ここに記載した内容はプロジェクトの中で当たり前のように実施している作業だと思います。計画の計画(MAN.3 のGP2.1.2)とは、これらの作業が実際に行われていれば良いのです。つまり、プロジェクト計画書作成計画というような計画書だけが焦点ではなく、都度進んでいく工程(アジャイルの場合はイテレーションやスプリント)ごとに、初期計画を詳細化する(あるいは見直す)ことが、計画作業そのものなのです。これらを計画的に進めるためには、WBSタスクの設定や作業者のアサイン、作業工数の見積もりなどが必要になってくることは言うまでもありません。 最後に余談ですが、MAN.3 GP2.1.3(リソースのニーズを決定する)/GP2.1.4(リソースを識別し、利用可能にする)について補足いたします。上記で説明した例のように開発ライフサイクルが異なってくると、人的リソースや物理的リソースへの要求事項も変わってきます。例えば、アジャイル手法を用いるプロジェクトでは、プロダクトオーナーやスクラムマスターといった役割が登場します。また、管理手法もカンバンやバーンダウンチャートなどを使用することになります。プロジェクトで採用するライフサイクルにより、計画・管理のタスクや役割・スキル要件、必要なツールが異なってくることを再認識できますね。例えば今回の計画の計画のように、一瞬戸惑うことがあるかもしれませんが、日々実施していることを整理することで、無駄な作業を追加することなくAutomotive SPICEへの適用ができるはずです。 日吉昭彦

コラム

Automotive SPICE 4.0 トレーサビリティと一貫性に関する変更点(SYS/HWE):HWE導入によるプロセスのギャップ解消

Automotive SPICE 4.0 では、従来のソフトウェア中心の構成から一歩進み、ハードウェアエンジニアリング(HWE)という新たなプロセス領域が追加されました。今回は、トレーサビリティと一貫性の観点から、SYS(システムエンジニアリング)とHWEの関係性に焦点を当て、HWE導入がもたらすプロセス上のギャップ解消について説明します。 ◆Ver3.1までの課題Ver3.1までは、ハードウェア開発に関するプロセスが明示的に定義されておらず、多くの組織では以下のような課題が見られました。 ハードウェア要求が体系的に管理されていない 設計と要求のトレーサビリティが不十分 ソフトウェアと比較してプロセス成熟度が低く、属人化しやすいこのような状況では、システム全体の整合性を保つことが難しく、特に安全性や信頼性が求められる領域では大きなリスクとなっていました。 ◆HWEの登場とその意義Ver4.0で新設されたHWEプロセス領域は、ハードウェア開発を「要求定義 → 設計 → 実装 → 検証」という一連のプロセスとして明確に定義しています。これにより、以下のような効果が期待されます。 ハードウェア要求の明文化と管理 設計成果物とのトレーサビリティ確保 SYSとの整合性チェックの仕組み化 ソフトウェア開発とのプロセス統一による連携強化特に、SYS-HWE間のトレーサビリティが明確になることで、システム全体の一貫性が担保されやすくなります。 ◆トレーサビリティと一貫性の実現HWE導入により、以下のようなトレーサビリティの流れが構築されました。  SYS.2(システム要求分析)で定義されたシステム要求が、 HWE.1(ハードウェア要求分析)に引き継がれ、 HWE.2(ハードウェア設計)で設計に反映され、 HWE.3(ハードウェア設計に対する検証)で設計が検証され、 HWE.4(ハードウェア要求に対する検証)で要求が検証されるこの一連の流れにおいて、各プロセス間で要求のトレーサビリティのリンクを明示的に管理することで、変更が発生した際にも影響範囲を迅速に把握でき、設計ミスや手戻りのリスクを低減できます。また、SYSとHWEの間で一貫性チェックを行うことで、要求の解釈違いや設計のズレを早期に発見することが可能になります。 ◆まとめVer4.0におけるHWEの導入は、これまで曖昧だったハードウェア開発プロセスに明確な枠組みを与え、SYSとの連携を強化する大きな一歩です。特にトレーサビリティと一貫性の観点から見ると、システム全体の品質向上とリスク低減に直結する重要な進化と言えるでしょう。今後は、HWEプロセスの実装と定着を通じて、ソフトウェアとハードウェアが真に連携した開発体制の構築が求められることになると思います。佐藤崇

コラム

システムの論理構成と物理構成について

はじめにAutomotive SPICEのプロセスである、SYS.3 システムアーキテクチャ設計プロセスでは、システムの機能要求と非機能要求に関して、静的/動的の両側面での設計が期待されています。 しかしながら、システムの構成要素であるセンサ・アクチュエータ・制御回路・マイコンなどに、システム要求をどのように割り当て、実装することが最適なのかを分析・検討することは難しいものです。単に、Automotive SPICEに期待されているように、静的な側面と動的な側面で設計結果を図案化しても、適切な設計をした根拠として少し心もとないですし、「流用元のシステムがこうなっているから」では説得力にも欠けます。今回は、システムエンジニアリングの国際標準である「ISO/IEC 26702 IEEE Std 1220-2005, Systems engineering – Application and management of the systems engineering process」を参考に、システム要求からシステムを設計する流れを解説していきます。 機能アーキテクチャと物理アーキテクチャシステム要求を実現するシステム構造は1つではありません。複数の実現案がある中から最適なシステム構造を決定していく必要があります。そのため、まずシステム要件を満たすために、システムが保有すべき、論理的な機能を定義し、それらの関係を整理していく必要があります。そして、これらの機能を、その後定義するシステムの構成要素(センサ・アクチュエータ・制御回路・マイコン)に割り当てていきます。システム構成要素を定義したものが物理アーキテクチャになります。システム設計の全体の流れを簡単に示すと下図のようになります。 機能分析機能アーキテクチャは、システム要件を満たすために、実行の順序、制御フローまたはデータフローを定義した機能・サブ機能および内部/外部インターフェースを整理したもので、システムの論理構成を示したものです。また機能アーキテクチャでは、システム機能をサブ機能に分解 (細分化) した結果生じる、サブ機能の機能的な配置と順序を検討する必要があります。この際、この後物理アーキテクチャを考慮せずに必要な機能配置を分析することがポイントになります。システム要件をインプットに、機能アーキテクチャを設計するためのプロセスは以下のようになります。  ここでの「振る舞いの分析」や「機能間インタフェース」の定義が、Automotive SPICEにおける静的な側面の仕様化の一部であり、「時系列の流れ」や「データフルーと制御フロー」の定義が、動的な側面の仕様化の一部となります。例えば、扇風機の機能アーキテクチャを設計した結果の一部である、論理構成のブロック図は以下のようになります。 ※具体的なやり方を知りたい方を知りたい方やトレーニングを受講されたい方は、是非お問い合わせください。 設計物理アーキテクチャは、機能アーキテクチャとシステム要件を満たすために、製品の設計結果提供する設計要素の配置を整理したものです。設計結果を定義し、検証された機能アーキテクチャの要件を満たす、システムの構成要素を特定します。機能アーキテクチャを元に、システム構成要素の配置、それらの分解、インターフェイス (内部および外部)、および設計制約を提供する物理(設計)アーキテクチャを設計していきます。この際、必要に応じて、複数の実現案を評価し、リスクを特定・評価・定量化し、適切なリスク軽減アプローチを選択した上で、コスト、スケジュール、およびパフォーマンスへの影響を分析することがポイントとなります。システム要件と機能アーキテクチャをインプットに、物理アーキテクチャを設計するためのプロセスは以下のようになります。    ここでの「機能をグルーピングし設計要素に割り当て」や「物理インタフェースの定義」が、Automotive SPICEにおける静的な側面の仕様化の一部であり、「設計特性や性能特性の定義」などが、動的な側面の仕様化の一部となります。例えば、扇風機の物理アーキテクチャを設計した結果の一部である、機能ブロックの設計要素への割り当て結果は以下のようになります。 ※具体的なやり方を知りたい方を知りたい方やトレーニングを受講されたい方は、是非お問い合わせください。 さいごにいかがでしょうか。単に、「システム要件をインプットに、静的設計と動的設計をして、システムアーキテクチャを設計しろ」と言われても、具体的に何すべきなのかはわかりにくと思います。しかしながら、システム要件を元に、必要なシステム機能を定義して、適切なシステム構成要素を定義する流れを想像してみれば、システムアーキテクチャ設計が少しイメージできるかと思います。SYS.3 システムアーキテクチャ設計プロセスを実装する際に、参考にしていただければ幸いです。 内山哲三