Business-analysis-quick-guide
ビジネス分析-はじめに
ビジネス分析とは?
ビジネス分析は、ビジネスニーズを特定し、企業のビジネス問題の解決策を決定するために必要な一連のタスク、知識、技術です。 一般的な定義は似ていますが、慣行と手順はさまざまな業界で異なる場合があります。
情報技術業界では、ソリューションにシステム開発コンポーネントが含まれることがよくありますが、プロセスの改善や組織の変更も含まれる場合があります。
また、組織の現在の状態を理解したり、ビジネスニーズを特定するための基礎として機能するために、ビジネス分析を行うこともできます。 ただし、ほとんどの場合、ビジネス分析は、ビジネスニーズ、目標、または目的を満たすソリューションを定義および検証するために実行されます。
ビジネスアナリストとは誰ですか?
ビジネスアナリストは、組織またはビジネスドメイン(実際または仮想)を分析し、そのビジネス、プロセス、またはシステムを文書化し、ビジネスモデルまたはテクノロジとの統合を評価する人です。 ただし、アナリスト、ビジネスアナリスト、ビジネスシステムアナリスト、またはシステムアナリストなど、組織の肩書きはさまざまです。
なぜビジネスアナリストなのか?
組織は、次の理由でビジネス分析を採用しています-
- システムが展開される組織の構造とダイナミクスを理解する。
- 対象組織の現在の問題を理解し、改善の可能性を特定する。
- 顧客、エンドユーザー、および開発者が対象組織について共通の理解を持つようにします。
プロジェクトの初期段階で、要件がソリューションおよび設計チームによって解釈されている場合、ビジネスアナリストの役割は、ソリューションドキュメントを確認し、ソリューションデザイナー(ITチーム)およびプロジェクトマネージャーと密接に連携して、要件は明確です。
典型的な大規模なIT組織、特に開発環境では、上記の役割を持つオンサイトおよびオフショアのデリバリーチームを見つけることができます。 両方のチームをリンクするキーパーソンとして行動する「ビジネスアナリスト」を見つけることができます。
時々、彼はビジネスユーザー、時には技術ユーザー、そして最終的にプロジェクトのすべての利害関係者とやり取りして、ドキュメントに進む前に承認と最終承認を得るでしょう。
したがって、BAの役割は、あらゆるプロジェクトの効果的かつ成功したジャンプスタートで非常に重要です。
ITビジネスアナリストの役割
ビジネスアナリストの役割は、組織のビジネスエリアの定義と範囲決定から始まり、要件の抽出、要件の分析と文書化、これらの要件の適切な利害関係者への伝達、適切なソリューションの特定、ソリューションの検証、要件は期待される基準を満たしています。
他の職業とどう違うのですか?
ビジネス分析は、財務分析、プロジェクト管理、品質保証、組織開発、テスト、トレーニング、ドキュメント開発とは異なります。 ただし、組織によっては、ビジネスアナリストがこれらの関連機能の一部またはすべてを実行する場合があります。
ソフトウェアシステムの開発のみに取り組むビジネスアナリストは、ITビジネスアナリスト、テクニカルビジネスアナリスト、オンラインビジネスアナリスト、ビジネスシステムアナリスト、またはシステムアナリストと呼ばれる場合があります。
ビジネス分析には、利害関係者、開発チーム、テストチームなどの間の連絡作業も含まれます。
ソフトウェア開発ライフサイクル
ソフトウェア開発ライフサイクル(SDLC)は、ソフトウェア組織内のソフトウェアプロジェクトで行われるプロセスです。 これは、特定のソフトウェアを開発、保守、交換、および変更する方法を説明する詳細な計画で構成されています。 ソフトウェアの品質と全体的な開発プロセスを改善するための方法論を定義しています。
- SDLCは、顧客と実際の要件の両方を満たす高品質のソフトウェアシステムを開発または再設計するためにITアナリストが使用するプロセスです。
- ソフトウェアのテスト、分析、およびプロセス後のメンテナンスに関連するすべての側面を考慮します。
SDLCの重要な段階は、次の図に示されています-
計画段階
すべての活動は計画から始めなければなりません。 計画に失敗すると失敗することを計画しています。 計画の程度はモデルごとに異なりますが、システムの仕様を作成することで、構築するものを明確に理解することが非常に重要です。
ステージの定義
このフェーズでは、システムの構造を分析して定義します。 アーキテクチャ、コンポーネント、およびこれらのコンポーネントがどのように組み合わされて作業システムを生成するかを定義します。
設計段階
システム設計では、画面レイアウト、ビジネスルール、プロセス図、その他のドキュメントなど、設計機能と操作が詳細に説明されます。 このステージの出力は、新しいシステムをモジュールまたはサブシステムの集合として記述します。
ビルステージ
これが開発段階です。 コンパイラー、インタープリター、デバッガーを使用してシステムの設計に基づいてコード生成を開始し、システムに命を吹き込みます。
実装
実装は、構築段階の一部です。 このフェーズでは、コンパイラ、インタープリター、デバッガーを使用してシステムの設計に基づいてコード生成を開始し、システムに命を吹き込みます。
テスト段階
システムのさまざまな部分が完成すると、それらは一連のテストにかけられます。 要件に対してテストされ、製品が要件フェーズで対処されたニーズを実際に解決していることを確認します。
- テスト計画とテストケースは、バグを特定し、システムが仕様に従って動作していることを確認するために使用されます。
- このフェーズでは、単体テスト、手動テスト、受け入れテスト、システムテストなどのさまざまなタイプのテストが行われます。
テストでの欠陥追跡
ソフトウェアテストレポートは、実行されたテスト計画の結果を伝えるために使用されます。 この場合、レポートには、テスト対象の現在のシステムに関連するすべてのテスト情報が含まれている必要があります。 レポートの完全性は、ウォークスルーセッションで検証されます。
プロジェクトのテストでは、2つの主要な目標を達成しようとします-
- システムの障害と欠陥を検出します。
- 要件と実装間の矛盾を検出します。
次のフローチャートは、*欠陥追跡プロセス*を示しています-
主な目標を達成するために、提案されたシステムのテスト戦略は通常、4つのテストレベルで構成されます。
これらは、単体テスト、統合テスト、受け入れテスト、および回帰テストです。 次のサブセクションでは、これらのテストレベル、開発チームの役割が開発と実行を担当するテストレベル、およびそれらの完全性を判断するための基準について概説します。
展開
テストフェーズが終了すると、システムがリリースされ、運用環境に入ります。 製品がテストされ、展開の準備ができたら、適切な市場で正式にリリースされます。 製品の展開は、組織のビジネス戦略に従って段階的に行われる場合があります。
製品は最初に限定されたセグメントでリリースされ、実際のビジネス環境でテストされます(UAT-ユーザー受け入れテスト)。 その後、フィードバックに基づいて、製品をそのままリリースするか、ターゲット市場セグメントで提案された拡張機能を使用してリリースできます。
SDLCプロセス後
製品が市場にリリースされた後、その保守は既存の顧客ベースに対して行われます。
本番環境に移行すると、検出されていないバグやその他の予期しないイベントにより、システムが変更されます。 システムが評価され、システムを維持するためにサイクルが繰り返されます。
SDLCプロセス中のビジネスアナリストの役割
下の図を見るとわかるように、BAはビジネス要件の推進とソリューション要件への変換に関与しています。
彼は、ソリューション機能をソフトウェア要件に変換することに関与しています。 その後、分析および設計フェーズをリードし、コード開発を指示し、プロジェクトチームの変更エージェントとしてバグ修正中のテストフェーズに従い、最終的に顧客の要件を満たします。
ビジネス分析-役割
ITプロジェクトにおけるビジネスアナリストの役割は、さまざまな役割を果たします。 プロジェクトチームのメンバーは、複数の役割と責任を持つことができます。 一部のプロジェクトでは、利用可能なリソースが限られている場合、BAはビジネスインテリジェンスアナリスト、データベースデザイナー、ソフトウェア品質保証スペシャリスト、テスター、および/またはトレーナーの役割を引き受けます。
また、プロジェクトコーディネーター、アプリケーション開発リーダー、または開発者が特定のプロジェクトでビジネスアナリストの役割を担うこともできます。
ビジネス分析は、通常どおり機能し、その機能を最適化するためのビジネス要件の分析と大きく重なります。 ビジネス分析のいくつかの例は-
- ビジネスアーキテクチャの作成
- ビジネスケースの準備
- リスク評価の実施
- 要件の引き出し
- ビジネスプロセス分析
- 要件の文書化
BAの主な役割
ほとんどのビジネスアナリストの重要な役割は、ビジネス開発者と技術開発者との連絡です。 ビジネスアナリストは、ビジネスクライアントと協力してシステムまたはプロセスの要件を収集/定義し、生産性を向上させると同時に、技術チームと協力してシステム/プロセスを設計および実装します。
貢献者として
BAの主な責任は、ビジネスの問題、ニーズ、機能を特定する際にビジネスユーザー/キーユーザーの開発に貢献し、改善の機会を特定するための利害関係者の懸念と要件を理解し、ITのビジネスケースを開発するためのビジネス入力に貢献することですシステム開発プロジェクト。
ファシリテーターとして
また、ビジネスアナリストは、要件の抽出と分析、利害関係者とのコラボレーションとコミュニケーションを促進/調整し、彼らの期待とニーズを管理し、要件が完全で明確であることを確認し、リアルタイムのビジネスニーズにマッピングすることになっています組織の。
アナリストとして
もう1つの重要な役割は、提案されたシステムとシステムの実装に対する組織の準備状況を評価し、ユーザーにサポートを提供し、ITスタッフと調整することです。
ビジネスの観点から提案されたITシステムの設計をレビューし、インプットを提供し、利害関係者間の問題/対立を解決し、ユーザーがテストケースを開発するのを支援することにより、包括的で質の高いUATを整理し、ビジネスニーズと要件を満たすだけでなく、予想されるメリットを実現できるITシステムを展開しました。
スコープ開発のためのビジネス分析活動の計画と監視、ITシステム開発プロジェクトのビジネス分析に関連する活動を実行するためのスケジュールとアプローチ、進行状況の監視、内部プロジェクトマネージャーとの調整、収益、収益性、リスク、問題に関する報告適切な。
ビジネスアナリストの主な責任
ビジネスアナリストの責任セットは、彼がプロジェクトのさまざまな段階でさまざまな義務を果たすことを要求し、それらは以下で説明されます-
開始フェーズ
このフェーズは、新しいプロジェクトの開始をマークし、ビジネスアナリストは次の責任を変更します-
- プロジェクトの費用便益分析の実施を支援します。
- ビジネスケースを理解する。
- ソリューション/プロジェクト/製品の実現可能性を確認します。
- プロジェクト憲章の作成を支援します。
- プロジェクトの利害関係者を特定します。
計画段階
このフェーズでは、要件の収集と計画、プロジェクトの実行方法と管理方法を行います。 彼の責任には以下の機能が含まれます-
- 要件を引き出す
- 要件を分析、整理、文書化します。
- ユースケース、RTM、BRD、SRSなどを作成して要件を管理します。
- 提案されたソリューションを評価します。
- 利害関係者とのコミュニケーションを調整し、強化します。
- プロジェクト管理計画の策定を支援します。
- プロジェクトの範囲、制約、仮定、リスクを見つけるのに役立ちます。
- ソリューションのユーザーエクスペリエンスの設計を支援します。
実行フェーズ
このフェーズは、収集された要件に従ってソリューションの開発をマークします。 責任が含まれます-
- IT/開発チームに要件を説明します。
- 提案されたソリューションの開発に関する疑問、懸念を明確にします。
- プロジェクトの範囲の変更について話し合い、優先順位を付け、合意を得ます。
- 初期テスト用のベータテストスクリプトを作成します。
- 開発中のモジュールを利害関係者と共有し、フィードバックを求めます。
- 締め切りを守り、利害関係者の期待を管理します。
- 競合を解決し、プロジェクトチームとのコミュニケーションを管理します。
監視および制御フェーズ
このフェーズでは、プロジェクトが測定され、初期計画からの逸脱が管理されます。 このフェーズは、実行フェーズと同時に実行されます。
- テストスクリプトを開発し、包括的なモジュールおよび統合テストを実施します。
- UATの実施(受け入れテストの使用)およびテストレポートの作成。
- クライアントからの成果物の受け入れ/承認を得ます。
- 変更要求を開発チームに説明します。
- 変更要求の開発を監視し、プロジェクトの目的に従って実装を検証します。
終了フェーズ
このフェーズは、プロジェクトの終了を示します。 責任は-
- 完成したプロジェクトをクライアントに提示し、承認を得る。
- ユーザートレーニングマニュアル、機能資料、その他の指導ガイドを作成します。
- 実稼働環境で精巧な統合テストを実施します。
- 最終製品のドキュメントを作成し、プロジェクトの教訓を文書化します。
BAは何を提供すると期待されていますか?
ビジネスアナリストは、ビジネスユーザーとIT技術者の間の橋渡しをします。 それらの存在は、ITプロジェクトの成功に大きく貢献します。 専任のビジネスアナリストがいることには多くの利点があります。 専用のビジネスアナリストができること-
- ビジネスの観点から明確なプロジェクト範囲を提供します。
- 健全なビジネスケースを開発し、リソースとビジネス上の利点をより現実的に推定します。
- 特に大規模ITプロジェクトの場合、コストとスケジュールの観点から、プロジェクトの範囲、計画、管理に関するより良いレポートを作成します。
- ITプロジェクトが外部委託されている場合、明確で簡潔な要件を作成します。これにより、より明確で正確な要件を提供できます。
- ユーザーから実際のビジネスニーズを引き出し、ユーザーの期待を効果的に管理します。
- ユーザーの要件を満たすように、提案されたITシステムの設計品質を改善します。
- レビューと承認のためにエンドユーザーに渡す前に開発されたシステムの品質を保証します。
- 提供されたシステムの包括的な品質テストを手配し、技術的なIT担当者にフィードバックを提供します。
ビジネス分析-ツールとテクニック
BAの帽子をかぶっているとき、ビジネスアナリストはさまざまな分析ツールと関連技術に精通している必要があります。 つまり、あなたがこのポジションを保持しているなら。
すでに学習したように、ビジネス分析は、ビジネス企業を理解し、機会、問題領域、問題を特定し、CEO、VP、ディレクターなどの幅広い役割と責任を持つ幅広い人々に会うプロセスです。ビジネス要件を理解する。
基本的に、我々はに分類することができるビジネス分析の3種類があります-
- 戦略分析-戦略的ビジネス分析は、プロジェクト前の作業を扱います。 それは、経営上の問題を特定し、経営陣を支援するビジネス戦略、目標、および目標を考案する方法またはプロセスです。 効果的な意思決定プロセスのための管理情報レポートを提供します。
- 戦術分析-適切なプロジェクトに適切なタイミングで適用するための特定のビジネス分析技術の知識が含まれます。
- 運用分析-このタイプのビジネス分析では、情報技術を活用してビジネスの側面に焦点を当てています。 また、業務改善の機会を特定することを目的とした運用システムの研究プロセスでもあります。
分析のタイプごとに、市場で入手可能なツールのセットがあり、組織のニーズと要件に基づいて、これらが使用されます。
しかし、ビジネス要件を理解可能な情報に具体化するために、優れたBAは、日々の活動において、事実調査、インタビュー、ドキュメンテーションレビュー、アンケート、サンプリング、研究の手法を活用します。
機能的および非機能的要件
要件を機能要件と非機能要件のような2つの主要なタイプに分類できます。
すべてのテクノロジープロジェクトについて、機能要件と非機能要件を分離し、個別に分析する必要があります。
適切なツールと適切な手法を定義することは困難な挑戦かもしれません。 新しいアプリケーションを実行するか、既存のアプリケーションに変更を加えるか。 機能的プロセスに適切な技術を考慮することは、それ自体が芸術です。
現在市場に出回っている広く使用されているビジネス分析手法の概要-
Processes | Techniques | Process Deliverables (Outcomes) |
---|---|---|
To Determine Functional and Non-Functional Requirements |
a |
共通テンプレート-
|
ツールとプロセスの適用性
ビジネスアナリストが利用できるさまざまなツールと手順がありますが、それはすべて、組織の現在の慣行とその使用方法に依存します。
たとえば、*根本原因分析*は、特定の重要な領域または機能に深く入り込む必要がある場合に使用されます。
ただし、ビジネス要件ドキュメントは、要件をドキュメント形式で配置する最も一般的で受け入れられている方法です。
以降の章では、上記の手法のいくつかについて詳しく説明します。
ビジネス分析-JADセッション
共同アプリケーション開発(JAD)は、企業の新しい情報システムを開発しながらビジネス要件を収集するために使用されるプロセスです。 JADプロセスには、ユーザーの参加を促進し、開発を促進し、仕様の品質を改善するためのアプローチも含まれます。 JADセッションの目的は、主題の専門家/ビジネスアナリストまたはITスペシャリストを集めてソリューションを引き出すことです。
ビジネスアナリストは、グループ全体とやり取りし、情報を収集して分析し、ドキュメントを作成します。 彼はJADセッションで非常に重要な役割を果たしています。
JADセッションの使用
JADセッションは、顧客の意思決定者とITスタッフを結集して短期間で高品質の成果物を作成する、高度に構造化された、促進されたワークショップです。
つまり、JADセッションを使用すると、顧客と開発者はプロジェクトの基本的な範囲、目的、仕様についてすぐに合意に達することができます。
簡単に言えば、JADセッションは
- Simplify -数ヶ月の会議と電話を構造化されたワークショップに統合します。
- 特定-問題と参加者
- 定量化-情報と処理のニーズ
- 明確化-セッションで合意したすべての要件を明確にし、明確にします。
- 統合-開発の1つのフェーズからの出力は、次のフェーズへの入力です。
- 満足-顧客はシステムを定義します。したがって、それは彼らのシステムです。 参加を共有することで、結果に共有がもたらされます。彼らはシステムの成功にコミットします。
JADセッションの参加者
JADセッションに関与する参加者は次のとおりです-
エグゼクティブスポンサー
エグゼクティブスポンサーは、プロジェクトを推進する人、つまりシステムの所有者です。 彼らは通常、より高い地位からのものであり、意思決定を下し、必要な戦略、計画、方向性を提供することができます。
主題専門家
これらは、ワークショップを成功させるために必要なビジネスユーザーと外部の専門家です。 主題の専門家は、JADセッションのバックボーンです。 彼らは変化を後押しします。
ファシリテーター
彼は会議の議長を務めます。彼は、会議の一部として解決できる問題を特定します。 進行役は会議に情報を提供しません。
キーユーザー
キーユーザーまたはスーパーユーザーとも呼ばれるインスタンスは、交換可能に使用されており、企業ごとに異なります。 主要なユーザーは一般に、ITプロジェクトにより緊密に連携しているビジネスユーザーであり、プロジェクト中のチームメンバーのプロファイルの構成を担当します。
たとえば、Johnがキーユーザーであり、Nancy、EvanがSAPシステムのユーザーであるとします。 この例では、ナンシーとエヴァンには機能とプロファイルを変更するアクセス権がありませんが、キーユーザーであるジョンには、より多くの権限でプロファイルを編集するアクセス権があります。
JADアプローチは、従来のプラクティスと比較して、開発プロセス全体を通じてクライアントが関与するため、開発時間の短縮とクライアントの満足度の向上につながると考えられています。 これに対して、システム開発の従来のアプローチでは、開発者はシステム要件を調査し、アプリケーションを開発します。クライアントの入力は一連のインタビューで構成されます。
要件収集テクニック
テクニックは、特定の状況でタスクが実行される方法を説明します。 タスクには、関連する手法がない場合もあれば、1つ以上ある場合もあります。 テクニックは、少なくとも1つのタスクに関連している必要があります。
以下は、よく知られている要件収集手法の一部です-
ブレーンストーミング
ブレインストーミングは、要件の収集に使用され、人々のグループからできるだけ多くのアイデアを取得します。 通常、問題の可能な解決策を特定し、機会の詳細を明確にするために使用されます。
文書分析
既存のシステムのドキュメントを確認することは、AS–ISプロセスドキュメントを作成するときに役立ち、移行プロジェクトの範囲を特定するためのギャップ分析を促進するのに役立ちます。 理想的な世界では、現在の要件を文書化するための出発点である、既存のシステムの作成を推進した要件を検討することさえあります。 情報のナゲットは、要件の完全性を検証する一環として質問をするのに役立つ既存のドキュメントに埋もれていることがよくあります。
フォーカスグループ
フォーカスグループは、フィードバックを得るために製品のユーザーまたは顧客を代表する人々の集まりです。 ニーズ/機会/問題についてのフィードバックを収集して要件を特定するか、既に導出された要件を検証および改善するために収集できます。 この形式の市場調査は、特定の参加者による管理されたプロセスであるという点で、ブレインストーミングとは異なります。
インターフェース解析
ソフトウェア製品のインターフェースは、人間でも機械でもかまいません。 外部システムおよび外部デバイスとの統合は、もう1つのインターフェイスです。 ユーザー中心の設計アプローチは、使用可能なソフトウェアを確実に作成するのに非常に効果的です。 インターフェース分析-他の外部システムとの接点を確認することは、ユーザーにすぐに見えない要件を見逃さないために重要です。
インタビュー
すばらしいソフトウェアを作成するには、利害関係者とユーザーのインタビューが不可欠です。 ユーザーと利害関係者の目標と期待を理解しなければ、それらを満足させることはほとんどありません。 また、各インタビュー対象者の視点を認識して、入力を適切に評価し、対処できるようにする必要があります。 リスニングは、優れたアナリストが一般的なアナリストよりもインタビューからより多くの価値を得るのに役立つスキルです。
観察
ユーザーを観察することで、アナリストはプロセスフロー、手順、問題点、改善の機会を特定できます。 観察は受動的でも能動的でもよい(観察中に質問をする)。 受動的観察は、(要件を改善するために)プロトタイプに関するフィードバックを得るのに適しています。ここで、能動的観察は既存のビジネスプロセスの理解を得るのにより効果的です。 どちらのアプローチも使用できます。
プロトタイピング
プロトタイピングは、要件を収集するための比較的現代的な手法です。 このアプローチでは、ソリューションの初期バージョン(プロトタイプ)を構築するために使用する予備要件を収集します。 これをクライアントに提示すると、クライアントは追加の要件を提示します。 アプリケーションを変更し、クライアントを再度使用します。 この反復プロセスは、製品がビジネスニーズのクリティカルマスを満たすか、合意された反復回数まで続きます。
要件ワークショップ
ワークショップは、要件の収集に非常に効果的です。 ブレインストーミングセッションよりも構造化された関係者が協力して要件を文書化します。 コラボレーションをキャプチャする1つの方法は、ドメインモデルアーティファクト(静的ダイアグラム、アクティビティダイアグラムなど)の作成です。 ワークショップは、1人よりも2人のアナリストの方が効果的です。
リバースエンジニアリング
移行プロジェクトが既存のシステムの十分なドキュメントにアクセスできない場合、リバースエンジニアリングはシステムの動作を識別します。 システムが何をすべきかを特定できず、システムがいつ間違ったことをするかを特定しません。
調査/アンケート
多くの人から情報を収集する場合(多すぎて予算や時間の制約についてインタビューできない場合)、調査またはアンケートを使用できます。 調査では、ユーザーに選択肢からの選択、何かの評価(「強く同意する、同意する…」)、または自由形式の回答を可能にする自由回答形式の質問を強制することができます。 調査の設計は困難です。質問は回答者を偏らせる可能性があります。 Business-analysis-functional-requirements-document
ソフトウェア要件仕様
ソフトウェア要件仕様(SRS)は、顧客間の通信媒体として使用されるドキュメントです。 最も基本的な形式のソフトウェア要件仕様は、顧客と開発者の間でソフトウェア要件を伝達する際に使用される正式な文書です。
SRSドキュメントは、 WHAT を行う必要があり、解決策を慎重に避けています(方法)。 開発チームと顧客の間の契約として機能します。 この段階の要件は、エンドユーザーの用語を使用して記述されています。 必要に応じて、後で正式な要件仕様が作成されます。
SRSは、開発されるシステムの動作の完全な記述であり、ユーザーがソフトウェアと持つ相互作用を記述するユースケースのセットが含まれる場合があります。
SRSの目的
SRSは、顧客/クライアント、ビジネスアナリスト、システム開発者、メンテナンスチーム間のコミュニケーションツールです。 また、購入者とサプライヤ間の契約にすることもできます。
- 設計段階の強固な基盤を提供します
- プロジェクトの管理と制御をサポート
- システムの制御と進化を支援
ソフトウェア要件の仕様は、完全、一貫性、追跡可能、明確、検証可能である必要があります。
以下は、システム仕様で対処する必要があります-
- システムの機能を定義する
- ハードウェア/ソフトウェア機能パーティションを定義する
- パフォーマンス仕様を定義する
- ハードウェア/ソフトウェアパフォーマンスのパーティション分割を定義する
- 安全要件を定義する
- ユーザーインターフェイスを定義する(ユーザーマニュアル)
- 設置図/指示を提供する
- ソフトウェア要件仕様テンプレート
改訂履歴
Date | Description | Author | Comments |
---|---|---|---|
<date> | <Version 1> | <Your Name> | <First Revision> |
文書承認
次のソフトウェア要件の仕様は、以下によって受け入れられ、承認されています-
Signature | Printed Name | Title | Date |
---|---|---|---|
<Your Name> | Lead Software Eng. | ||
David | Instructor | ||
ビジネス分析-ユースケース
UMLの9つの図のうちの1つは、ユースケース図です。 これらは重要なだけでなく、ソフトウェアプロジェクトに必要な要件です。 基本的にソフトウェアのライフサイクルで使用されます。 私たちが知っているように、開発サイクルにはさまざまなフェーズがあり、ユースケースで最も使用されるフェーズは要件収集フェーズ中です。
ユースケースとは何ですか?
ユースケースは、アクターに価値を提供するシステムによって実行される一連のアクションを記述します。 ユースケースは、*プライマリアクター*と呼ばれる利害関係者の1人からのリクエストに応答するときのさまざまな条件下でのシステムの動作を説明します。
アクターはシステムのWhoです。言い換えれば、彼はエンドユーザーです。
ソフトウェアおよびシステムエンジニアリングでは、ユースケースはステップのリストであり、通常、ロール(UMLでは「アクター」と呼ばれる)とシステムの間の相互作用を定義して目標を達成します。 アクターは、人間または外部システムです。
ユースケースは、システム内のイベントのフローを指定します。 一連のアクションを実行するためにシステムで実行される内容に関心があります。
ユースケースの利点
ユースケースには次の利点があります-
- これは、ユーザーに付加される価値に焦点を合わせて機能要件を取得する簡単な手段です。
- ユースケースは、従来の要件方法と比較して、比較的簡単に読み書きできます。
- ユースケースにより、開発者はエンドユーザーの観点から考える必要があります。
- ユースケースは、要件プロセスにユーザーを関与させます。
ユースケースの構造
名前:ユースケースの目的を説明する説明的な名前。
説明:ユースケースが何をするかをいくつかの文で説明します。
Actor:ユースケースに参加するすべてのアクターをリストします。
前提条件:ユースケースを開始する前に満たす必要がある条件。
イベントの流れ:システムとアクター間の相互作用の説明。
事後条件:ユースケースがコースを実行した後のシステムの状態を記述します。
ユースケーステンプレートのガイダンス
この章の最後にあるテンプレートを使用して、各ユースケースを文書化します。 このセクションでは、ユースケーステンプレートの各セクションについて説明します。
ユースケース識別
- *ユースケースID *-各ユースケースに一意の数値識別子を階層形式で与えます:X.Y. 関連するユースケースは、階層内でグループ化できます。 機能要件は、ラベル付けされたユースケースにまでさかのぼることができます。
- ユースケース名-ユースケースの簡潔で結果指向の名前を述べてください。 これらは、ユーザーがシステムを使用して達成する必要があるタスクを反映しています。 アクション動詞と名詞を含めます。 いくつかの例-
- 部品番号情報を表示します。
- ハイパーテキストソースを手動でマークし、ターゲットへのリンクを確立します。
- 更新されたソフトウェアバージョンのCDを注文します。
ユースケース履歴
ここでは、ユースケース文書の利害関係者である人々の名前について言及します。
- 作成者-このユースケースを最初に文書化した人の名前を指定します。
- 作成日-ユースケースが最初に文書化された日付を入力します。
- 最終更新者-ユースケースの説明に最新の更新を行った人の名前を入力します。
- 最終更新日-ユースケースが最後に更新された日付を入力します。
ユースケース定義
以下は、ユースケースの重要な概念の定義です-
俳優
アクターとは、システムと対話し、ユースケースを実行してタスクを実行する、指定されたソフトウェアシステムの外部の個人またはその他のエンティティです。 多くの場合、異なるアクターは、製品を使用する顧客コミュニティから特定された異なるユーザークラスまたはロールに対応します。 このユースケースを実行するアクターに名前を付けます。
説明
このユースケースの理由と結果の簡単な説明、またはアクションのシーケンスとユースケースの実行結果の高レベルの説明を提供します。
前提条件
ユースケースを開始する前に、実行する必要のあるアクティビティ、または真でなければならない条件をリストします。 各前提条件に番号を付けます。
例
- ユーザーの身元が認証されました。
- ユーザーのコンピューターには、タスクを起動するのに十分な空きメモリがあります。
投稿条件
ユースケース実行の終了時のシステムの状態を説明します。 各投稿条件に番号を付けます。
例
- ドキュメントには有効なSGMLタグのみが含まれています。
- データベース内のアイテムの価格が新しい値に更新されました。
優先度
このユースケースの実行を許可するために必要な機能を実装する相対的な優先度を示します。 使用される優先度スキームは、ソフトウェア要件仕様で使用されているものと同じでなければなりません。
使用頻度
適切な時間単位ごとにアクターがこのユースケースを実行する回数を見積もります。
イベントの通常コース
通常の予想される条件下でのユースケースの実行中に行われるユーザーアクションとシステム応答の詳細な説明を提供します。 このダイアログシーケンスは、最終的にユースケースの名前と説明に記載されている目標の達成につながります。 この説明は、「どうすれば<ユースケース名に記載されているタスクを達成するのですか?」という仮説的な質問への回答として記述できます。システムによって。
代替コース
このセクションでは、このユースケース内で個別に行うことができる他の正当な使用シナリオを文書化します。 代替コースを記述し、実行される一連の手順の違いを説明します。 ユースケースIDを接頭辞として使用して各代替コースに番号を付け、その後に「代替コース」を示す「AC」を続けます。 例:X.Y.AC.1。
例外
ユースケースの実行中に発生する可能性のある予想されるエラー条件を説明し、システムがそれらの条件にどのように応答するかを定義します。 また、予期しない理由でユースケースの実行が失敗した場合のシステムの応答方法を説明します。 ユースケースIDをプレフィックスとして使用して各例外に番号を付け、その後に「例外」を示す「EX」を続けます。 例:X.Y.EX.1。
含む
このユースケースに含まれる(「呼び出される」)他のユースケースをリストします。 複数のユースケースに現れる共通機能は、その共通機能を必要とするユースケースに含まれる個別のユースケースに分割できます。
特別な要件
設計または実装中に対処する必要があるかもしれないユースケースについて、非機能要件などの追加要件を特定します。 これらには、パフォーマンス要件またはその他の品質属性が含まれる場合があります。
仮定
このユースケースを製品の説明に受け入れ、ユースケースの説明を作成することになった分析で行われた仮定をリストします。
メモと問題
このユースケースに関する追加のコメント、または解決する必要がある残りの未解決の問題またはTBD(未定)をリストします。 誰が各問題を解決するか、期日、最終的に解決策は何かを特定します。
変更管理とバージョン管理
バージョン管理とは、ドキュメント、大規模なWebサイト、およびその他の情報収集に対する変更の管理です。 通常、変更は、リビジョン番号またはリビジョンレベルと呼ばれる番号または文字コードで識別されます。 各リビジョンは、タイムスタンプと変更者に関連付けられています。
ユースケース図
統合モデリング言語(UML)の重要な部分は、ユースケース図を描画する機能です。 ユースケースは、プロジェクトの分析段階でシステム機能を識別および分割するために使用されます。 システムをアクターとユースケースに分離します。 アクターは、システムのユーザーが演じることができる役割を表します。
これらのユーザーは、人間、他のコンピューター、ハードウェア、または他のソフトウェアシステムです。 唯一の基準は、ユースケースに分割されるシステムの一部の外部にある必要があることです。 彼らは、システムのその部分に刺激を供給し、そこから出力を受け取る必要があります。
ユースケースは、目標を追求するためにシステムの助けを借りてアクターが実行するアクティビティを表します。 これらのユーザー(俳優)がシステムに必要なものを定義する必要があります。 ユースケースは、ユーザーのニーズと目標を反映し、アクターによって開始される必要があります。 ビジネスユースケースに参加しているビジネス、アクター、顧客は、関連付けによってユースケースに接続する必要があります。
ユースケース図の描画
以下の図は、ユースケースがUML回路図形式のように見えるものを示しています。 ユースケース自体は楕円のように見えます。 俳優は小さな棒人間として描かれています。 アクターは、ラインを使用してユースケースに接続されます。
- ユースケース1 *-営業員がアイテムをチェックアウトする
- 顧客がカウンターにアイテムをセットします。
- «用途»スワイプUPCリーダー。
- システムはデータベースでUPCコードを検索し、アイテムの説明と価格を調達します
- システムからビープ音が鳴ります。
- システムはアイテムの説明と価格を音声出力で通知します。
- システムは価格と品目タイプを現在の請求書に追加します。
- システムは正しい税小計に価格を追加します
したがって、«uses»関係は、関数呼び出しまたはサブルーチンに非常によく似ています。
この方法で使用されるユースケースは、単独では存在できませんが、他のユースケースで使用する必要があるため、抽象ユースケースと呼ばれます。
例─撤退のユースケース
お金の自動販売機(ATM)に関連する顧客の目標は、お金を引き出すことです。 そのため、 Withdrawal ユースケースを追加しています。 自動販売機からお金を引き出すには、取引を行う銀行が必要になる場合があります。 そのため、別のアクター( Bank )も追加しています。 ユースケースに参加する両方のアクターは、関連付けによってユースケースに接続する必要があります。
お金の自動販売機は、顧客と銀行関係者に引き出しのユースケースを提供します。
アクターとユースケースの関係
ユースケースは、次の関係を使用して整理することができます-
- 一般化
- 協会
- 延長
- 含める
ユースケース間の一般化
アクターが同様のユースケースに関連付けられている場合があります。 そのような場合、子のユースケースは親のユースのプロパティと動作を継承します。 したがって、関数の継承を示すためにアクターを一般化する必要があります。 それらは、大きな中空の三角形の矢印の付いた実線で表されます。
ユースケース間の関連付け
アクターとユースケースの関連付けは、ユースケース図で実線で示されています。 アクターがユースケースで記述されたインタラクションに関与する場合は常に、関連付けが存在します。
延長
オプションでトリガーされる機能がいくつかあります。 このような場合、拡張関係が使用され、拡張ルールがそれに関連付けられます。 覚えておくべきことは、拡張ユースケースが呼び出されなくても、基本ユースケースはそれ自体で機能を実行できるはずだということです。
拡張関係は、拡張ユースケースから拡張(ベース)ユースケースに向けられた開いた矢印の付いた破線で示されています。 矢印にはキーワード«extend»のラベルが付いています。
含める
複数のユースケースで複製されるユースケースフラグメントを抽出するために使用されます。 また、大規模なユースケースをいくつかのユースケースに分割して単純化し、2つ以上のユースケースの動作の共通部分を抽出するためにも使用されます。
ベースのユースケースから含まれるユースケースへの開いた矢印の付いた破線の矢印で示されるユースケース間の関係を含めます。 矢印には、«include»というキーワードが付いています。
ユースケースは、システムの機能要件のみを扱います。 ビジネスルール、サービス品質要件、実装制約などの他の要件は、個別に表す必要があります。
以下に示す図は、すべての要素がマークされた単純なユースケース図の例です。
ユースケースをうまく適用するための基本原則
- ストーリーを伝えることでシンプルに
- 完全性なしに生産性を高める
- 全体像を理解する
- ユースケースの再利用の機会を特定する
- 価値に焦点を当てる
- スライスでシステムを構築する
- システムを段階的に提供する
- チームのニーズに適応する
ユースケーステンプレート
ここでは、ビジネスアナリストが入力できるユースケースのサンプルテンプレートを示しました。これにより、技術チームがプロジェクトに関する情報を確認するのに役立ちます。
ユースケースID:
ユースケース名:
によって作成された:
最終更新者
作成日:
最終更新日
俳優:
説明:
前提条件
投稿条件:
優先度:
使用頻度:
イベントの通常コース:
代替コース:
例外:
含まれています:
特別な要件:
仮定:
メモと問題:
ビジネス分析-要件管理
ソフトウェア要件の収集は、ソフトウェア開発プロジェクト全体の基盤です。 ビジネス要件の要請と収集は、すべてのプロジェクトにとって重要な最初のステップです。 ビジネス要件と技術要件のギャップを埋めるために、ビジネスアナリストは、特定のコンテキスト内のビジネスニーズを完全に理解し、これらのニーズをビジネス目標に合わせて、利害関係者と開発チームの両方に適切に伝える必要があります。
主要な利害関係者は、誰かが顧客/クライアントの要件をわかりやすい英語で説明できることを望んでいます。 これは、高レベルで価値を理解することで彼らに利益をもたらすでしょうか? これは、ドキュメントを要件とBAが最善の方法で通信する方法をマッピングしようとするため、主な焦点領域になります。
プロジェクトが失敗する理由
プロジェクトが失敗する多くの理由がありますが、いくつかの共通領域には以下が含まれます-
- 市場と戦略の失敗
- 組織および計画の失敗
- 品質不良
- リーダーシップとガバナンスの失敗
- スキル、知識、能力の失敗
- エンゲージメント、チームワーク、コミュニケーションの失敗
問題の核心は、プロジェクトがますます複雑になり、変化が起こり、コミュニケーションが困難になることです。
成功するチームが要件管理を行う理由
要件管理とは、チームを*同期*状態に保ち、プロジェクト内で行われていることを*可視化*することです。
プロジェクト全体を成功させるには、チーム全体が何を構築しているのか、そしてなぜそれを理解するのが重要です。それが要件管理の定義方法です。 「なぜ」が重要なのは、要件についての目標、フィードバック、および決定のコンテキストを提供するためです。
これにより、将来の成功と潜在的な問題の予測可能性が高まり、チームは問題を迅速に修正し、プロジェクトを予定通りに予算内で正常に完了することができます。 開始点として、関係者全員が、要件とは何か、それらを管理する方法について基本的な理解を持っていることが重要です。
基本から始めましょう
要件とは、利害関係者が問題を解決したり目的を達成するために必要な条件または能力です。 システムまたはシステムが満たす必要がある条件または機能。 契約、標準、仕様、またはその他の正式に課された文書を満たすコンポーネント。
要件は、テキスト、スケッチ、詳細なモックアップまたはモデル、エンジニアが構築するもの、QAマネージャーがテストするものに最もよく伝達される情報で表現できます。 開発プロセスに応じて、要件を把握するために異なる用語を使用する場合があります。
高レベルの要件は、単に「必要」または「目標」と呼ばれることもあります。 ソフトウェア開発プラクティスでは、要件は「ユースケース」、「機能」、または「機能要件」と呼ばれる場合があります。 さらに具体的には、アジャイル開発方法論の範囲内で、要件は多くの場合 epics および stories としてキャプチャされます。
チームが何と呼んでいるか、どのプロセスを使用しているかに関係なく;要件は、すべての製品の開発に不可欠です。 要件を明確に定義しないと、不完全な製品または欠陥のある製品を生産する可能性があります。 プロセス全体を通して、要件の定義に関与する多くの人々が存在する可能性があります。
利害関係者は、問題を解決する上で製品がどのように価値を提供するかを説明する機能を要求する場合があります。 設計者は、ユーザビリティまたはユーザーインターフェイスの観点から、最終製品の外観または性能に基づいて要件を定義する場合があります。
ビジネスアナリストは、特定の技術的または組織的な制約を順守するシステム要件を作成する場合があります。 今日の洗練された製品とソフトウェアアプリケーションの構築では、プロジェクトまたはリリースの範囲を十分に定義するのに数百または数千の要件が必要になることがよくあります。 したがって、開発プロセス中に要件が自然に変化し、時間とともに進化するため、チームが各要件にアクセスし、共同作業し、更新し、テストを完了できることが不可欠です。
要件管理の価値を高レベルで定義したので、すべてのチームメンバーと利害関係者が理解から利益を得ることができる4つの基本事項をさらに詳しく見てみましょう。
- 適切な要件を計画する:「一体何を構築していますか?」
- コラボレーションと賛同:「仕様を承認するだけです!」
- トレーサビリティと変更管理:「待って、開発者はそれが変わったことを知っていますか?」
- 品質保証:「こんにちは、誰かがこのことをテストしましたか?」
誰もが私たちが構築しているものとその理由を知っていますか? それが要件管理の価値です。
利害関係者からのコラボレーションとバイイン
みんなループですか? 前進するための要件について承認はありますか? これらの質問は、開発サイクル中に発生します。 全員が要件に同意できれば素晴らしいのですが、多くの利害関係者がいる大規模なプロジェクトでは、通常これは起こりません。 全員の同意を得ようとすると、決定が遅れたり、さらに悪いことに、まったく決定されなかったりする可能性があります。 すべての決定についてコンセンサスを得ることは必ずしも容易ではありません。
実際には、必ずしも「コンセンサス」が必要というわけではありません。プロジェクトを前進させるために、グループからの「バイイン」と管理者からの承認が必要です。 コンセンサスを使用して、すべての人が妥協して決定に同意するようにします。 バイインでは、人々に最良のソリューションを支持させ、賢明な決定を下し、前進するために必要なことを実行させようとしています。
誰もが決定が最良であることに同意する必要はありません。 誰もが決定をサポートする必要があります。 チームのコラボレーションは、意思決定に関するサポートを受け、適切な要件を計画するのに役立ちます。
コラボレーションチームは、全員がプロジェクトに関与し、フィードバックを提供できるように努力します。 共同チームはアイデアを継続的に共有し、通常はコミュニケーションが改善され、プロジェクトの目標に対するコミットメントと理解が共有されているため、意思決定をサポートする傾向があります。
開発者、テスター、または他の利害関係者がコミュニケーションの問題が発生し、人々がイライラし、プロジェクトが遅れるのは、「ループの外」を感じるときです。 全員が仕事の範囲に賛同したら、要件を明確にし、十分に文書化することが不可欠です。 すべての要件を追跡することは、物事がトリッキーになる場所です。
完了するために複数の人と協力することを含む1マイルのTo Doリストがあることを想像してください。 これらすべてのアイテムをどのようにまっすぐに保ちますか? アイテムの1つの変更がプロジェクトの残りの部分にどのように影響するかをどのように追跡しますか? ここで、トレーサビリティと変更管理が価値を高めます。
適切な要件の計画
では、何が良い要件なのでしょうか? 適切な要件は価値があり、実行可能である必要があります。ニーズを定義し、ソリューションへの道筋を提供する必要があります。 チームの全員がその意味を理解する必要があります。 要件の複雑さはさまざまです。
- 優れた要件ドキュメントは、下位要件に分類された高レベルの要件を持つグループの一部になることができます。
- また、最終製品の動作またはコンポーネントを説明する一連の機能要件を含む非常に詳細な仕様が含まれている場合があります。
- 適切な要件は簡潔かつ具体的である必要があり、「どのようにニーズを満たすのか」という質問ではなく、「何が必要なのか」という質問に答える必要があります。
- 適切な要件により、すべての利害関係者が計画のそれぞれの部分を理解することが保証されます。部品が不明瞭または誤って解釈された場合、最終製品に欠陥があるか、故障する可能性があります。
要件の進展に応じてプロセス全体でチームから継続的にフィードバックを受け取ることにより、要件の失敗や誤解を防ぐことができます。 全員との継続的なコラボレーションと賛同が成功の鍵です。
要件の収集と分析
要件とは、利害関係者が問題を解決したり組織目標を達成するために必要な条件または能力です。システムが満たす必要がある条件または機能。
ソフトウェアエンジニアリングの_要件分析_は、さまざまな利害関係者の対立する可能性のある要件を考慮して、ソフトウェアまたはシステム要件を分析、文書化、検証、管理する、新しい製品または変更された製品のニーズまたは条件を決定するタスクに対応します。
要件があります-
- 文書化
- 実用的
- 測定可能
- テスト可能
- 追跡可能
要件は、特定されたビジネスニーズまたは機会に関連し、システム設計に十分な詳細レベルに定義される必要があります。
ビジネスアナリストは、既存のシステムを観察し、既存の手順を調査し、顧客やエンドユーザーと議論することで情報を収集します。 アナリストは、稼働中のシステムがない場合、想像力と創造力も必要です。 収集した要件を分析して欠落しているリンクを見つけることは、要件分析です。
エリシティングアプローチ
目的を引き出すには、ビジネスの専門家、開発マネージャー、およびプロジェクトスポンサーに以下の質問をします-
- このプロジェクトは、会社のどのビジネス目標を達成するのに役立ちますか?
- なぜ今このプロジェクトをやっているのですか?
- 後で行うとどうなりますか?
- まったく実行しないとどうなりますか?
- このプロジェクトの恩恵を受けるのは誰ですか?
- それから利益を得る人々は、それを現時点でおそらく可能な最も重要な改善と考えていますか?
- 代わりに別のプロジェクトを行う必要がありますか?
考えられる目標は、コストの削減、顧客サービスの改善、ワークフローの簡素化、古い技術の置き換え、新しい技術の試験運用などです。 また、提案されたプロジェクトが記載された目的の達成にどのように役立つかを正確に理解してください。
さまざまなタイプの要件
ビジネスアナリストが興味を持っている要件の最も一般的なタイプは次のようになります-
ビジネス要件
ビジネス要件は、ソリューションに依存せずに組織の目標を達成するために実行する必要がある企業の重要な活動です。 ビジネス要件文書(BRD)は、顧客のニーズと期待の文書を含むプロジェクトのビジネスソリューションの詳細を示します。
ユーザー要件
ユーザー要件は、ユーザーがソフトウェアプロジェクトから構築されるソフトウェアに期待/希望する特定の要件を指定する必要があります。 ユーザー要件は、検証可能、明確かつ簡潔、完全、一貫性、追跡可能、実行可能である必要があります。
ユーザー要件ドキュメント(URD)またはユーザー要件仕様は、ソフトウェアエンジニアリングで通常使用されるドキュメントであり、ユーザーがソフトウェアに何ができると期待するかを指定します。
システム要求
システム要件は、アプリケーションの最適な機能を提供するためにコンピューターにインストールする必要があるソフトウェアリソース要件と前提条件の定義を扱います。
機能要件
機能要件は、開発中のシステムの特定の意図された動作をキャプチャして指定します。 システムの計算、データの操作と処理、ユーザーインターフェイスとアプリケーションとの対話、およびユーザーの要件がどのように満たされるかを示す他の特定の機能などを定義します。 各要件に一意のID番号を割り当てます。
非機能要件
非機能要件は、特定の動作ではなくシステムの動作を判断するために使用できる基準を指定する要件です。 システムアーキテクチャは、非機能要件を実装する計画について語っています。
非機能要件は、システムがどのように見えるべきか、または「システムがそうでなければならない」のように言及することができるかについて話します。 非機能要件は、システムの品質と呼ばれます。
移行要件
移行要件は、企業の現在の状態から望ましい将来の状態への移行を容易にするためにソリューションが満たさなければならない機能を記述しますが、移行が完了すると不要になります。
それらは本質的に常に一時的なものであり、既存のソリューションと新しいソリューションの両方が定義されるまで開発できないため、他の要件タイプとは区別されます。 通常、既存のシステムからのデータ変換、対処する必要があるスキルギャップ、および目的の将来の状態に到達するためのその他の関連する変更をカバーします。 これらは、ソリューションの評価と検証を通じて開発および定義されます。
トレーサビリティと変更管理
要件のトレーサビリティは、最初のアイデアの生成からテスト段階まで、すべての要件を整理、文書化、追跡する方法です。
要件トレース機能マトリックス(RTM)は、開発プロセスを通じて機能要件とその実装を追跡する方法を提供します。 各要件は、関連するセクション番号とともにマトリックスに含まれています。
プロジェクトが進行すると、RIMが更新され、各要件のステータスが反映されます。 製品のシステムテストの準備が整うと、マトリックスには各要件、どの製品コンポーネントが対応しているか、どのテストが正しく実装されていることを検証するかがリストされます。
RTMに次のそれぞれの列を含める-
- 要件の説明
- FRDの要件リファレンス
- 検証方法
- テスト計画の要件リファレンス
例-プロジェクト内のアイテム間の関係を識別するためにドットを接続します。 一般的なダウンストリームフローのコネクタです。
アイデア要件デザインテストビジネス目標
各要件を元のビジネス目標にまでさかのぼることができるはずです。
要件をトレースすることにより、変更による波及効果を特定し、要件が完了しているかどうか、および適切にテストされているかどうかを確認できます。 トレーサビリティと変更管理により、管理者は問題を予測し、継続的な品質を確保するために必要な安心感と可視性を得ることができます。
品質保証
要件を最初に正しく実現することは、品質の向上、開発サイクルの短縮、製品に対する顧客満足度の向上を意味します。 要件管理は、あなたがそれを正しくするのを助けるだけでなく、あなたのチームが開発プロセスを通してお金と多くの頭痛を節約するのを助けます。
簡潔で具体的な要件は、修正するのに費用がかかる場合よりも、問題を早期に検出して修正するのに役立ちます。 さらに、欠陥を早期に修正するよりも、開発プロセスの後半で開発プロセスの後で修正する場合、要件を修正するよりも最大で* 100倍*高くなる可能性があります。
要件管理を品質保証プロセスに統合することで、チームの効率を高め、手戻りをなくすことができます。 さらに、コストの問題のほとんどが発生するのは手直しです。
言い換えれば、開発チームは、最初は正しく実行されなかった努力のために予算の大半を無駄にしています。 たとえば、開発者は古い仕様ドキュメントに基づいて機能をコーディングしますが、後でその機能の要件が変更されたことを学習します。 これらのタイプの問題は、効果的な要件管理のベストプラクティスによって回避できます。
要約すると、要件管理は複雑な規律のように聞こえますが、それを単純な概念に要約すると、チームが「私たちが構築しているものとその理由を理解していますか?」開発者、QAマネージャー、およびテスターに対するマネージャー、プロジェクトリーダー、関係する利害関係者および顧客-プロジェクトの失敗の根本的な原因は、プロジェクトの範囲の誤解であることがよくあります。
全員が共同作業を行い、プロジェクトのライフサイクル全体の要件に関連する議論、決定、変更に対する完全なコンテキストと可視性を備えている場合、つまり成功が一貫して発生し、継続的な品質を維持している場合。 さらに、プロセスはスムーズであり、関係するすべての人にとって、摩擦とフラストレーションが少なくなります。
注-プロジェクトチームは、要件を効果的に管理することにより、プロジェクトの欠陥の50〜80%を排除できることが調査により示されています。 カーネギーメロンソフトウェアエンジニアリング研究所によると、「ソフトウェア開発のコストの60〜80%が手直しされています。」
要件サインオフの取得
要件サインオフは、文書化されているように、要件の内容と提示が正確で完全であるというプロジェクトの利害関係者による合意を正式にします。 正式な合意により、実装中または実装後に、利害関係者が新しい(以前は遭遇しなかった)要件を導入するリスクが軽減されます。
要件サインオフを取得するには、通常、各プロジェクト関係者と文書化された要件の対面の最終レビューが必要です。 各レビューの終わりに、利害関係者はレビューされた要件文書を正式に承認するよう求められます。 この承認は、物理的または電子的に記録できます。
通常、要件サインオフの取得は、要件通信内の最終タスクです。 ビジネスアナリストは、レビュープロセス中に提起されたコメントや異議への対応など、正式な要件レビューからの出力を必要とします。
ビジネス分析-モデリング
ビジネスモデルは、サポートするテキストや他のコンポーネントとの関係とともにグラフィックコンポーネントを含むことが多いビジネスまたはソリューションの表現として定義できます。 たとえば、会社のビジネスモデルを理解する必要がある場合、次のような分野を研究したいと思います。
- 会社のコアバリュー
- それは何を提供しますか?
- 何が際立っていますか?
- その主要なリソース
- 主な関係
- その配信チャネル
モデリング技術の助けを借りて、企業が使用する既存および提案された組織構造、プロセス、および情報の完全な説明を作成できます。
ビジネスモデルは、開発される最終製品の青写真のような構造化モデルです。 計画の構造とダイナミクスを提供します。 また、最終製品の基盤も提供します。
ビジネスモデリングの目的
ビジネスモデリングは、企業の現在および将来の状態を設計するために使用されます。 このモデルは、ビジネスアナリストと利害関係者が、企業の現在の「現状のまま」のモデルを正確に理解できるようにするために使用されます。
利害関係者が提案された「ソリューションの今後」について共通の理解を持っているかどうかを検証するために使用されます。
要件の分析はビジネスモデリングプロセスの一部であり、コアフォーカスエリアを形成します。 機能要件は、「現在の状態」の間に収集されます。 これらの要件は、将来の状態で設計される予定の機能を記述するビジネスプロセス、データ、およびビジネスルールに関する利害関係者によって提供されます。
GAP分析の実行
ビジネスニーズを定義した後、現在の状態(例: 現在のビジネスプロセス、ビジネス機能、現在のシステムと提供されるサービス/製品の機能、およびシステムが対応しなければならないイベント)を特定して、ITからの入力を求めてビジネスをサポートする人、プロセス、技術、構造、アーキテクチャを理解する必要がありますスタッフおよび事業主を含むその他の関係者。
次に、特定された現在の状態と望ましい結果を比較して、ビジネスニーズの達成を妨げるギャップがあるかどうかを評価するために、ギャップ分析が実行されます。
ギャップがない場合(つまり、 現在の状態はビジネスニーズと望ましい結果を満たすのに十分です)、おそらくITプロジェクトを立ち上げる必要はないでしょう。 そうでなければ、ギャップを埋めるために対処する必要がある問題/問題を特定する必要があります。
SWOT(長所、短所、機会、脅威)分析や文書分析などの手法を使用できます。
提案されたシステムを評価するには
BAは、ITプロジェクトチームが提案されたITシステムを評価して、ビジネスニーズを満たし、利害関係者に提供される価値を最大化することを保証するのを支援する必要があります。 また、BAは、提案されたITシステムへの移行をサポートする組織の準備状況を確認して、スムーズなシステム実装を確保する必要があります。
BAは、ITプロジェクトチームが提案されたシステムオプションと高レベルのシステム設計がビジネスニーズを満たし、投資を正当化するのに十分なビジネス価値を提供できるかどうかを判断するのに役立ちます。 複数のシステムオプションがある場合、BAはITスタッフと協力して各オプションの長所と短所を特定し、最大のビジネス価値をもたらすオプションを選択する必要があります。
ビジネスモデリングの基本原則
ビジネスモデリングの主な役割は、主にプロジェクトの開始段階と精緻化段階にあり、建設段階と移行段階では消えていきます。 それは主に、アプリケーションまたはソフトウェアソリューションの技術的なマッピングと組み合わせたビジネスの分析的側面と関係しています。
- ドメインとユーザーのバリエーション-ビジネスモデルを開発すると、利害関係者間の意見の相違や混乱の領域が頻繁に明らかになります。 ビジネスアナリストは、現状のモデルの以下のバリエーションを文書化する必要があります。
- 複数のワークユニットが同じ機能を実行します-AS-ISモデルの分散を文書化します。 これは、異なる部門または地域である場合があります。
- 複数のユーザーが同じ作業を実行します-さまざまな利害関係者が同様の作業を異なる方法で行う場合があります。 変動は、異なるビジネスユニットの異なるスキルセットとアプローチの結果、または企業がサービスを提供する外部の利害関係者の異なるニーズの結果である場合があります。 AS-ISモデルの分散を文書化します。
- 解決メカニズム-ビジネスアナリストは、ToBeソリューションが現在のビジネスモデルの矛盾に対応するかどうか、またはソリューションに標準化が必要かどうかを文書化する必要があります。 利害関係者は、どのアプローチに従うべきかを決定する必要があります。 To-Beモデルは彼らの決定を反映します。
ERPシステムのモデリングにおけるBAの役割の例
ビジネスアナリストは、標準的なビジネスプロセスを定義し、効率的な実装に重要なERPシステムをセットアップすることになっています。 また、実装前に開発者の言語を理解可能な言語で定義し、ベストプラクティスを活用してシステムの能力に基づいてそれらをマッピングすることもBAの義務です。
システムの要件は、GAAP適合分析です。
- 技術的な変更の必要性。これは、既存の慣行との同一性を実現するための機能強化です。
- プロセスモデルの標準機能とアプリケーションの実装を可能にするための既存のビジネスプロセスのリエンジニアリングに関連する効果的な変更。
機能ビジネスアナリスト
ドメインの専門知識は、通常、物事を行う「ビジネス」に参加することにより、一定期間にわたって獲得されます。 例えば、
- *バンキングアソシエイト*は、顧客(個人およびビジネス)が詳細なビジネスプロセスフローとともに運用できるさまざまなタイプのアカウントの知識を獲得します。
- *保険販売員*は、保険契約の調達に関係するさまざまな段階を理解できます。
- *マーケティングアナリスト*は、カスタマーリレーションシップマネジメントシステムに関与する主要な利害関係者とビジネスプロセスを理解する可能性が高くなります。
- *資本市場*プロジェクトに関与するビジネスアナリストは、主題の専門知識と、株式、債券、デリバティブに関する強力な知識を持っているはずです。 また、彼は、リスク管理モデルを適用する際のバックオフィス、フロントオフィス、実際のエクスポージャーを処理したことが期待されています。
- Healthcare Business Analyst は、US Healthcare Financial and Utilization Metrics、EDI 837/835/834、HIPAAガイドライン、ICDコード化-9/10およびCPTコード、LOINC、SNOMED知識の技術的経験と理解に関する基本的な理解が必要です。
一部のビジネスアナリストは、ビジネスアプリケーションをテストし、ビジネスユーザーと連携して、ドメインの知識を獲得します。 彼らは、対人スキルと分析スキルを通じて、学習に役立つ環境を作り出します。 場合によっては、AICPCU/IIAおよびLOMAが保険および金融サービスの分野で提供するいくつかのドメイン認定でドメインの知識を補完します。 他のドメインで認証を提供する他の機関があります。
その他の主な活動
現在のビジネスプロセスを徹底的に調査した後、システムをモデル化する最適なアプローチを特定する際に、専門的な支援を提供できます。
- システムでの効率的な自動化を保証する方法で、ビジネスプロセスの正式で統一された説明の準備を編成します。
- 開発者から提供される可能性のある関連システムの標準アンケートに記入する際のチームへの支援。
- 開発者に対する作業会議の要件への参加が定義されています。
- ユーザーが設定した要件が適切に「再現」され、システムの将来のモデル(ブループリント)を説明する文書に記録されているかどうかを確認および制御します。
- データの準備とシステムのプロトタイピングの支援。
- システムが必要とする形式でリストと天びんを移行するためのデータの準備の支援。
- ビジネスプロセスの所有者によって定義された要件に準拠するためのセットアッププロトタイプのレビュー。
- システム内の機能テストと統合テストのデータと実際のパフォーマンスを準備する際に、ITチームのサポートリソースとして機能します。
次のセクションでは、IT環境の大規模な組織で使用される一般的なビジネスモデリングツールのいくつかについて簡単に説明します。
ツール1:Microsoft Visio
MS-Visioは、概念を視覚的な表現に変換するのに役立つ描画および作図ソフトウェアです。 Visioは、事前定義された形状、シンボル、背景、および境界線を提供します。 要素をダイアグラムにドラッグアンドドロップするだけで、プロフェッショナルなコミュニケーションツールを作成できます。
- ステップ1 *-新しいVisio図面を開くには、[スタート]メニューから[プログラム]→[Visio]を選択します。
- ステップ2 *-「ビジネスプロセス」の上にカーソルを移動し、「基本フローチャート」を選択します。
次のスクリーンショットは、MS-Visioアプリケーションの主要なセクションを示しています。
ここで、各コンポーネントの基本的なユーティリティについて説明します-
*A* -画面上部のツールバーは、WordやPowerPointなどの他のMicrosoftプログラムと同様です。 これらのプログラムを以前に使用したことがある場合は、いくつかの異なる機能に気付く場合があります。これらについては後で説明します。
ヘルプダイアグラムギャラリーを選択すると、Visioで作成できる図面やダイアグラムの種類に慣れるのに役立ちます。
*B* -画面の左側には、作成しているダイアグラムのタイプに固有のメニューが表示されます。 この場合、私たちは見る-
矢印の形
背景
基本的なフローチャート図形
ボーダーとタイトル
*C* -画面の中央には、図のワークスペースが表示されます。これには、実際の図ページと、ページに隣接する空白スペースが含まれます。
*D* -画面の右側には、いくつかのヘルプ機能が表示されます。 このウィンドウを閉じてダイアグラムワークスペースの領域を増やし、必要に応じてヘルプ機能を再度開くことを選択する人もいます。
ツール2:エンタープライズアーキテクト
エンタープライズアーキテクトは、UMLに基づく視覚的なモデリングおよび設計ツールです。 このプラットフォームは、ソフトウェアシステムの設計と構築、ビジネスプロセスのモデリング、業界ベースのドメインのモデリングをサポートします。 システムのアーキテクチャをモデル化するだけでなく、ビジネスや組織で使用されます。 ただし、これらのモデルの実装をアプリケーション開発ライフサイクル全体で処理するため。
エンタープライズアーキテクトの目的は、組織が現在および将来の目標を最も効果的に達成する方法を決定することです。
エンタープライズアーキテクトには、次の4つの視点があります-
- ビジネスの視点-ビジネスの視点は、ビジネスが日々行われるプロセスと基準を定義します。
- アプリケーションパースペクティブ-アプリケーションパースペクティブは、組織が使用するプロセスと標準間の相互作用を定義します。
- 情報の視点-これは、組織が効率的に運営するために必要なドキュメントファイル、データベース、画像、プレゼンテーション、スプレッドシートなどの生データを定義および分類します。
- テクノロジーの展望-これは、組織で使用されるハードウェア、オペレーティングシステム、プログラミングおよびネットワークソリューションを定義します。
ツール3:Rational Requisite Pro
要件の追跡と変更を導き出し、文書化し、プロジェクトチーム間でこの情報を伝達して、反復的で予期しない変更がプロジェクトライフサイクル全体で維持されるようにするプロセス。
ステータスの監視と要件ベースラインへの変更の制御。 主な要素は、変更管理とトレーサビリティです。
Requisite Proは上記のアクティビティとプロジェクト管理の目的に使用され、ツールはクエリの検索と検索に使用され、要件の一部であったディスカッションの表示に使用されます。
Requisite Proでは、ユーザーは要件ドキュメントで作業できます。 このドキュメントは、Reqproアプリケーションで作成され、プロジェクトデータベースと統合されたMS-Wordファイルです。 Requisite Proの外部で作成された要件は、ドキュメントにインポートまたはコピーできます。
Requisite Proでは、トレーサビリティも使用できます。これは、2つの要件間の依存関係です。 トレーサビリティは、相互に関連する要件をリンクすることにより、変更を管理するための体系的なアプローチです。
Requisite Proを使用すると、開発サイクル全体で要件の変更を簡単に追跡できるため、すべてのドキュメントを個別に確認して、更新が必要な要素を判断する必要はありません。 トレーサビリティマトリックスまたはトレーサビリティツリービューを使用して、疑わしい関係を表示および管理できます。
Requisite Proプロジェクトを使用すると、プロジェクトの成果物を整理して管理するプロジェクトフレームワークを作成できます。 各プロジェクトには次のものが含まれています。
- 一般的なプロジェクト情報
- パッケージ
- 一般的なドキュメント情報
- 文書タイプ
- 要件タイプ
- 要件属性
- 属性値
- プロジェクト間のトレーサビリティ
Requisite Proでは、複数のユーザーが同じプロジェクトドキュメントとデータベースに同時にアクセスできるため、プロジェクトのセキュリティ面は非常に重要です。 セキュリティは、システムの使用、潜在的な損害、またはプロジェクトドキュメントへの不正なユーザーアクセスによるデータ損失を防ぎます。
すべてのRequisiteProプロジェクトでセキュリティを有効にすることをお勧めします。 そうすることで、プロジェクトに対するすべての変更が、変更を行った個人の適切なユーザー名に関連付けられ、すべての変更の完全な監査証跡が得られるようになります。