Brainstorming Workflow
A structured approach to generating and evaluating ideas for design decisions.
When to Use
- •Starting a new feature with unclear requirements
- •Choosing between multiple architectural approaches
- •Solving a problem with no obvious solution
- •Exploring trade-offs before committing to a direction
Phase 1: Problem Definition
Clearly define what you're trying to solve:
- •State the goal: What should the end result accomplish?
- •Identify constraints: What limitations exist? (time, resources, compatibility)
- •Define success criteria: How will you know the solution works?
- •List stakeholders: Who cares about this decision?
Template:
code
Goal: [What we're trying to achieve] Constraints: [Time, resources, compatibility requirements] Success looks like: [Measurable outcomes] Stakeholders: [Who is affected]
Phase 2: Divergent Thinking
Generate as many ideas as possible without judgment:
- •Quantity over quality: Get all ideas out first
- •No criticism yet: All ideas are valid at this stage
- •Build on ideas: "Yes, and..." not "No, but..."
- •Think unconventionally: What would a beginner suggest? An expert?
Techniques:
- •SCAMPER: Substitute, Combine, Adapt, Modify, Put to other uses, Eliminate, Rearrange
- •Reverse brainstorm: How could we make this problem worse?
- •Analogy: How do other domains solve similar problems?
- •Extreme scenarios: What if we had unlimited time? Zero budget?
Phase 3: Idea Organization
Group and structure the generated ideas:
- •Categorize: Group similar approaches together
- •Identify themes: What patterns emerge?
- •Note dependencies: Which ideas require others?
- •Mark combinations: Which ideas work well together?
Phase 4: Convergent Thinking
Evaluate and narrow down options:
- •Apply constraints: Which ideas are actually feasible?
- •Score against criteria: Rate each option on success factors
- •Identify risks: What could go wrong with each approach?
- •Consider effort vs impact: Quick wins vs long-term investments
Evaluation Matrix:
code
| Option | Feasibility | Impact | Risk | Effort | Score | |--------|-------------|--------|------|--------|-------| | A | High | Medium | Low | Low | 8/10 | | B | Medium | High | Med | High | 6/10 |
Phase 5: Decision
Make a choice and document the rationale:
- •Select the approach: Based on evaluation
- •Document why: Future you will thank you
- •Note rejected alternatives: And why they were rejected
- •Identify next steps: What's the immediate action?
Decision Record Template:
code
## Decision: [Title] ### Context [What situation led to this decision] ### Options Considered 1. [Option A] - [Pros/Cons] 2. [Option B] - [Pros/Cons] 3. [Option C] - [Pros/Cons] ### Decision [What we decided and why] ### Consequences [What this decision means going forward]
Anti-Patterns to Avoid
- •Premature convergence: Deciding before exploring
- •Groupthink: Not challenging popular ideas
- •Analysis paralysis: Evaluating forever without deciding
- •Pet solutions: Forcing a predetermined answer
- •Missing constraints: Forgetting important limitations