chess/planning/analysis/risk-assessment.md
Christoph Wagner 5ad0700b41 refactor: Consolidate repository structure - flatten from workspace pattern
Restructured project from nested workspace pattern to flat single-repo layout.
This eliminates redundant nesting and consolidates all project files under version control.

## Migration Summary

**Before:**
```
alex/ (workspace, not versioned)
├── chess-game/ (git repo)
│   ├── js/, css/, tests/
│   └── index.html
└── docs/ (planning, not versioned)
```

**After:**
```
alex/ (git repo, everything versioned)
├── js/, css/, tests/
├── index.html
├── docs/ (project documentation)
├── planning/ (historical planning docs)
├── .gitea/ (CI/CD)
└── CLAUDE.md (configuration)
```

## Changes Made

### Structure Consolidation
- Moved all chess-game/ contents to root level
- Removed redundant chess-game/ subdirectory
- Flattened directory structure (eliminated one nesting level)

### Documentation Organization
- Moved chess-game/docs/ → docs/ (project documentation)
- Moved alex/docs/ → planning/ (historical planning documents)
- Added CLAUDE.md (workspace configuration)
- Added IMPLEMENTATION_PROMPT.md (original project prompt)

### Version Control Improvements
- All project files now under version control
- Planning documents preserved in planning/ folder
- Merged .gitignore files (workspace + project)
- Added .claude/ agent configurations

### File Updates
- Updated .gitignore to include both workspace and project excludes
- Moved README.md to root level
- All import paths remain functional (relative paths unchanged)

## Benefits

 **Simpler Structure** - One level of nesting removed
 **Complete Versioning** - All documentation now in git
 **Standard Layout** - Matches open-source project conventions
 **Easier Navigation** - Direct access to all project files
 **CI/CD Compatible** - All workflows still functional

## Technical Validation

-  Node.js environment verified
-  Dependencies installed successfully
-  Dev server starts and responds
-  All core files present and accessible
-  Git repository functional

## Files Preserved

**Implementation Files:**
- js/ (3,517 lines of code)
- css/ (4 stylesheets)
- tests/ (87 test cases)
- index.html
- package.json

**CI/CD Pipeline:**
- .gitea/workflows/ci.yml
- .gitea/workflows/release.yml

**Documentation:**
- docs/ (12+ documentation files)
- planning/ (historical planning materials)
- README.md

**Configuration:**
- jest.config.js, babel.config.cjs, playwright.config.js
- .gitignore (merged)
- CLAUDE.md

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 10:05:26 +01:00

18 KiB

Risk Assessment: HTML Chess Game

Executive Summary

Overall Risk Level: MEDIUM-HIGH Critical Risks: 3 | High Risks: 5 | Medium Risks: 8 | Low Risks: 6 Recommended Mitigation Budget: 15-20% of total project time


1. Technical Risks

1.1 CRITICAL: Chess Rules Compliance

Probability: 80% | Impact: CRITICAL | Risk Score: 9/10

Description: Implementing all chess rules correctly, including edge cases, is extremely challenging. Incomplete or incorrect rule implementation will result in an unplayable game.

Specific Risks:

  • Castling validation (8+ conditions to check)
  • En passant timing and validation
  • Pinned pieces cannot move (requires simulation)
  • Stalemate vs checkmate distinction
  • Three-fold repetition detection
  • 50-move draw rule
  • Promotion handling
  • Discovery check scenarios

Impact if Not Mitigated:

  • Game produces illegal moves
  • Users lose trust in application
  • Negative reviews and abandonment
  • Major refactoring required late in project

Mitigation Strategies:

  1. Early Validation (Priority: CRITICAL)

    • Create comprehensive test suite FIRST (TDD)
    • Test against known positions (Lichess puzzle database)
    • Use existing chess libraries as reference (chess.js)
    • Implement FEN import to test specific positions
  2. Expert Review (Priority: HIGH)

    • Recruit chess player for testing
    • Test with FIDE official rules document
    • Use online validators for move legality
  3. Incremental Implementation (Priority: HIGH)

    • Implement basic moves first, validate thoroughly
    • Add special moves one at a time
    • Test extensively before moving to next feature

Cost of Mitigation: 12-15 hours (testing framework + validation) Cost if Risk Occurs: 30-40 hours (debugging + refactoring)


1.2 CRITICAL: Performance Degradation

Probability: 70% | Impact: HIGH | Risk Score: 8/10

