AIでシステムを作る前に考えたい「要件定義」の基本

こんにちは、さこです!
生成AIを使って、日常業務に必要なツールを自分で作る。
こうしたシステム開発が、以前よりも身近になってきました。
顧客情報を管理する画面や、問い合わせ内容を整理する仕組み、期限を過ぎたタスクを知らせる機能など、実現したいことをAIに伝えながら、試作品を作ることができます。
「毎回手作業で対応しているこの仕事を、自分でシステム化できないだろうか」と考える人もいるのではないでしょうか。
ただ、実際に作り始めると、「動くものはできたけれど、業務では使いにくい」「修正を頼むたびに、別のところが意図と違ってくる」といった問題に直面することがあります。
原因の一つは、作る前の段階で、必要な条件を十分に整理できていないことです。
AIに伝えていない条件があれば、その部分はAIの推測に委ねられます。
見た目は整っていても、実際の仕事の進め方とは合わないシステムができるのは、この認識のずれがあるためです。
そこで重要になるのが「要件定義」です。
この記事では、AIを使って小さな業務ツールを作る人に向けて、登場する人、入力する情報、期待する結果を整理する、軽量な要件定義の進め方を解説します。
要件定義は「何ができればよいか」を決める作業
要件定義とは、業務で実現したいことを整理し、システムに必要な機能や条件を明確にする作業です。
例えば、「タスクの確認や連絡にかかる手間を減らしたい」という希望があったとします。
これは業務上の困りごとを表していますが、この説明だけでは、どのようなシステムが必要なのかまでは分かりません。
そこで、次のように具体化します。
管理者が、期限を過ぎても完了していないタスクのうち、まだ連絡していないものを一覧で確認できるようにする。
ここまで整理すると、誰が使い、何を確認できればよいのかが見えてきます。
さらに「連絡文面の案まで作成する」「実際の送信は管理者が確認してから行う」と決めれば、システムが担当する範囲も明確になります。
このように、「こうしたい」という要求を、実現できたかどうか確認できる要件へ具体化していきます。
要件整理の中心になる「人・入力・出力」
要件定義と聞くと、専門用語が並ぶ大がかりな資料を想像するかもしれません。
しかし、小さな業務ツールを試作する段階では、まず「誰が関わるのか」「どの情報を使うのか」「どのような結果が必要なのか」を整理するところから始められます。
ここでいう「人」は、画面を操作する利用者だけではありません。
情報を登録する人、結果を確認する人、連絡を受け取る人など、その仕組みに関わる人を含みます。
「入力」は、処理に必要な情報です。
人が手入力する内容だけでなく、既存のExcelや社内システムから読み込むデータも該当します。
「出力」は、その情報を処理した結果として得たい一覧や文面、通知などです。
例えば、期限切れタスクへの連絡を支援する仕組みなら、次のように整理できます。
この関係を整理すると、機能を考えるだけでは気づきにくい課題も見つかります。
例えば、過去の連絡記録が残っていなければ、システムは「まだ連絡していないタスク」を正しく判定できません。
その場合は、連絡した事実を記録する方法も必要です。
欲しい結果から逆に考えることで、必要なデータと、そのデータを誰が管理するのかまで確認できます。
6つの質問で要件を具体化する
人・入力・出力の関係が見えたら、目的や判断ルールを加えていきます。
ここでは、要件整理の入口として使える6つの質問を紹介します。
1. 何のために作るのか
最初に、解決したい問題を明確にします。
「タスク管理システムを作る」だけでは、何を改善したいのかが分かりません。
「期限を過ぎたタスクへの連絡漏れを減らす」「管理者が一覧を確認する時間を短縮する」というように、業務上の目的まで書きます。
目的が決まると、機能の優先順位を判断しやすくなります。
連絡漏れの防止が目的なら、詳細な分析グラフよりも、連絡対象を漏れなく抽出できることを先に確認する必要があります。
2. 誰が、いつ使うのか
利用者に加えて、利用するタイミングや操作のきっかけを決めます。
例えば、「管理者が毎朝、確認ボタンを押して連絡候補を表示する」とすれば、誰が処理を始めるのかが明確になります。
「毎朝決まった時刻に自動で処理する」場合とは、必要な仕組みも運用も異なります。
また、担当者がいつまでにタスクの状態を更新するのかも確認します。
管理者が朝に確認しても、完了状況が前日のままであれば、不要な連絡が発生する可能性があるためです。
3. 何を入力し、何を得たいのか
必要な情報を項目単位で洗い出し、出力の内容や形式を決めます。
「Excelを読み込む」だけでなく、「タスク名、期限、担当者、完了状況、連絡記録の列を使う」と具体化します。
出力についても、「結果を表示する」ではなく、「連絡候補を期限順に並べ、担当者、連絡先、文面の案を表示する」と書けば、期待する結果が伝わりやすくなります。
この段階では、どこまで自動化するかも重要です。
連絡文面を作ることと、その文面を実際に送ることは別の処理です。
今回は、候補と文面の作成までをシステムが担当し、確認と送信は管理者が行うものとします。
4. どのようなルールで判断するのか
業務で使っている言葉を、具体的な条件に分けます。
例えば、「対応が遅れているタスク」は、人によって解釈が異なる表現です。
期限当日も含めるのか、すでに連絡したものも対象にするのかを決める必要があります。
今回の初回連絡候補は、次の条件をすべて満たすものとします。
- 期限が確認日より前である
- 完了状況が「未完了」である
- 過去の連絡記録がない
これにより、期限が当日のタスク、完了済みのタスク、すでに連絡したタスクは対象から外れます。
再連絡も必要であれば、初回連絡とは別に、対象とする条件を決めます。
「もし、この条件を満たしたら、この処理をする」という形にすると、曖昧な判断を確認可能なルールへ変えられます。
5. 情報が足りないときはどうするのか
通常の処理に加えて、入力漏れや想定外の状態への対応を決めます。
例えば、期限が空欄なら期限超過を判断できません。
担当者や連絡先がなければ、連絡の準備を進められません。
こうしたデータは通常の候補とは分け、「要確認」として不足している項目を表示する方法が考えられます。
対応方法がまだ決まっていない場合は、無理に埋める必要はありません。
「仮置きの案」「関係者への確認が必要な内容」「確認済みの内容」を区別して残します。
未確認事項には、確認先と確認する内容も添えておくと、次に何をすればよいかが分かります。
AIが提案した処理も、業務上妥当かを確認するまでは、確定したルールとして扱わないことが大切です。
6. どのような結果になれば合格か
最後に、完成した仕組みが要件を満たすかを確認するための具体例を用意します。
書き方は、「この状態で、この操作をすると、この結果になる」という形です。
期限が前日で、未完了かつ未連絡のタスクを用意する。担当者と連絡先が登録された状態で管理者が確認処理を行うと、そのタスクが初回連絡の候補に表示される。
これに加えて、表示されてはいけないケースや、情報不足のケースも確認します。
例えば、完了済みのタスクは候補に出ないこと、連絡先が空欄のタスクは「要確認」に分けられることです。
対象となるデータが表示されるだけでなく、対象外のデータが除外されることまで確認すると、判断ルールの誤りを見つけやすくなります。
要件を整理してから、AIと試作する
6つの質問への回答がまとまったら、その内容をもとにAIへ試作を依頼します。
最初からすべての機能を作るよりも、まずは「データを読み込み、条件に合う連絡候補を一覧にする」ところまで作り、用意した具体例で動作を確かめると進めやすくなります。
その後、文面の作成などを追加していきます。
試作品を見て初めて気づくこともあります。
「タスクの期限だけでなく、遅れている日数も表示したい」「連絡済みに変更する操作が必要だった」といった発見です。
その際は、画面の修正だけを繰り返すのではなく、要件メモも更新します。
追加した条件が記録されていないと、後から変更するときに、何を基準に作ったのか分からなくなるためです。
AIには、要件の抜けを確認する役割も任せられます。
整理した内容を渡し、「判断できない条件や不足している情報を挙げてほしい」と依頼すれば、確認事項を洗い出す助けになります。
ただし、業務のルールや担当者の役割については、実際の関係者と認識を合わせる必要があります。
業務で使い続けるための設計
ここまで紹介した6つの質問は、主に業務の流れと必要な処理を整理するためのものです。
実際のデータを使って運用する段階では、システムを安全かつ安定して使い続けるための条件も確認します。
例えば、誰が情報を閲覧・変更できるのか、データをどこに保存するのか、誤って削除した場合に戻せるのか、処理が失敗したときに誰が対応するのか、といった内容です。
処理するデータの量によっては、応答時間や同時に利用する人数も検討します。
性能、信頼性、セキュリティなどに関する条件は、一般に「非機能要件」と呼ばれます。
これに加えて、データ更新や保守の担当者など、運用上の役割も決めておく必要があります。
求められる詳しさは、利用者の範囲や扱う情報、処理が止まった場合の影響によって変わります。
小さなツールでも、顧客情報を扱う場合や、日々の業務に欠かせない場合には、機能だけでなく運用まで含めて考えることが重要です。
まとめ
生成AIによって、業務上のアイデアを自分で形にし、試しながら改善する選択肢が広がりました。
その一方で、業務の目的や判断ルールを整理する必要性は変わっていません。
要件定義は、自分たちが普段どの情報を使い、何を基準に判断し、どのような結果を必要としているのかを確認する機会でもあります。
整理する過程で、記録していない情報や、人によって異なる判断、担当が決まっていない作業に気づくこともあるでしょう。
最初からすべてを決め切る必要はありません。
まずは「誰が、どの情報を使い、何を得たいのか」を書き出し、判断ルールと確認方法を加える。
その内容をもとに小さく作り、実際の結果を見ながら要件を見直していけば、業務に合った仕組みへ近づけていけます。
自分の仕事をシステム化してみたいと思ったら、まずは日々の業務の中から、改善したい作業を一つ選んでみてください。
今回の6つの質問に沿って整理することが、AIの開発スピードを生かし、現場で役立つシステムを作るための第一歩になります。