プロジェクトの開始点で要件を特定し、確立することは、成功を達成するために重要です。この記事は、いくつかの基本概念とAltium Develop要件とシステム機能の使用を通じて、エンジニアリングプロジェクトでの要件管理計画の作成を紹介することを目的としています。このブログは、エンジニア、専門家、プロジェクトマネージャー、製品マネージャー、および要件管理計画の作成方法を理解する必要があるすべての人を対象としています。
さらに読む: 現代の電子ハードウェアチームのための要件管理ガイド
明らかではありますが、「要件とは何か」という問題について考える価値があります。辞書によると、要件とは「何かをするための必要な状況や条件」です。エンジニアリングの世界では、要件はユーザーやクライアントとプロジェクトの開発者との間のコミュニケーション手段です。特に大規模なプロジェクトでは、これがユーザーが開発者に何を望んでいるかを伝える数少ない方法の一つです。
自動車プロジェクトにおける要件の例:
「ユーザーはクルーズコントロールを使用して、事前に定義された速度で自動的に移動できるようにする必要があります。」
次のように言われています:「要件の定義と管理が不十分だと、莫大なコストがかかり、プロジェクトの実行に失敗する可能性があります。」
要件の定義は非常に重要であり、一般的にクライアントとサプライヤー間の契約の基礎を形成します。要件で定義されたものはプロジェクトで考慮され、クライアントによって要求される場合がありますが、要件の定義に現れないものは、プロジェクトの納品フェーズで要求されるべきではありません。
したがって、要件を書く責任がある場合、私たちは次のことを行うべきです:
この一連の行動は要件管理計画として知られています。プロジェクトの生涯を通じて要件を特定、定義、追跡するマネージャーや管理チームを組織内に持つことが非常に重要です。
要件を書くことは、見かけほど単純でありふれた作業ではありません。一定の基準を満たす必要がある文書です。したがって、要件は次のようでなければなりません:
よく書かれた要件の例:
要件が不十分に書かれた例:
上記の例では、よく書かれた要件は簡潔で、何が求められているかを曖昧さなく完璧に定義していますが、不十分に書かれた要件はテキストが多すぎて何も貢献せず、読者を混乱させ、不正確です(コンポーネントをどの側に配置すべきかを定義していません)。
要件は常に必須であるため、「shall」を使用して書くべきです。要件が好みや願望(義務ではない)の場合は、「should」を使用して定義できますし、「may」も提案や許可が与えられた場合に使用できます。
上記に加えて、要件を定義する際にはいくつかの基本ルールに従う必要があります:
定義された各要件には、要件定義およびレビュー中、またプロジェクト実行フェーズのいつでも参照できるように、一意のIDが必要です。Altium Develop requirements and systems capabilitiesを使用した要件識別の例を示します。
主に2種類の要件があります:
これらの機能要件と非機能要件の組み合わせは、システム仕様として知られています。システム仕様では、要件は次のレベルに従ってグループ化されます:
初期または顧客要件は、プロジェクト開始前にクライアントまたはユーザーから直接提供されるものです。これらは、クライアントのニーズを捉えるために重要であり、要件マトリックスを作成するための出発点として機能します。その後、システム仕様は、プロジェクトの各部分に関連する詳細レベルに基づいて要件を整理します。この方法で、完全なシステムに適用されるシステム要件と、システムの特定の部分にのみ適用されるサブシステム要件があります。これを例で説明しましょう。
新しいスマートウォッチを作成するプロジェクトを開発していると仮定しましょう。したがって、システム要件はセットに適用されるものです(以下の例を参照):
システム要件が定義された後、残りの要件は異なるサブシステムに分割されます。
スマートウォッチ開発プロジェクトの例に従って、サブシステムの例には以下が含まれます:
したがって、サブシステム要件の定義は以下のようになります:
このような要件の構造化された組織化により、定義、追跡、管理が容易になります。
要件管理計画では、要件のトレーサビリティが不可欠です。これは、プロジェクト全体で要件の実装の進化を追跡または観察することを意味します。
スマートウォッチプロジェクトの例を続けると、製品の回路図が設計された後、エンジニアとマネージャーは、次のステップ、この場合はPCBレイアウトに進む前に、設計されたソリューションが定義された要件を満たしていることを確認するために、必要なだけ多くの会議を開催する必要があります。
Altiumの要件とシステム機能の開発は、このタスクを支援します。これは、要件がAltium内で直接定義された可視性を提供するためです。つまり、マネージャーとエンジニアは、Webブラウザーを介してリアルタイムで設計内の要件を追跡できるようになり、コメントを追加したり、チームメンバーにタスクを割り当てたり、設計エンジニアに要件の変更のリアルタイムの可視性を提供したりすることができ、これにより、従来の設計およびレビューパラダイムが完全に変革されます。
要件を管理する方法はさまざまです。財政的な資源が少ない企業や独立した専門家は、バージョン管理されたスプレッドシートのようなシンプルで安価なツールをよく使用しますが、大企業では通常、DOORS、Valispace、Confluence、ReqViewなどの要件管理のための専門ソフトウェアを利用します。
前のセクションに基づいて、要件管理計画をプロジェクトの実行全体で、概念から商品化に至るまで、企業がステークホルダーのニーズや要件を定義し、管理し、検証し、そして検証するための一連の行動として定義することができます。次の画像は、標準的な要件管理計画のフローチャートを示しています。
すべてのエンジニアリングプロジェクトには、開発チームがクライアントのニーズとすべてのシステムおよびサブシステムの要件を完全に理解することを保証する要件管理計画が必要です。
要件を書くためには基本的なルールに従う必要があります。同様に、存在する要件の種類を理解し、それらを正しく分類する方法、および要件のトレーサビリティが何であるかを理解することが重要です。
要件は満たされるために書かれているので、プロジェクトの実行中にそれらを観察し、追跡することは非常に重要です。なぜなら、逸脱や非遵守が早期に検出されればされるほど、プロジェクトへの影響は少なくなるからです。
Altiumを使用して、その潜在能力を最大限に引き出すための要件とシステム機能を開発します。これにより、要件工学と開発工学の間の相互作用が大幅に密接になり、プロジェクトの逸脱の可能性が低減し、開発時間が短縮されます。