1. HOME
  2. コラム
  3. 導入事例
  4. USDMによる要求仕様書の改善を起点に、全社レベルの改善まで活動を拡大(コマツ様)

USDMによる要求仕様書の改善を起点に、全社レベルの改善まで活動を拡大(コマツ様)

  • LINEで送る
  • このエントリーをはてなブックマークに追加
USDMによる要求仕様書の改善を起点に、全社レベルの改善まで活動を拡大(コマツ様)

局所的な課題解決ではなく全体最適を見通したご支援

コマツ 髙木様

弊社では制御ソフト開発において要求仕様書を重要な基点(成果物)と考えています。よりよい開発へと継続的に改善を行うためには、課題や工数(変更工数、やり直し工数など)を適正に測定する仕組みが必要であり、また、開発初期においても適正かつ迅速な工数見積が期待されています。仕様の粒度が区々であると仕様の件数(変更や追加など)から工数見積が経験的にしか判断できないという課題もありました。さらに、最近では要求管理、特にトレーサビリティを把握するのに有効なツールがあり、要求と仕様間関係、要求間関係、仕様間関係を把握しやすくなってきてはいますが、ツールに入れる要求や仕様の内容や粒度の規定はツールによってなされていないため、それらを運用する手法が重要であると考えています。これらの解決手法の1つとして弊社ではUSDMを検討しており、エクスモーション様の支援によって改善中であります。これからも局所的な課題解決ではなく全体最適を見通したご支援を期待しております。


ソフトウェア要件定義にUSDMを導入して要求と仕様をヌケモレなく定義し、その成果を活用して設計・テストのプロセス改善を実施。更に、全社レベルの改善まで活動を拡大していった事例です。

1.支援前の課題

商品開発力の強化を目指すべく、上流工程の改善をしたい

お客さまの開発現場では、商品開発力の強化を目的として、主に上流工程での改善を検討していました。具体的には、以下の3点を考えていらっしゃいました。

  • 顧客要求のキャッチアップ
  • 要求を実現するための仕様の確定
  • 高品質での仕様の実現

その一環として、一部のプロジェクトでは設計工程にはMBDを導入し、改善を進めていました。しかし、要件定義の工程においては、フォーマットや記述レベルが統一されておらず、ばらつきがある、といった問題がありました。

当社へは、そのような問題を解決し、目的を達成するための支援をしてほしい、というご要望をいただきました。



2.支援の内容

設計の入力である要求に誤りがあると、設計工程を改善しても不具合はなくならない

現状をおうかがいし、まず、ご説明したのは次の2点です。

  • 要求と仕様の曖昧さは不具合の種になる
  • 設計工程が良くなっても、設計工程への入力に誤りがあると、不具合はなくならない

それを解決するために、要求から仕様に正しく展開し、ヌケモレや矛盾のない要求と仕様にするために、USDMを導入することをおすすめしました。

USDMとは、要求と仕様を分けて構造化し、定義するための方法です。

USDMについては、こちらの記事をご参照ください。
USDMの基礎について知りたい方はこちらの記事をご参照ください。


V字プロセスにおけるUSDMの適用箇所

実際の製品の一部にUSDMを適用し、有効かどうか評価する

実際の製品を題材としてUSDMを適用してみて、お客さまの開発や開発現場にとって有効かどうかを確かめるというやり方をご提案しました。

  • コンサルタント1名
  • 週に1日稼働
  • 6ヶ月間


3.支援の実施

支援期間の6ヶ月を3つのステップに分けて支援を実施しました。


【USDM導入のステップ】仕様理解⇒USDM作成⇒効果検証

ステップ1.仕様理解

まず、既存の開発成果物やマニュアルなどを元に仕様を理解しました。足りないところは、開発者の皆さんへのヒアリングして、USDMのインプットになる要求や仕様の情報を集め、整理しました。
整理した内容は、定例会の中でお客さまに確認することで理解を深めていきました。

ステップ2.USDM作成

