Chapter 2

Mindset: think like a product manager

In the era of AI programming, the most important skill is not writing code, but clearly expressing requirements.

MVP thinking: Minimum Viable Product

MVP (Minimum Viable Product) refers to a product version that validates core assumptions with the minimum set of features.

Core principles

  • - First make it usable, then make it easy to use
  • - As long as the feature works, that's enough; don't pursue perfection
  • - Rapid validation, rapid iteration

Common pitfalls

  • - Aim for perfection from the start
  • - The features keep growing and growing
  • - Delayed release to production

The art of not adding features

Feature creep is the number one killer of project failure. Learning to say “no” is more important than learning to say “yes.”

x Bad Example

“Help me make a blog with comments, likes, sharing, a membership system, payments, recommendation algorithms, multilingual support, dark mode, and AI writing...”

+ Correct example

“Help me make a blog. The core features are: publishing articles, article list, and article details. Other features will be added later.”

Spec-driven development

Spec (Specification) is the requirements specification document. Writing requirements clearly is half the battle.

A good Spec includes:

Goals

What problem does this feature need to solve?

Non-Goals

What does this feature not do?

Acceptance Criteria

What counts as done?

Risks

What problems might you encounter?

Hands-on exercise: Write a Spec

# To-do App Spec

## Goal
Create a simple to-do app to help users manage daily tasks.

## Non-goals
- No multi-user/login system
- No cloud sync
- No reminder notifications

## Core Features
1. Add to-do items
2. Mark complete/incomplete
3. Delete to-do items
4. Local storage

## Acceptance Criteria
- [ ] Can enter text to add a new task
- [ ] Clicking a task can toggle its completion state
- [ ] Refreshing the page does not lose data

## Tech Stack
- Frontend: React + Tailwind CSS
- Storage: localStorage

Garbage In, Garbage Out

"Garbage in, garbage out"

The quality of AI-generated code depends entirely on the quality of the requirements you provide. Vague requirements produce vague code, and precise requirements produce precise code.