ChatGPTさんに要件定義について教えてもらった
ChatGPTさんに要件定義について教えてもらったので、シェアします
まず何をする工程か質問しました。
具体的な活動内容について教えてもらいました。続いて5W1Hフレームをしていして質問してみます。
Where(どこで)の部分は深堀しづらいので、それ以外の部分について、詳しく質問してみます。まずはWho(誰が)の部分です。
要件定義は誰がするのか
要件定義の役割について質問しました。
システムアナリストとプロジェクトマネージャーは兼任していることが多いイメージ。
また、開発チームだけでなく、テストケースを作成する品質保証チームにまで言及しています。
要件定義は何をするのか
要件定義の中でも「ニーズの収集」について、現状把握、問題特定、業務要件というポイントを提示して、質問しました。
その結果がこちら。
こちらが指定したポイントで詳しく解説してくれています。こちらの考えに引っ張られるのはよくないので、ChatGPTさん自身の考えを改めて質問しました。
ニーズの収集の手法について、解説してしてくれています。解説をお願いする時に「プロセス」だったり「手法」だったりを指定してみるといいかもしれません。
要件定義はなぜやるべきなのか
要件定義を実施する目的について質問しました。
ビジネス戦略や市場動向についてまで言及されていて素晴らしい。ただ、8つもあるので最も重要な目的を質問しました。
完全に同意です。コンセンサス形成無しの要件定義に起因する後工程での大災害をいくつも見てきました。
要件定義はいつやるのか
要件定義はプロジェクト計画の次の工程ということなので、プロジェク計画の成果物のうち、要件定義でインプットになるものが何か質問しました。
PMBOK第6版の計画プロセスにおけるアウトプットが提示されています。
次に要件定義の成果物のうち、設計工程でのインプットになるものを質問してみました。
要件定義と設計の線引きが難しいと感じていたので、そのことについても質問してみました。
要件定義な「何を」を決める役割で、設計が「どのように」を決める役割というのは納得感のある説明です。
要件定義をどのようにやるか
要件定義のやり方について、要件の特定、整理、詳細化、文書化のやり方について質問しました。
めちゃくちゃ具体的です。最初から完璧を求めず、フィードバックを取り入れていこうというアドバイスも素敵です。
要件定義の目的で最も重要なことがステークホルダーとのコンセンサスということだったので、その方法について質問しました。
ChatGPTさんが自分で大事だと言っていることもあり、9つもヒントを出してくれました。どれも具体的かつ納得感があります。
最後にまとめ
最後にこれまでChatGPTさんに教えてもらったことをまとめてもらいました。
まとめもいい感じです。
参考:ChatGPTさんに質問したこと
ソフトウェア開発における要件定義工程とは、何をする工程でしょうか
ありがとうございます。とてもよくわかりました。要件定義工程の目的と活動について、5W1Hのフレームでもう一度説明してもらうことはできますか?
ありがとうございます。要件定義工程について改めて全体像がわかりました。もう少し詳細に教えてください。Who(誰が)の部分について、要件定義工程においては様々な人が関係することがわかりました。関係者ごとの要件定義工程における役割について教えてもらってもいいでしょうか。
ありがとうございます。よくわかりました。次にWhat(何を)の部分について詳しく教えてください。要件定義工程で活動について、「ニーズの収集」から「要件の確認と承認」と教えていただきました。この中で「ニーズの収集」についてもう少し詳細に教えていただけないでしょうか。現状把握、問題の特定、それを背景とした業務要件の提示などが含まれるのではないかと思うのですがいかがでしょうか。
こちらが指摘したポイントについての回答をありがとうございます。私が指摘したポイントはいったん忘れていただいてChatGPTさんが考える「ニーズの収集」について、改めて詳しく教えていただいてもいいでしょうか。
ありがとうございます。続いてWhy(なぜ)の部分について詳しく教えてください。後続の開発工程をスムーズに行うため、ステークホルダーの期待やニーズを正確に満たすためというのが目的だと理解しました。この他にも要件定義を実施する目的はあるでしょうか。できる限り詳細に教えてください。
幅広い観点で要件定義を実施する目的について教えていただき、ありがとうございます。この8つの中でChatGPTさんが考える最も重要な目的は何になるでしょうか。またその理由も教えてください。
ありがとうございます。次にWhen(いつ)の部分について詳しく教えてください。プロジェクト計画の後、設計の前が要件定義を実施することがわかりました。プロジェクト計画工程でのアウトプットを使って要件定義を実施することになると思うのですが、要件定義のインプットになるプロジェクト計画工程の成果物について教えてください。
とてもよくわかりました。ありがとうございます。次に要件定義工程のアウトプットが次工程の設計のインプットになると思います。要件定義工程の成果物がどのように設計工程で利用されるのか教えていただいてもいいでしょうか。
ありがとうございます。要件仕様書が設計工程でのアーキテクチャやモジュール、データベース設計に利用されることがわかりました。要件仕様書では、画面設計やデータベース設計の一部もやることがあると思うのですが、要件定義工程と設計工程のアウトプットについて、どのような考え方で線引きすれば良いでしょうか。
ありがとうございます。最後にHow(どのように)について詳しく教えてください。ニーズの収集については詳しく教えてもらったので、収集したニーズを元に要件を特定、整理、詳細化し、それを文書化させる方法について、詳しく教えてください。とても難しい作業だと感じています。
ありがとうございます。フィードバックによる見直しも重要であることが再認識できました。文書化したものを使って、ステークホルダーとの確認・承認のプロセスについて、進め方とヒントを詳しく教えてもらえないでしょうか。承認した文書について、後から意識違いがあり、修正することになるケースも多く、ステークホルダーに正確に文書を理解してもらい承認してもらうことがとても難しく感じています。
ありがとうございます。要件定義工程における活動や目的についてとてもよくわかりました。これまで様々な観点で説明いただいた内容をポイントをしぼってまとめていただけないでしょうか。全体として1000文字以内でまとめていただけるとありがたいです。