# Complexity Assessment — Evaluation Frameworks

> **Agent role**: Reference this file for
  complexity evaluation frameworks when assessing project complexity.

## 📊 Complexity Assessment Framework

### **Technical Complexity Factors**

#### **Code Changes**

- **Simple**: Text, styling, configuration updates

- **Medium**: New components, refactoring existing code

- **Complex**: Architecture changes, new patterns, integrations

- **Unknown**: New technologies, APIs, or approaches

#### **Platform Impact**

- **Single platform**: Web-only or mobile-only changes

- **Two platforms**: Web + mobile or web + desktop

- **Three platforms**: Web + mobile + desktop

- **Cross-platform consistency**: Ensuring behavior matches across all platforms

#### **Testing Requirements**

- **Basic**: Unit tests for new functionality

- **Comprehensive**: Integration tests, cross-platform testing

- **User acceptance**: User testing, feedback integration

- **Performance**: Load testing, optimization validation

### **Dependency Complexity**

#### **Internal Dependencies**

- **Low**: Self-contained changes, no other components affected

- **Medium**: Changes affect related components or services

- **High**: Changes affect core architecture or multiple systems

- **Critical**: Changes affect data models or core business logic

#### **External Dependencies**

- **None**: No external services or APIs involved

- **Low**: Simple API calls or service integrations

- **Medium**: Complex integrations with external systems

- **High**: Third-party platform dependencies or complex APIs

#### **Infrastructure Dependencies**

- **None**: No infrastructure changes required

- **Low**: Configuration updates or environment changes

- **Medium**: New services or infrastructure components

- **High**: Platform migrations or major infrastructure changes

## 🔍 Complexity Evaluation Process

### **Step 1: Technical Assessment**

1. **Identify scope of changes** - what files/components are affected

2. **Assess platform impact** - which platforms need updates

3. **Evaluate testing needs** - what testing is required

4. **Consider performance impact** - will this affect performance

### **Step 2: Dependency Mapping**

1. **Map internal dependencies** - what other components are affected

2. **Identify external dependencies** - what external services are involved

3. **Assess infrastructure needs** - what infrastructure changes are required

4. **Evaluate risk factors** - what could go wrong

### **Step 3: Complexity Classification**

1. **Assign complexity levels** to each factor

2. **Identify highest complexity** areas that need attention

3. **Plan mitigation strategies** for high-complexity areas

4. **Set realistic expectations** based on complexity assessment

## 📋 Complexity Assessment Checklist

- [ ] Technical scope identified and mapped

- [ ] Platform impact assessed across all targets

- [ ] Testing requirements defined and planned

- [ ] Internal dependencies mapped and evaluated

- [ ] External dependencies identified and assessed

- [ ] Infrastructure requirements evaluated

- [ ] Risk factors identified and mitigation planned

- [ ] Complexity levels assigned to all factors

- [ ] Realistic expectations set based on assessment

## 🎯 Complexity Reduction Strategies

### **Scope Reduction**

- Break large features into smaller, manageable pieces

- Focus on core functionality first, add polish later

- Consider phased rollout to reduce initial complexity

### **Dependency Management**

- Minimize external dependencies when possible

- Use abstraction layers to isolate complex integrations

- Plan for dependency failures and fallbacks

### **Testing Strategy**

- Start with basic testing and expand coverage

- Use automated testing to reduce manual testing complexity

- Plan for iterative testing and feedback cycles

## **See also**

- `.cursor/rules/development/realistic_time_estimation.mdc` for the core principles

- `.cursor/rules/development/planning_examples.mdc` for planning examples

## Model Implementation Checklist

### Before Complexity Assessment

- [ ] **Problem Scope**: Clearly define the problem to be assessed
- [ ] **Stakeholder Identification**: Identify all parties affected by complexity
- [ ] **Context Analysis**: Understand technical and business context
- [ ] **Assessment Criteria**: Define what factors determine complexity

### During Complexity Assessment

- [ ] **Technical Mapping**: Map technical scope and platform impact
- [ ] **Dependency Analysis**: Identify internal and external dependencies
- [ ] **Risk Evaluation**: Assess infrastructure needs and risk factors
- [ ] **Complexity Classification**: Assign complexity levels to all factors

### After Complexity Assessment

- [ ] **Mitigation Planning**: Plan strategies for high-complexity areas
- [ ] **Expectation Setting**: Set realistic expectations based on assessment
- [ ] **Documentation**: Document assessment process and findings
- [ ] **Stakeholder Communication**: Share results and recommendations
