見出し画像

学び(2024/06/01)

今日の学び

https://www.digitalservice.metro.tokyo.lg.jp/documents/d/digitalservice/ai_prompt

  • 生成AIのプロンプトの話

    • 資料作成の時に役割付与しがちだったので目からうろこ

    • 理由を書かせるも初見だった

「要件定義」について聞くとしたら、いつもは以下のようにしていた

あなたはシニアエンジニアです。「要件定義」について新人エンジニアへ説明してください。

ChatGPT

要件定義は、ソフトウェア開発プロジェクトの初期段階で行われる非常に重要なプロセスです。これは、クライアントやユーザーが何を必要としているのかを明確にし、そのニーズに基づいてシステムの仕様や機能を定義する作業を指します。以下に、要件定義の基本的なポイントを説明します。

要件定義の目的クライアントの期待を明確化する
クライアントが求めるシステムの機能や性能を具体的に把握する。
期待と現実のギャップを事前に埋めることで、プロジェクト後半での大きな変更を避ける。
開発チームの指針を提供する
システムの具体的な仕様や機能を明文化することで、開発チーム全員が同じ目標に向かって作業できるようにする。
要件を基に設計や実装を行うため、後工程の作業の効率化と品質向上に寄与する。


要件定義のプロセス情報収集
クライアントとのミーティングやインタビューを通じて、彼らのニーズや期待を詳細に聞き取る。
業務フローの観察や既存システムの分析も重要。
要件の整理と分類
集めた情報を整理し、機能要件(システムが何をするか)と非機能要件(性能、セキュリティ、ユーザビリティなど)に分類する。
要件の文書化
要件を分かりやすく文書にまとめる。これには、機能リスト、ユースケース、シナリオ、ワイヤーフレームなどが含まれる。
レビューと承認
要件文書をクライアントやステークホルダーと共有し、確認とフィードバックを受ける。
必要に応じて要件を修正し、最終的にクライアントの承認を得る。


良い要件定義の特徴明確であること: 曖昧な表現を避け、具体的かつ詳細に記述する。
一貫性があること: 前後の記述に矛盾がないようにする。
検証可能であること: 実際のシステムで実現可能かどうかを確認できるようにする。
追跡可能であること: どの要件がどの機能や設計に対応しているかを追跡できるようにする。


要件定義の重要性

要件定義がしっかりしていないと、プロジェクトの進行中に仕様変更が頻発したり、クライアントの期待に応えられないシステムが出来上がるリスクが高まります。これにより、コスト超過や納期遅延が発生し、最終的にはプロジェクトの失敗に繋がる可能性があります。

新人エンジニアとしては、要件定義の重要性を理解し、適切に実施するためのスキルと知識を身につけることが重要です。まずは、情報収集やコミュニケーションの技術を磨き、文書化のスキルを高めていきましょう。

ChatGPT

note参考にもう少し簡潔に知りたい場合の書き方を試す。

「要件定義」について、以下のルールに沿って、高校一年生がわかるように説明してください。
## ルール
- 専門用語には注釈をつけること
- 具体例を提示すること
- 300字以内の文章にすること

ChatGPT

要件定義(ようけんていぎ)とは、ソフトウェアやシステムを作る前に、何を作るのか、どういう機能(きのう)を持たせるのかをはっきりさせることです。例えば、学校の部活動のスケジュール管理アプリを作るとします。このアプリでは、部員が練習日を確認できる機能や、練習場所を予約する機能が必要です。要件定義では、これらの機能を具体的にリストアップします。そして、どの機能が一番大事か、どの順番で作るかを決めます。こうすることで、作るものがはっきりし、みんなが同じ目標に向かって作業できます。要件定義がしっかりしていると、後で「こんな機能が欲しかった」というトラブルを防ぐことができます。

ChatGPT

前者は要件定義の段階ごとの説明をしてくれているので、これはこれでありがたいが、後者のほうが簡潔にまとまっていて概要をつかむのにいい印象がある。(フリガナはいらなかったけど)

記事のまとめにあるように、コツはありつつも「どのような出力を期待していて、そのために丁寧な指示をする」ことが大事だとわかった。



所感

雑に質問しがちである。むしろ「こういう出力が欲しいからプロンプト考えて」もありかもしれない。


終わりに

台風消滅してとてもいい天気。


この記事が気に入ったらサポートをしてみませんか?