Description: AI move calculation using minimax algorithm can freeze the UI, especially at higher search depths. Poor performance will make the game unusable.

Specific Risks:

  • Minimax at depth 6+ blocks UI (300ms-3s)
  • Mobile devices have 3-5x slower computation
  • Memory overflow with transposition tables
  • Animation frame drops (< 60fps)
  • Large DOM reflows on move updates

Impact if Not Mitigated:

  • Unresponsive UI during AI thinking
  • Poor user experience on mobile
  • Browser tab crashes on older devices
  • Negative performance reviews

Mitigation Strategies:

  1. Web Workers (Priority: CRITICAL)

    • Move AI computation to separate thread
    • Implement message passing protocol
    • Allow cancellation of ongoing searches
    • Budget: 6-8 hours
  2. Performance Budgets (Priority: HIGH)

    • AI response time < 500ms for beginner
    • AI response time < 2s for advanced
    • UI animations at 60fps minimum
    • First render < 100ms
    • Budget: 4-5 hours for monitoring
  3. Optimization Techniques (Priority: HIGH)

    • Alpha-beta pruning (50-90% node reduction)
    • Move ordering (captures first)
    • Iterative deepening with time limits
    • Transposition tables with size limits
    • Budget: 8-10 hours

Cost of Mitigation: 18-23 hours Cost if Risk Occurs: Major architectural changes (40+ hours)


1.3 CRITICAL: Browser Compatibility Issues

Probability: 60% | Impact: MEDIUM-HIGH | Risk Score: 7/10

Description: Different browsers handle events, rendering, and JavaScript differently. CSS inconsistencies and browser-specific bugs can break functionality.

Specific Risks:

  • Safari drag-and-drop API differences
  • Mobile touch event conflicts
  • IE11/older Edge compatibility (if required)
  • CSS Grid/Flexbox rendering differences
  • Web Worker support variations
  • LocalStorage quota differences

Impact if Not Mitigated:

  • Game broken on 20-30% of browsers
  • Inconsistent user experience
  • Late discovery requires major changes
  • Support burden increases

Mitigation Strategies:

  1. Progressive Enhancement (Priority: HIGH)

    • Core functionality works without modern features
    • Click-to-select fallback for drag-drop
    • Graceful degradation for Web Workers
    • Budget: 5-6 hours
  2. Early Cross-Browser Testing (Priority: CRITICAL)

    • Test on Chrome, Firefox, Safari, Edge weekly
    • Mobile testing on iOS and Android
    • Use BrowserStack or similar service
    • Budget: 8-10 hours (throughout project)
  3. Standard APIs Only (Priority: MEDIUM)

    • Avoid experimental features
    • Use polyfills for older browsers
    • Transpile with Babel if supporting IE11
    • Budget: 3-4 hours

Cost of Mitigation: 16-20 hours Cost if Risk Occurs: 25-35 hours of fixes


2. Implementation Risks

2.1 HIGH: Scope Creep

Probability: 85% | Impact: MEDIUM | Risk Score: 7/10

Description: Chess has many potential features (online play, tournaments, analysis, etc.). Without strict scope control, project timeline will expand indefinitely.

Common Scope Additions:

  • Online multiplayer
  • User accounts and profiles
  • ELO rating system
  • Game analysis and suggestions
  • Opening explorer
  • Puzzle mode
  • Tournament mode
  • Social features
  • Mobile app versions

Impact if Not Mitigated:

  • Project never reaches completion
  • MVP delayed by months
  • Team burnout
  • Budget overruns

Mitigation Strategies:

  1. Strict MVP Definition (Priority: CRITICAL)

    • Document exact feature set
    • "Must have" vs "Nice to have" list
    • Freeze requirements after Phase 1
    • Budget: 3-4 hours
  2. Phased Releases (Priority: HIGH)

    • Release MVP first (4-6 weeks)
    • Gather user feedback
    • Prioritize Phase 2 features based on data
    • Budget: Built into project management
  3. Feature Request Backlog (Priority: MEDIUM)

    • Log all ideas for future versions
    • No immediate implementation
    • Quarterly review of backlog
    • Budget: 1-2 hours

Cost of Mitigation: 4-6 hours Cost if Risk Occurs: Indefinite timeline extension


2.2 HIGH: Insufficient Testing

Probability: 75% | Impact: MEDIUM-HIGH | Risk Score: 7/10

Description: Chess has millions of possible game states. Without systematic testing, critical bugs will reach production.

