Framework
User story. "As a [user], I want [feature], so that [value]"
This still works, but needs AI-era additions:
As a product manager, I want the AI to recommend products, So that users find relevant items faster.
Additional context:
- For cold-start users (no history): Use content-based recommendations
- For active users: Use collaborative filtering
- Confidence threshold: Only show recommendations > 80% confidence
- Failure case: If confidence < 80%, show "I'm not sure" instead of guessing
Now engineering understands not just the goal, but the constraints and failure handling.
Actionable Steps
1. Start with Traditional User Story Format
2. Add Constraints Section
- Data requirements, latency budgets, accuracy thresholds, edge cases
3. Add Failure Handling
- How does system behave when uncertain or when data is missing?
Key Takeaways
- User stories are starting point, not complete spec. Add constraints + failure handling for AI.
- Constraints force good design. "78% accuracy with 200ms latency" is better than "make it work."