brainstorming

Use when rough ideas need design before code, requirements are fuzzy, multiple approaches exist, or you need to explore options before implementation