Testing Gaps:

  • Edge case positions not tested
  • AI makes illegal moves in rare scenarios
  • UI state desynchronization
  • Undo/redo corruption
  • Memory leaks in long games

Impact if Not Mitigated:

  • Production bugs discovered by users
  • Reputation damage
  • Time spent firefighting vs building
  • Increased support costs

Mitigation Strategies:

  1. Test-Driven Development (Priority: CRITICAL)

    • Write tests BEFORE implementation
    • 90%+ code coverage target
    • Test all edge cases
    • Budget: 25-30 hours
  2. Automated Test Suite (Priority: HIGH)

    • Unit tests for chess engine
    • Integration tests for UI
    • End-to-end game scenarios
    • Performance regression tests
    • Budget: 15-20 hours
  3. Manual QA Sessions (Priority: MEDIUM)

    • Play test every sprint
    • User acceptance testing
    • Exploratory testing for edge cases
    • Budget: 8-10 hours

Cost of Mitigation: 48-60 hours Cost if Risk Occurs: Ongoing production issues (20+ hours/month)


2.3 HIGH: Knowledge Gap in Chess Rules

Probability: 70% (if no chess expert) | Impact: HIGH | Risk Score: 7/10

Description: Developers without deep chess knowledge will misunderstand rules, leading to incorrect implementation.

Common Misunderstandings:

  • Castling through check is illegal
  • En passant only works immediately after pawn moves
  • Pawn can promote to any piece (not just queen)
  • Stalemate is a draw, not a loss
  • King can castle after rook moves (NO - illegal)
  • Pinned pieces can never move (NO - can move along pin line)

Impact if Not Mitigated:

  • Incorrect game logic
  • Multiple refactoring cycles
  • Loss of credibility
  • Frustration from chess players

Mitigation Strategies:

  1. Chess Expert Involvement (Priority: CRITICAL)

    • Recruit chess player as consultant
    • Review all rule implementations
    • Test against known positions
    • Budget: 10-12 hours
  2. Study Official Rules (Priority: HIGH)

    • FIDE Laws of Chess document
    • Document edge cases in specifications
    • Create test cases from rule book
    • Budget: 8-10 hours
  3. Reference Implementation (Priority: MEDIUM)

    • Study chess.js source code
    • Compare with Lichess/Chess.com behavior
    • Use existing libraries as validation
    • Budget: 5-6 hours

Cost of Mitigation: 23-28 hours Cost if Risk Occurs: 30-50 hours (reimplementation)


2.4 HIGH: State Management Complexity

Probability: 65% | Impact: MEDIUM-HIGH | Risk Score: 6/10

Description: Managing game state (board, history, UI) becomes complex. Poor architecture leads to bugs and maintenance nightmares.

State Complexity Sources:

  • Board state (64 squares)
  • Move history (potentially 100+ moves)
  • UI state (selected piece, highlights)
  • Undo/redo stacks
  • AI thinking state
  • Game metadata (player names, time)
  • Settings and preferences

Impact if Not Mitigated:

  • State synchronization bugs
  • Difficult to add features
  • Undo/redo doesn't work correctly
  • Memory leaks
  • Hard to debug issues

Mitigation Strategies:

  1. State Management Library (Priority: HIGH)

    • Consider Redux/Zustand for predictability
    • Immutable state updates
    • Single source of truth
    • Budget: 8-10 hours (setup + learning)
  2. Clear Architecture (Priority: HIGH)

    • Separate chess logic from UI
    • Model-View-Controller pattern
    • Pure functions for state updates
    • Budget: 6-8 hours (design)
  3. State Validation (Priority: MEDIUM)

    • Validate state transitions
    • Log state changes for debugging
    • Implement state snapshots
    • Budget: 4-5 hours

Cost of Mitigation: 18-23 hours Cost if Risk Occurs: Major refactoring (35+ hours)


2.5 HIGH: AI Difficulty Balancing

Probability: 80% | Impact: MEDIUM | Risk Score: 6/10

Description: Creating AI that is both challenging and beatable is difficult. Too easy = boring, too hard = frustrating.

Balancing Challenges:

  • Beginner AI makes random mistakes
  • Intermediate AI has realistic playing strength
  • Advanced AI is challenging but not unbeatable
  • Difficulty progression feels smooth
  • AI doesn't play "inhuman" moves

Impact if Not Mitigated:

  • Poor user experience
  • Complaints about difficulty
  • Limited replayability
  • Users abandon single-player mode

