第 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 によって生成されたコードの品質は、提供する要件の質に完全に依存します。あいまいな要件はあいまいなコードを生み、正確な要件は正確なコードを生みます。