今回のように、既存の製品や設計成果物がある場合、ボトムアップ的に要求仕様を作成します。
ステップ1.で理解した内容に加えソースコードも見ながら、既存資産から第一階層・第二階層の要求や仕様を作成していきます。
要求は不明だけど仕様が分かる場合、何のための仕様なのか、何を実現するための仕様なのか、といった仕様に対する「What」の問いをたて、要求を考えていきます。要求と合わせて、その要求の「理由」についても考えていきます。
要求とその理由を作成したら、要求を実現するための仕様を再度検討し、仕様の抜けがないか検討していきます。
不明点については、お客さまにレビューしていただきながら、USDMを完成させました。
ボトムアップから要求を抽出する方法については、こちらの記事をご参照ください。

ステップ3.効果検証

ステップ2.でUSDMを作成した結果、これまでのやり方に比べ次のような効果が得られました。

  • 未定義の仕様を明文化(32件)
  • 属人的で理由が分からない仕様を明文化(24件)
今回、USDMのフォーマットでレビューをすることにより、レビュー効率も上げられることを、定性的に実感していただきました。
また、USDMで定義した要求仕様と対応付けてテストケースを作成・管理することでテスト漏れを防ぐことができる、といったテスト自体の質の向上も狙えることを説明し、お客さま側でも、それを実感していただくことができました。
MBD(モデルベース開発)を導入されている場合、USDMで明確に定義した仕様が正しいか、早期に仕様を検証することで、上流での品質確保に役立ちます。
これらUSDMで作成した要求仕様を使った検証のレベル・検証方法についてまとめた資料を作成し、今後の継続的改善のための資料として提供しました。
サービスや料金について
詳しく知りたい方はこちら

4.支援の効果

USDMを要求と仕様を定義することで、具体的に次のような効果が得られ、充分効果があることを実証しました。

  • 未定義の仕様を32件明文化
  • 属人的で理由が分からない24件の仕様を明文化
  • 要求仕様の定義レベルに応じた検証のレベル・検証方法を明確化

今回の実績を元に、この後も支援を続けることになりました。

他製品の課題に対して、USDMによる要求仕様定義を起点とし、現場の状況に応じた様ざまな支援を展開しています。

V字プロセスにおける支援の展開

展開1.要求仕様と設計要素との紐づけ、設計要素の整理整頓

USDMで作成した要求と、設計要素との関わりを明確化し、複雑になっていた構造を見直しました。その上で、要求仕様と設計要素を紐づけ、要求や仕様の変更に対する影響箇所が分かるようにしました。

展開2.各段階のテストのスコープを明確化、テストと上流成果物の紐づけ

単体テスト・ソフトウェア結合テスト・ソフトウェア総合テストの各段階において、何をテストすべきかスコープを明確にし、それぞれのテストで効果的・効率的なテストができるようにしました。その上で、テスト項目と設計、USDMの関係性を明らかにし、紐づけを行いました。

展開3.顧客要求の獲得とソフトウェア開発の間にある、システム設計へ展開

「商品開発力の強化」という目的に対して、ソフトウェア開発まで結びつける間にある「システム設計」の領域に対して、システムズエンジニアリングのプロセスを導入する支援を実施中です。

展開4.USDMでの要求仕様書作成を全社で等しく実施できるためのガイドライン・教育の実施

いくつかの製品に対してUSDMでの要求仕様を作成した結果、多くの製品で適用することにより、全体最適が図れるとのことになり、全社展開をすることになりました。全社に展開するためのガイドラインの作成、そのガイドラインを理解してもらうための教育コンテンツ、教育の実施までご支援しています。

これらの展開については、今回は軽く触れた程度になりましたが、機会があれば詳しく事例を説明したいと思います。

エクスモーションの現場支援について、
更に知りたい場合はこちらより
お問合せをお願いします

5.担当者のコメント

開発の実態をよく把握し課題にきちんと向き合うことが重要

コマツ様では、これまでの開発手法を改めるべく様々なテーマで改善活動に取り組まれています。その中で現場に受け入れられる改善策を提案するには、開発の実態をよく把握し、コマツ様が抱える課題にきちんと向き合うことが重要だと考えております。開発対象や組織の特性によって、開発技術の効果的な実践方法が変わってくるからです。開発者の皆様との議論を深め、ご納得いただける提案ができるよう、引き続き努めてまいります。

コンサルタント 庄司 順和
専門分野

USDM、システム設計、自動車、建機

庄司 順和のプロフィール写真【専門分野】USDM、システム設計、自動車、建機
  • LINEで送る
  • このエントリーをはてなブックマークに追加