Mitigation Strategies:

  1. Configurable Search Depth (Priority: HIGH)

    • Beginner: 2-3 ply (~instant moves)
    • Intermediate: 4-5 ply (~0.5s)
    • Advanced: 6-7 ply (~2-3s)
    • Budget: 3-4 hours
  2. Randomized Mistakes (Priority: MEDIUM)

    • Beginner: 30% chance of random move
    • Intermediate: 10% chance of suboptimal move
    • Advanced: Optimal play
    • Budget: 4-5 hours
  3. User Testing (Priority: CRITICAL)

    • Test with players of varying skill
    • Collect feedback on difficulty
    • Iterate on evaluation function
    • Budget: 8-10 hours

Cost of Mitigation: 15-19 hours Cost if Risk Occurs: Poor retention (no cost, but lost users)


3. User Experience Risks

3.1 MEDIUM: Mobile Usability Issues

Probability: 70% | Impact: MEDIUM | Risk Score: 6/10

Description: Chess board on small screens is challenging. Touch interactions differ from mouse, and mobile performance is worse.

Mobile Challenges:

  • Small touch targets (pieces ~40x40px)
  • Drag-and-drop on mobile is clunky
  • Portrait vs landscape orientation
  • Keyboard covers board on iOS
  • Performance on older Android devices
  • Accidental moves from fat fingers

Impact if Not Mitigated:

  • 40-50% of users on mobile
  • Poor reviews on mobile
  • High bounce rate
  • Accessibility issues

Mitigation Strategies:

  1. Responsive Design (Priority: HIGH)

    • Mobile-first approach
    • Touch targets min 44x44px
    • Click-to-select on mobile (no drag)
    • Budget: 8-10 hours
  2. Mobile Testing (Priority: HIGH)

    • Test on real devices (iOS + Android)
    • Portrait and landscape modes
    • Different screen sizes
    • Budget: 6-8 hours
  3. Progressive Enhancement (Priority: MEDIUM)

    • Desktop gets drag-and-drop
    • Mobile gets tap-to-select
    • Adaptive UI based on screen size
    • Budget: 5-6 hours

Cost of Mitigation: 19-24 hours Cost if Risk Occurs: Mobile users leave (lost audience)


3.2 MEDIUM: Confusing User Interface

Probability: 60% | Impact: MEDIUM | Risk Score: 5/10

Description: Non-intuitive UI leads to user confusion. Users don't understand how to interact with the game.

UI Confusion Points:

  • How to select pieces
  • How to see legal moves
  • How to undo moves
  • How to change difficulty
  • What notation means
  • How to resign or offer draw

Impact if Not Mitigated:

  • High learning curve
  • User frustration
  • Support requests
  • Negative reviews

Mitigation Strategies:

  1. Visual Affordances (Priority: HIGH)

    • Highlight legal moves on selection
    • Show last move clearly
    • Animate piece movements
    • Visual feedback for all actions
    • Budget: 8-10 hours
  2. User Onboarding (Priority: MEDIUM)

    • First-time tutorial
    • Tooltips for controls
    • Help documentation
    • Budget: 5-6 hours
  3. User Testing (Priority: HIGH)

    • Watch real users play
    • Identify confusion points
    • Iterate on UI
    • Budget: 6-8 hours

Cost of Mitigation: 19-24 hours Cost if Risk Occurs: Poor UX (hard to quantify)


3.3 MEDIUM: Lack of Feedback During AI Thinking

Probability: 75% | Impact: LOW-MEDIUM | Risk Score: 4/10

Description: When AI is calculating, users don't know if game is frozen or thinking.

User Frustration Points:

  • No indication AI is thinking
  • Can't tell if game crashed
  • Impatience during long calculations
  • Unable to cancel AI thinking

Mitigation Strategies:

  1. Visual Indicators (Priority: HIGH)

    • "AI is thinking..." message
    • Animated spinner
    • Progress bar (if using iterative deepening)
    • Budget: 3-4 hours
  2. Cancel Button (Priority: MEDIUM)

    • Allow stopping AI search
    • Make random move from current best
    • Budget: 2-3 hours

Cost of Mitigation: 5-7 hours Cost if Risk Occurs: User confusion (minor)


4. Project Management Risks

4.1 MEDIUM: Timeline Underestimation

Probability: 80% | Impact: MEDIUM | Risk Score: 6/10

Description: Chess projects often take 2-3x longer than estimated due to edge cases and complexity.

