A3 Problem Analysis
Apply A3 problem-solving format for comprehensive, single-page problem documentation and resolution planning.
Description
Structured one-page analysis format covering: Background, Current Condition, Goal, Root Cause Analysis, Countermeasures, Implementation Plan, and Follow-up. Named after A3 paper size; emphasizes concise, complete documentation.
Usage
/analyse-problem [problem_description]
Variables
- PROBLEM: Issue to analyze (default: prompt for input)
- OUTPUT_FORMAT: markdown or text (default: markdown)
Steps
- Background: Why this problem matters (context, business impact)
- Current Condition: What's happening now (data, metrics, examples)
- Goal/Target: What success looks like (specific, measurable)
- Root Cause Analysis: Why problem exists (use 5 Whys or Fishbone)
- Countermeasures: Proposed solutions addressing root causes
- Implementation Plan: Who, what, when, how
- Follow-up: How to verify success and prevent recurrence
A3 Template
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
A3 PROBLEM ANALYSIS
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
TITLE: [Concise problem statement]
OWNER: [Person responsible]
DATE: [YYYY-MM-DD]
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 1. BACKGROUND (Why this matters) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ [Context, impact, urgency, who's affected] โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 2. CURRENT CONDITION (What's happening) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ [Facts, data, metrics, examples - no opinions] โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 3. GOAL/TARGET (What success looks like) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ [Specific, measurable, time-bound targets] โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 4. ROOT CAUSE ANALYSIS (Why problem exists) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ [5 Whys, Fishbone, data analysis] โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 5. COUNTERMEASURES (Solutions addressing root causes) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ [Specific actions, not vague intentions] โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 6. IMPLEMENTATION PLAN (Who, What, When) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ [Timeline, responsibilities, dependencies, milestones] โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 7. FOLLOW-UP (Verification & Prevention) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ [Success metrics, monitoring plan, review dates] โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Examples
Example 1: Database Connection Pool Exhaustion
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
A3 PROBLEM ANALYSIS
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
TITLE: API Downtime Due to Connection Pool Exhaustion
OWNER: Backend Team Lead
DATE: 2024-11-14
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 1. BACKGROUND โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โข API goes down 2-3x per week during peak hours โ
โ โข Affects 10,000+ users, average 15min downtime โ
โ โข Revenue impact: ~$5K per incident โ
โ โข Customer satisfaction score dropped from 4.5 to 3.8 โ
โ โข Started 3 weeks ago after traffic increased 40% โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 2. CURRENT CONDITION โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Observations: โ
โ โข Connection pool size: 10 (unchanged since launch) โ
โ โข Peak concurrent users: 500 (was 300 three weeks ago) โ
โ โข Average request time: 200ms (was 150ms) โ
โ โข Connections leaked: ~2 per hour (never released) โ
โ โข Error: "Connection pool exhausted" in logs โ
โ โ
โ Pattern: โ
โ โข Occurs at 2pm-4pm daily (peak traffic) โ
โ โข Gradual degradation over 30 minutes โ
โ โข Recovery requires app restart โ
โ โข Long-running queries block pool (some 30+ seconds) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 3. GOAL/TARGET โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โข Zero downtime due to connection exhaustion โ
โ โข Support 1000 concurrent users (2x current peak) โ
โ โข All connections released within 5 seconds โ
โ โข Achieve within 1 week โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 4. ROOT CAUSE ANALYSIS โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ 5 Whys: โ
โ Problem: Connection pool exhausted โ
โ Why 1: All 10 connections in use, none available โ
โ Why 2: Connections not released after requests โ
โ Why 3: Error handling doesn't close connections โ
โ Why 4: Try-catch blocks missing .finally() โ
โ Why 5: No code review checklist for resource cleanup โ
โ โ
โ Contributing factors: โ
โ โข Pool size too small for current load โ
โ โข No connection timeout configured (hangs forever) โ
โ โข Slow queries hold connections longer โ
โ โข No monitoring/alerting on pool metrics โ
โ โ
โ ROOT CAUSE: Systematic issue with resource cleanup + โ
โ insufficient pool sizing โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 5. COUNTERMEASURES โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Immediate (This Week): โ
โ 1. Audit all DB code, add .finally() for connection release โ
โ 2. Increase pool size: 10 โ 30 โ
โ 3. Add connection timeout: 10 seconds โ
โ 4. Add pool monitoring & alerts (>80% used) โ
โ โ
โ Short-term (2 Weeks): โ
โ 5. Optimize slow queries (add indexes) โ
โ 6. Implement connection pooling best practices doc โ
โ 7. Add automated test for connection leaks โ
โ โ
โ Long-term (1 Month): โ
โ 8. Migrate to connection pool library with auto-release โ
โ 9. Add linter rule detecting missing .finally() โ
โ 10. Create PR checklist for resource management โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 6. IMPLEMENTATION PLAN โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Week 1 (Nov 14-18): โ
โ โข Day 1-2: Audit & fix connection leaks [Dev Team] โ
โ โข Day 2: Increase pool size, add timeout [DevOps] โ
โ โข Day 3: Set up monitoring [SRE] โ
โ โข Day 4: Test under load [QA] โ
โ โข Day 5: Deploy to production [DevOps] โ
โ โ
โ Week 2 (Nov 21-25): โ
โ โข Optimize identified slow queries [DB Team] โ
โ โข Write best practices doc [Tech Writer + Dev Lead] โ
โ โข Create connection leak test [QA Team] โ
โ โ
โ Week 3-4 (Nov 28 - Dec 9): โ
โ โข Evaluate connection pool libraries [Dev Team] โ
โ โข Add linter rules [Dev Lead] โ
โ โข Update PR template [Dev Lead] โ
โ โ
โ Dependencies: None blocking Week 1 fixes โ
โ Resources: 2 developers, 1 DevOps, 1 SRE โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 7. FOLLOW-UP โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Success Metrics: โ
โ โข Zero downtime incidents (monitor 4 weeks) โ
โ โข Pool usage stays <80% during peak โ
โ โข No connection leaks detected โ
โ โข Response time <200ms p95 โ
โ โ
โ Monitoring: โ
โ โข Daily: Check pool usage dashboard โ
โ โข Weekly: Review connection leak alerts โ
โ โข Bi-weekly: Team retrospective on progress โ
โ โ
โ Review Dates: โ
โ โข Week 1 (Nov 18): Verify immediate fixes effective โ
โ โข Week 2 (Nov 25): Assess optimization impact โ
โ โข Week 4 (Dec 9): Final review, close A3 โ
โ โ
โ Prevention: โ
โ โข Add connection handling to onboarding โ
โ โข Monthly audit of resource management code โ
โ โข Include pool metrics in SRE runbook โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Example 2: Security Vulnerability in Production
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
A3 PROBLEM ANALYSIS
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
TITLE: Critical SQL Injection Vulnerability
OWNER: Security Team Lead
DATE: 2024-11-14
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 1. BACKGROUND โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โข Critical security vulnerability reported by researcher โ
โ โข SQL injection in user search endpoint โ
โ โข Potential data breach affecting 100K+ user records โ
โ โข CVSS score: 9.8 (Critical) โ
โ โข Vulnerability exists in production for 6 months โ
โ โข Similar issue found in 2 other endpoints (scanning) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 2. CURRENT CONDITION โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Vulnerable Code: โ
โ โข /api/users/search endpoint uses string concatenation โ
โ โข Input: search query (user-provided, not sanitized) โ
โ โข Pattern: `SELECT * FROM users WHERE name = '${input}'` โ
โ โ
โ Scope: โ
โ โข 3 endpoints vulnerable (search, filter, export) โ
โ โข All use same unsafe pattern โ
โ โข No parameterized queries โ
โ โข No input validation layer โ
โ โ
โ Risk Assessment: โ
โ โข Exploitable from public internet โ
โ โข No evidence of exploitation (logs checked) โ
โ โข Similar code in admin panel (higher privilege) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 3. GOAL/TARGET โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โข Patch all SQL injection vulnerabilities within 24 hours โ
โ โข Zero SQL injection vulnerabilities in codebase โ
โ โข Prevent similar issues in future code โ
โ โข Verify no unauthorized access occurred โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 4. ROOT CAUSE ANALYSIS โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ 5 Whys: โ
โ Problem: SQL injection vulnerability in production โ
โ Why 1: User input concatenated directly into SQL โ
โ Why 2: Developer wasn't aware of SQL injection risks โ
โ Why 3: No security training for new developers โ
โ Why 4: Security not part of onboarding checklist โ
โ Why 5: Security team not involved in development process โ
โ โ
โ Contributing Factors (Fishbone): โ
โ โข Process: No security code review โ
โ โข Technology: ORM not used consistently โ
โ โข People: Knowledge gap in secure coding โ
โ โข Methods: No SAST tools in CI/CD โ
โ โ
โ ROOT CAUSE: Security not integrated into development โ
โ process, training gap โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