RDRA定義にLLMを使う
エンタープライズ向けの要件定義にLLMを活用し素早く全体像を構築する
RDRAZeroOne:LLMを使ったRDRA定義ツール
あなたはLLMが出力した要件定義に責任をもてますか?
•事実
LLMは会社のこともプロジェクトの課題も状況も何も知らない
•課題
LLMに状況や要求をどう伝えるか
大量のLLMの出力をどう理解するか
如何に早く要件として決定するか
•RDRAZeroOneの狙い
LLMと人がキャッチボールするために段階的にLLMを利用し詳細化する
RDRAZeroOneでたたき台を作り、従来のRDRAモデリング(表形式)で要件を組立てる
プロンプトを意識せずに要件に注力する
注意:LLMへのプロンプトにRDRA独自の用語を使うのを避けるために、一部の言葉を変えて使っている
業務:BUC 仕事:アクティビティ 分類:業務/コンテキスト
文脈理解:初期の入力
ビジネスアイディア
文脈理解からスコープを決める
文脈理解を入力とし以下の要素を出力する
アクター:システムに関係するアクターを出力する
外部システム:システムに関係する外部システムを出力する
ビジネスポリシー:ビジネス全体を通した決まり事を明確にする
ビジネスパラメータ:ビジネス上活用している区分や種別を洗い出す
業務:入力された業務概要から分類された説明付きの業務を出力する
⇒システム化のスコープを決める
※LLMの反応をよくするためにRDRAの用語とは違う用語を使っている
業務:BUC 分類:業務
※アクターや外部システムを記述すると、LLMに出力されるものが限定される
※業務の概要を2階層で整理して出力するとLLMもその階層を利用する
1階層目の先頭に「・」 2階層目の先頭に「- 」を付ける
ビジネスデザイン
ビジネスの構成要素を洗い出す
ビジネスアイディアの出力がある程度妥当なものであれば、ビジネスデザインのLLMを実行する
業務で扱う情報、状態を洗い出す
業務を仕事に分割する
アクターと外部システムを仕事に関連付ける
情報・状態モデルの見直しポイント
情報:明らかに不要なものを削除し、欠けているものは追加する。また名前や説明の内容を見直す
状態モデル:明らかに不要(管理しない)な状態を削除し、欠けているものは追加する。また名前や説明の内容を見直す
※明らかにLLMの出力が妥当(想定しているものが出力されない)ではない場合は再度LLMを実行する。数回実行して出力されない場合は、後でRDRA定義の段階で手直しする
※ここで扱う業務と仕事はRDRAのBUCとアクティビティに対応する
システム化検討
ビジネス上どこをシステム化するかを決める
RDRAに必要な要素を出力する
ビジネスデザインの出力がある程度妥当なものであればシステム化検討のLLMを実行し、RDRAに必要な要素を出力する
システム化検討では、情報、状態モデルを構造化し、条件、バリエーションを洗い出す。そして、仕事にユースケースを結びつけることで、システム化範囲を明らかにする。さらにユースケースに情報、アクター、外部システム、条件を結びつけてシステムが行うことを明らかにする
※意図したものが出力されない場合は出力結果を修正せずにLLMの再実行を行う
※この段階ではまだ確かなことは決められないので、明らかに違うものを削除、内容の変更を行い、迷っているものは基本的に残していくようにする
LLMの出力を理解する
RDRASheet・RDRAGraphへの出力
ZeroOneではたたき台となるものを素早く作成することが重要
システム検討まで進めるとRDRAGraphやRDRASheetに出力できるようになる
ToRDRA:RDRASheetに移行できるように定義内容をクリップボードにコピー
ToGraph:RDRAGraphを表示
RDRAGraphで内容を確認し、必要なところに戻って再度LLM実行を行う
ある程度の精度になったところでToRDRAでRDRA定義のSpreadSheetで編集を始める
※ZeroOneだけで精度を上げようとしない、ある程度システムスコープの合意ができればRDRASheetを使って要件を組立てる
このようにダイアグラムの構造から違和感を探すことや、個々のアイコンの名前と意味から関りの違和感を把握することで、違和感を使ってLLMの出力の精度を把握する
RDRASheetに移行する
ZeroOneからRDRASheetへ
RDRAZeroOneから
ZeroOneメニューの「To RDRA」を実行すると定義内容がクリップボードにコピーされる
Spreadsheetが表示される
「閲覧のみ」が表示されている場合は編集ができないので「ファイル/コピーを作成」を実行し、編集用に自分用のSpreadsheetを作成する
以後は作成したSpreadsheetを利用する
作成したSpreadsheetの「ZeroOne」シートのA1セルにペーストする
「Import」ボタンを押すとペースト内容を各シートに設定する
※以後はRDRASheet上でRDRA定義を続け、RDRAZeroOneの内容は破棄してもよい
Spreadsheetでの最初の作業
「To RDRA」では適切に処理されないものを適切なものに見直す
画面名を適切な名前にする
画面名は「UC+_画面」となっているので適切な画面名にする
イベント名を適切な名前にする
イベント名は「UC+_イベント」となっているので適切な画面名にする
コンテキスト名は便宜次の名前で分類されている
事前設定、取引関連、リソース管理、人的管理などに分類されている
コンテキストで分類されている以下のモデルのコンテキスト名を見直す
情報、状態モデル、条件、バリエーション
以後はGoogle Spreadsheet上で編集しRDRAGraphを出力し精度を上げる