Estimation Errors:

  • "Basic chess" sounds simple
  • Edge cases take 40% of time
  • Testing takes longer than coding
  • AI tuning is iterative

Mitigation Strategies:

  1. Add 30-50% Buffer (Priority: CRITICAL)

    • If estimated 80 hours, budget 120 hours
    • Account for unknowns
    • Budget: Built into planning
  2. Track Velocity (Priority: HIGH)

    • Measure actual vs estimated
    • Adjust future estimates
    • Budget: 2-3 hours/week

Cost of Mitigation: Time tracking overhead (3-5 hours) Cost if Risk Occurs: Missed deadlines


4.2 LOW: Dependency on External Libraries

Probability: 30% | Impact: LOW | Risk Score: 2/10

Description: If using libraries (chess.js, stockfish.js), changes or deprecation could impact project.

Mitigation Strategies:

  • Lock dependency versions
  • Regular security updates
  • Have fallback plan

Cost of Mitigation: 2-3 hours Cost if Risk Occurs: 10-20 hours (replacement)


5. Risk Matrix Summary

Critical Risks (Score 8-10):

  1. Chess Rules Compliance (9/10) - Mitigation: 12-15 hours
  2. Performance Degradation (8/10) - Mitigation: 18-23 hours

High Risks (Score 6-7):

  1. Browser Compatibility (7/10) - Mitigation: 16-20 hours
  2. Scope Creep (7/10) - Mitigation: 4-6 hours
  3. Insufficient Testing (7/10) - Mitigation: 48-60 hours
  4. Knowledge Gap (7/10) - Mitigation: 23-28 hours
  5. State Management (6/10) - Mitigation: 18-23 hours
  6. AI Balancing (6/10) - Mitigation: 15-19 hours

Medium Risks (Score 4-5):

  1. Mobile Usability (6/10) - Mitigation: 19-24 hours
  2. Confusing UI (5/10) - Mitigation: 19-24 hours
  3. AI Feedback (4/10) - Mitigation: 5-7 hours
  4. Timeline Estimation (6/10) - Mitigation: 5 hours

6. Risk Mitigation Budget

Total Mitigation Effort: 208-259 hours across all risks

Priority Allocation:

  • CRITICAL risks: 46-58 hours (22%)
  • HIGH risks: 124-156 hours (60%)
  • MEDIUM risks: 38-45 hours (18%)

Recommendation: Allocate 15-20% of project time to risk mitigation upfront to avoid 2-3x costs later.

For 80-120 hour project:

  • Risk budget: 12-24 hours
  • Focus on CRITICAL and HIGH risks
  • Accept some MEDIUM/LOW risks

7. Early Warning Indicators

Red Flags to Watch:

  1. Week 1: No comprehensive test suite started
  2. Week 2: Still unclear on castling rules
  3. Week 3: No performance profiling done
  4. Week 4: AI blocks UI for > 1 second
  5. Week 5: No mobile testing conducted
  6. Any time: Scope expanding beyond MVP

8. Contingency Plans

If Critical Risks Materialize:

Chess Rules Issues:

  • Fallback: Use chess.js library for validation
  • Cost: 4-6 hours integration
  • Trade-off: Less learning, dependency added

Performance Problems:

  • Fallback: Limit AI to depth 4 maximum
  • Cost: User experience degradation
  • Alternative: Server-side AI (adds complexity)

Browser Compatibility:

  • Fallback: Support only modern browsers
  • Cost: Document requirements clearly
  • Trade-off: Smaller audience

9. Risk Tracking Plan

Weekly Risk Review:

  1. Check velocity vs estimates
  2. Run performance benchmarks
  3. Review test coverage
  4. Cross-browser testing
  5. Update risk scores

Monthly Risk Report:

  • Risks that materialized
  • Mitigation effectiveness
  • New risks identified
  • Lessons learned

Conclusion

The HTML chess game has medium-high overall risk, primarily from:

  1. Chess rules complexity (edge cases)
  2. Performance requirements (AI calculation)
  3. Testing thoroughness (millions of states)

Key Success Factors:

  • Test-driven development from day 1
  • Chess expert on team or as consultant
  • Performance budgets enforced
  • Strict scope control
  • 20% time buffer for unknowns

Highest ROI Risk Mitigations:

  1. Comprehensive test suite (prevents 90% of bugs)
  2. Web Workers for AI (prevents major UX issue)
  3. Chess expert review (prevents reimplementation)

With proper mitigation, risks are manageable, but should not be underestimated.