第 2 章
心構え:プロダクトマネージャーのように考える
AIプログラミング時代において、最も重要なスキルはコードを書くことではなく、要件を明確に伝えることです。
MVP 思考:最小実行可能製品
MVP(Minimum Viable Product)とは、最小限の機能でコアとなる仮説を検証する製品版のことです。
コア原則
- - まず使えるものを作り、その後使いやすくする
- - 機能が使えるなら十分で、完璧さは追求しない
- - 高速な検証、高速な反復
よくある落とし穴
- - 最初から完璧を目指す
- - 機能がどんどん増えていく
- - なかなか本番環境に出せない
機能を足さないことの美学
機能の肥大化(Feature Creep)はプロジェクト失敗の最大の要因です。"はい"と言うことを学ぶより、"いいえ"と言うことを学ぶほうが重要です。
x 悪い例
“コメント、いいね、共有、会員システム、決済、レコメンドアルゴリズム、多言語対応、ダークモード、そして AI ライティングがあるブログを作って...”
+ 正しい例
“ブログを作ってほしい。中核機能は、記事の投稿、記事一覧、記事詳細です。その他の機能は後で追加します。”
Spec 駆動開発
Spec(Specification)は要件仕様書です。要件を明確に書くことが、成功の半分を占めます。
良い Spec には以下が含まれます:
目標 (Goals)
この機能はどんな問題を解決する必要がありますか?
非目標 (Non-Goals)
この機能は何をしないのか?
受け入れ基準 (Acceptance Criteria)
何をもって完了とするか?
リスク(Risks)
どのような問題が発生する可能性がありますか?
実践演習:Spec を書く
# ToDo アプリ Spec ## 目標 ユーザーの日常タスク管理を支援する、シンプルな ToDo アプリを作成する。 ## 非目標 - マルチユーザー/ログインシステムは作らない - クラウド同期はしない - リマインダー通知はしない ## コア機能 1. ToDo の追加 2. 完了/未完了の切り替え 3. ToDo の削除 4. ローカル保存 ## 受け入れ基準 - [ ] 文字を入力して新しいタスクを追加できる - [ ] タスクをクリックすると完了状態を切り替えられる - [ ] ページを更新してもデータが失われない ## 技術選定 - フロントエンド:React + Tailwind CSS - 保存:localStorage
Garbage In, Garbage Out
“ゴミを入れればゴミが出る”
AI によって生成されたコードの品質は、提供する要件の質に完全に依存します。あいまいな要件はあいまいなコードを生み、正確な要件は正確なコードを生みます。