RDRA定義にLLMを使う

エンタープライズ向けの要件定義にLLMを活用し素早く全体像を構築する

RDRAZeroOne:LLMを使ったRDRA定義ツール

あなたはLLMが出力した要件定義に責任をもてますか?

•前提

•要件定義にLLMを使うときの課題

•RDRAZeroOneの狙い

注意:LLMへのプロンプトにRDRA独自の用語を使うのを避けるために、一部の言葉を変えて使っている

   業務:BUC 仕事:アクティビティ 分類:業務/コンテキスト

RDRAZeroOne

LLMを活用しビジネスの背景や概要からRDRA定義のたたき台を生成するツール

LLMを使って何度も壁打ちを行い、システム化対象を深く理解し、素早く要件定義を進めることができます。

LLMで生成したたたき台を元に、より具体的な要件をRDRA定義やRDRA分析ツールを使って精度の高い要件定義にまとめ上げます。

RDRAZeroOne:vsa.co.jp/rdratool/v0.92/zeroone.html 

LLMが支援するタイミング

要件定義を3つのフェーズで進める


フェーズ1にRDRAZeroOneを活用し素早く議論のベースを作り、要件の組立はフェーズ2で従来通りのRDRAモデルで組立てる

要件定義全体のイメージ

LLMを使って素早くをRDRAを組立てるRDRAZeroOneツールを使い、議論のベースとなるたたき台を作成し、RDRASheetで直接要件を組立てる


フェーズ1

フェーズ2,3

要件として整合性、網羅性をRDRAのルールで組立てる

LLMの出力を理解する

RDRAZeroOneの3Step

文脈情報を与えて要件定義を開始し、LLMを活用し3ステップで詳細化する。各ステップでLLMの出力を手直しすることで、要件定義に方向性を持たせ、企業ごとの仕組みや独自性を与える。

LLMのAPIキーを登録する

LLMを使うためにOpenAIかGeminiのAPIキーを登録する


※現状はOpenAIとGeminiに対応している

文脈理解:初期の入力

文脈理解

要件を定義する対象の背景や業務の概要を記入する。

ビジネスアイディア

LLMを実行時に出力がされない、JSONのフォーマットエラーのアラート、LLM実行が止まった時は「Cancel」しLLMの実行をやり直す

文脈理解からLLMの実行

文脈理解を入力とし以下の要素をLLMが出力する

⇒入力を使ってLLMの出力を限定する

※「ビジネスの背景」でアクターや外部システムなどを記述すると、LLMに出力が限定される

⇒LLMの反応をよくする

LLMの反応をよくするためにRDRAの用語とは違う用語を使っている

  業務はRDRAのBUCに対応   分類はRDRAの業務に対応



LLMの出力結果を見直す

※時間をかけて見直すのではなく、直感的におかしなところだけ見直す。文脈理解の入力を見直すために、LLMの出力を見直す

要求の入力と分類の確認

分類、業務、説明を見直し、さらに要求を追加し方向性を持たせる


ビジネスデザイン

重要な構成要素を確定する

ビジネスアイディアの出力がある程度妥当なものであれば、ビジネスデザインのLLMを実行する

ここで情報(分類)・状態モデルを一旦確定する

※ここで扱う業務と仕事はRDRAのBUCとアクティビティに対応する

仕事への分割と関連付け

ここで業務と仕事を一旦確定する

この段階では要求が思いつかないことも多いので、出力された要求をそのままにしておいてもよい

※この段階ではまだ確かなことは決められないので、明らかに違うものを削除、欠けていると思われるものを追加し、内容の変更を行う。迷っているものは基本的に残していくようにする

システム化検討

ビジネス上どこをシステム化するかを決める

RDRAに必要な要素を出力する

ビジネスデザインの出力がある程度妥当なものであればシステム化検討のLLMを実行し、RDRAに必要な要素を出力する

システム化検討では、情報、状態モデルを構造化し、条件、バリエーションを洗い出す。そして、仕事にユースケースを結びつけることで、システム化範囲を明らかにする。さらにユースケースに情報、アクター、外部システム、条件を結びつけてシステムが行うことを明らかにする

状態、条件、バリエーションは情報の分類(コンテキスト)に基づいて分類される

※意図したものが出力されない場合は出力結果を修正せずにLLMの再実行を行う

※この段階ではまだ確かなことは決められないので、明らかに違うものを削除、内容の変更を行い、迷っているものは基本的に残していくようにする

要素の見直しポイント

※条件、バリエーションはRDRA上で定義する場合の参考にするために

※この段階の修正はRDRASheet上でも行えるので、グラフィカルに精度を確認するために分類と関連を中心に見直す(グラフィカルに確認するためにはコンテキスト、分類、業務などのグルーピング、ユースケースとの関係が重要になる)

※明らかにLLMの出力が妥当(想定しているものが出力されない)ではない場合は再度LLMを実行する。数回実行して出力されない場合は、後でRDRA定義(Google Sheet)を使って手直しする

メニュー説明

LLMの出力を理解する

RDRASheet・RDRAGraphへの出力

ZeroOneではたたき台となるものを素早く作成することが重要

システム検討まで進めるとRDRAGraphやRDRASheetに出力できるようになる

RDRAGraphで内容を確認し、必要なところに戻って再度LLM実行を行う

ある程度の精度になったところでToRDRAでRDRA定義のSpreadSheetで編集を始める

※ZeroOneだけで精度を上げようとしない、ある程度システムスコープの合意ができればRDRASheetを使って要件を組立てる

LLMの出力をグラフで理解する

表形式だけでは出力の精度を理解するのは難しいので、RDRAGraphを使って定義内容をオブジェクトから逆引きして内容の精度を確認する

精度を確認するポイント

※妥当性はつながりの偏りから判断する。全くつながっていないもの、つながりの多いものなどから妥当性を確認する

LLMを使って定義内容を問い合わす

ChatBotを使ってLLMに内容を確認する

※RDRAGraphを参照

グラフの構造からチェック

構造から要件の精度をチェックすることができる


グラフから意味的なチェックする

各アイコンの意味のつながりから要件の精度をチェックする



このようにダイアグラムの構造から違和感を探すことや、個々のアイコンの名前と意味から関りの違和感を把握することで、違和感を使ってLLMの出力の精度を把握する

RDRASheetに移行する

ZeroOneからRDRASheet

RDRAZeroOneから

※以後はRDRASheet上でRDRA定義を続け、RDRAZeroOneの内容は破棄してもよい

Spreadsheetでの最初の作業

「To RDRA」では適切に処理されないものを適切なものに見直す

以後はGoogle Spreadsheet上で編集しRDRAGraphを出力し精度を上げる