UNPKG

prprompts-flutter-generator

Version:

AI-powered Flutter development with full automation + official extension support - Generate 32 security-audited guides & auto-implement in 2-3 hours. NEW v5.1: Official Claude Code plugin with hooks, Gemini TOML commands, Qwen MCP settings. Features: Comp

636 lines (470 loc) 20.4 kB
--- name: Analyze Feature Dependencies description: Map feature dependencies and suggest optimal implementation order author: Dependency Analysis Engine version: 1.0.0 tags: [prd, dependencies, planning, implementation, order] --- # Feature Dependency Analysis ## Overview Analyze PRD features to identify dependencies, blockers, and parallel work opportunities. Generate implementation order recommendations with critical path analysis. ## Instructions ### Step 1: Locate and Read PRD ```bash # Expected location docs/PRD.md ``` If not found, ask user for PRD location. ### Step 2: Extract Features Parse YAML frontmatter `features` array: ```yaml features: - name: "User Authentication" complexity: "medium" priority: "p0" requires: ["biometric_auth", "mfa"] - name: "Dashboard" complexity: "medium" priority: "p0" requires: ["real_time_updates", "data_visualization"] ``` Also extract from PRD body if features have expanded descriptions with: - User stories - Technical requirements - Acceptance criteria ### Step 3: Identify Dependency Types **1. Technical Dependencies (BLOCKING)** These MUST be implemented first: - **Authentication → All Features:** - Any feature requiring user identity depends on auth - Keywords: "user-specific", "personalized", "profile", "account" - **Database Schema → CRUD Features:** - Data models must exist before features using them - Keywords: "save", "retrieve", "update", "delete", "store" - **API Foundation → API-Dependent Features:** - Backend endpoints required before frontend consumption - Keywords: "fetch from server", "API call", "REST endpoint" - **Payment Integration → Monetization:** - Stripe/PayPal setup blocks checkout, subscriptions, billing - Keywords: "payment", "checkout", "billing", "subscription" - **Search Infrastructure → Search Features:** - Elasticsearch/Algolia needed before search UI - Keywords: "search", "find", "filter", "query" **2. Logical Dependencies (STRONGLY RECOMMENDED)** Should be implemented in order, but can be worked around: - **Core Entity → Related Entities:** - Example: "Product" before "Product Reviews" - Example: "User Profile" before "User Preferences" - **Create → Read/Update/Delete:** - Must be able to create entities before managing them - **Basic Feature → Advanced Feature:** - Example: "Text Chat" before "File Sharing in Chat" - Example: "Product List" before "Product Comparison" **3. Domain Dependencies (RECOMMENDED)** Best practice ordering: - **Compliance Foundation → Data Features:** - Encryption, audit logs before handling PHI/PII - Keywords: "HIPAA", "PCI-DSS", "sensitive data" - **Offline Support → Online Features:** - Sync infrastructure before features using it - Keywords: "offline", "sync", "local storage" - **Real-time Infrastructure → Live Features:** - WebSocket/Firestore setup before live updates - Keywords: "real-time", "live", "instant", "push" **4. No Dependencies (PARALLEL)** Can start immediately and work in parallel: - UI-only features with mocked data - Design system / component library - Static content pages (About, Help, FAQ) - Analytics setup - Error tracking setup ### Step 4: Analyze PRD Features For each feature, determine: 1. **Direct Dependencies:** What must exist before this? - Look for `requires` field in YAML - Analyze feature description for keywords - Check technical requirements 2. **Reverse Dependencies:** What depends on this? - Which features need this one? 3. **Complexity Score:** From YAML (`low`/`medium`/`high`/`critical`) 4. **Priority:** From YAML (`p0`/`p1`/`p2`) 5. **Can Start When:** - Immediately (no deps) - After [Dependency] complete - After [Dependency] started (parallel) ### Step 5: Build Dependency Graph Create adjacency list: ``` User Authentication ├─ Depends on: [None] └─ Blocks: [Dashboard, Profile, Settings, ...] Dashboard ├─ Depends on: [User Authentication, Real-time Infrastructure] └─ Blocks: [Dashboard Widgets, Notifications] Payment Integration ├─ Depends on: [User Authentication, Product Catalog] └─ Blocks: [Checkout, Subscriptions, Invoices] ``` ### Step 6: Identify Critical Path **Critical Path** = Longest sequence of dependent features Algorithm: 1. Start from features with no dependencies 2. Calculate total time to complete each feature + all its dependencies 3. Feature with longest path = critical path ``` Critical Path Example: Authentication (2 weeks) → Product Catalog (3 weeks) → Shopping Cart (2 weeks) → Payment Integration (4 weeks) → Checkout (2 weeks) = 13 weeks total (critical path) Parallel path: User Profile (1 week) → Settings (1 week) = 2 weeks (non-critical) ``` ### Step 7: Recommend Implementation Phases **Phase 1 - Foundation (Weeks 1-4)** - No-dependency features - Critical path starters - Infrastructure setup **Phase 2 - Core Features (Weeks 5-12)** - P0 features dependent on Phase 1 - Critical path middle sections **Phase 3 - Advanced Features (Weeks 13-20)** - P1 features - Features with multiple dependencies **Phase 4 - Polish (Weeks 21-24)** - P2 features - Nice-to-haves - Performance optimization ### Step 8: Generate Dependency Report Create `docs/FEATURE_DEPENDENCIES.md`: ```markdown # Feature Dependency Analysis: [Project Name] **Generated:** [Date] **Source:** docs/PRD.md **Total Features:** [Count] --- ## Executive Summary | Metric | Value | |--------|-------| | 🎯 Total Features | XX | | 🔴 P0 Features | XX | | 🟠 P1 Features | XX | | 🚀 Can Start Immediately | XX | | 🔗 Blocking Features | XX | | ⏱️ Critical Path Duration | XX weeks | | 🔀 Parallel Work Streams | X | **Key Insight:** [Most impactful finding, e.g., "Payment Integration is on critical path - any delay cascades to 5 downstream features"] --- ## Dependency Graph ### Visual Representation ``` ┌─────────────────────┐ │ Authentication (P0) │ │ Medium - 2 weeks │ └──────────┬──────────┘ │ ┌─────────────┴──────────────┐ │ │ ┌────────▼────────┐ ┌────────▼────────┐ │ Dashboard (P0) │ │ User Profile │ │ Medium - 3w │ │ Low - 1w │ └────────┬────────┘ └─────────────────┘ │ ┌────────▼────────┐ │ Product Catalog │ │ High - 4w │ └────────┬────────┘ │ ┌────────────┴────────────┐ │ │ ┌───▼──────────┐ ┌────────▼────────┐ │ Shopping Cart│ │ Wishlist (P1) │ │ Medium - 2w │ │ Low - 1w │ └───┬──────────┘ └─────────────────┘ │ ┌───▼──────────────┐ │ Payment (P0) │ │ Critical - 4w │ └───┬──────────────┘ │ ┌───▼──────────┐ │ Checkout │ │ High - 2w │ └──────────────┘ ``` --- ## Feature Matrix | Feature | Priority | Complexity | Depends On | Blocks | Can Start | |---------|----------|------------|------------|--------|-----------| | Authentication | P0 | Medium | None | 8 features | Week 1 | | Dashboard | P0 | Medium | Auth | Widgets | Week 3 | | Product Catalog | P0 | High | Auth, DB | Cart, Wishlist | Week 3 | | Shopping Cart | P0 | Medium | Catalog | Checkout | Week 7 | | Payment Integration | P0 | Critical | Auth, Cart | Checkout, Billing | Week 9 | | Checkout | P0 | High | Payment | None | Week 13 | | Wishlist | P1 | Low | Catalog | None | Week 7 | | User Profile | P0 | Low | Auth | Settings | Week 3 | | Settings | P1 | Low | Profile | None | Week 4 | | ... | ... | ... | ... | ... | ... | --- ## Critical Path Analysis **Critical Path:** Authentication → Product Catalog → Shopping Cart → Payment Integration → Checkout **Total Duration:** 15 weeks (60% of project timeline) ### Critical Path Features 1. **Authentication (P0)** - 2 weeks - No dependencies - **Blocks 8 features** - Risk: Medium (complex auth flows) 2. **Product Catalog (P0)** - 4 weeks - Depends: Authentication - **Blocks 5 features** - Risk: High (large dataset, search complexity) 3. **Shopping Cart (P0)** - 2 weeks - Depends: Product Catalog - Blocks: Payment, Checkout - Risk: Low 4. **Payment Integration (P0)** - 4 weeks - Depends: Cart, Auth - **Blocks 3 features** - Risk: High (PCI-DSS compliance, Stripe integration) 5. **Checkout (P0)** - 2 weeks - Depends: Payment - Blocks: None - Risk: Medium (multi-step flow) ⚠️ **Risk:** Any delay in critical path features directly delays project completion. 💡 **Mitigation:** - Start critical path features first - Assign senior developers to critical path - Parallelize non-critical features --- ## Recommended Implementation Phases ### 🚀 Phase 1: Foundation (Weeks 1-4) **Goal:** Enable parallel development | Feature | Priority | Complexity | Team | Duration | |---------|----------|------------|------|----------| | Authentication | P0 | Medium | Mobile + Backend | 2 weeks | | Database Schema | P0 | Low | Backend | 1 week | | API Foundation | P0 | Medium | Backend | 2 weeks | | Design System | P0 | Low | Design + Mobile | 2 weeks | | Error Tracking Setup | P0 | Low | DevOps | 1 week | **Parallel Streams:** 3 - Stream A: Auth (mobile + backend) - Stream B: Database + API (backend) - Stream C: Design system (design + mobile) **Completion:** All features must finish before Phase 2 --- ### 🏗️ Phase 2: Core Features (Weeks 5-12) **Goal:** Build P0 features on critical path | Feature | Depends On | Team | Start | Duration | |---------|-----------|------|-------|----------| | Product Catalog | Auth, API | Mobile + Backend | Week 5 | 4 weeks | | User Profile | Auth | Mobile | Week 5 | 1 week | | Dashboard | Auth, Real-time | Mobile + Backend | Week 5 | 3 weeks | | Shopping Cart | Catalog | Mobile | Week 9 | 2 weeks | | Search | Catalog | Backend + Mobile | Week 9 | 3 weeks | **Parallel Streams:** 2-3 - Stream A: Catalog (critical path) - Stream B: Dashboard + Profile - Stream C: Search (starts week 9) --- ### 💳 Phase 3: Monetization (Weeks 11-16) **Goal:** Enable revenue features | Feature | Depends On | Team | Start | Duration | |---------|-----------|------|-------|----------| | Payment Integration | Auth, Cart | Backend + Mobile | Week 11 | 4 weeks | | Checkout Flow | Payment | Mobile | Week 15 | 2 weeks | | Order Management | Checkout | Mobile + Backend | Week 17 | 3 weeks | | Invoices | Payment | Backend | Week 15 | 2 weeks | **Parallel Streams:** 2 - Stream A: Payment → Checkout (critical path) - Stream B: Invoices (parallel to checkout) --- ### ✨ Phase 4: Enhancements (Weeks 17-24) **Goal:** P1 features and polish | Feature | Depends On | Team | Start | Duration | |---------|-----------|------|-------|----------| | Wishlist | Catalog | Mobile | Week 17 | 1 week | | Product Reviews | Orders | Mobile + Backend | Week 20 | 2 weeks | | Push Notifications | Auth | Mobile + Backend | Week 17 | 2 weeks | | Settings | Profile | Mobile | Week 18 | 1 week | | Analytics Dashboard | Dashboard | Mobile | Week 22 | 2 weeks | **Parallel Streams:** 4-5 (all P1, no critical path) --- ## Blocking Features Analysis **Top 5 Blockers:** (Features that block the most others) 1. **Authentication** → Blocks 8 features (Dashboard, Profile, Cart, Payment, etc.) - **Impact:** Entire project blocked without this - **Action:** Start Week 1, assign senior engineer - **Completion Target:** Week 3 2. **Product Catalog** → Blocks 5 features (Cart, Wishlist, Search, Reviews, Checkout) - **Impact:** Core e-commerce features blocked - **Action:** Start Week 5, full mobile + backend team - **Completion Target:** Week 9 3. **Payment Integration** → Blocks 3 features (Checkout, Invoices, Refunds) - **Impact:** Revenue features blocked - **Action:** Start Week 11, compliance review in parallel - **Completion Target:** Week 15 4. **API Foundation** → Blocks 10 features (all backend-dependent features) - **Impact:** Frontend can only use mocked data without this - **Action:** Start Week 1, backend team - **Completion Target:** Week 3 5. **Real-time Infrastructure** → Blocks 3 features (Dashboard, Notifications, Chat) - **Impact:** Live features blocked - **Action:** Start Week 4, backend specialist - **Completion Target:** Week 6 💡 **Strategy:** Complete these 5 blockers ASAP to unblock maximum parallel work. --- ## Parallel Work Opportunities **Max Concurrent Features:** 5-7 (based on team size) ### High-Value Parallel Streams **Stream 1: Critical Path (Senior Team)** - Authentication → Catalog → Cart → Payment → Checkout - Never block this stream - Priority: P0 only **Stream 2: User Experience (Mid-Level Team)** - User Profile → Settings → Preferences - Dashboard → Widgets → Analytics - Can pause for critical path support **Stream 3: Infrastructure (Backend Specialists)** - API Foundation → Real-time → Search - Runs in parallel to all other streams - Priority: P0 foundation, then P1 enhancements **Stream 4: Nice-to-Haves (Junior Team)** - Wishlist → Favorites → Share - Reviews → Ratings → Comments - All P1/P2, can deprioritize --- ## Risk Assessment ### High-Risk Dependencies ⚠️ **Payment Integration** (Critical path, 4 weeks) - **Risk:** PCI-DSS compliance can take longer than expected - **Impact:** Blocks Checkout, delays revenue - **Mitigation:** - Start compliance review in Week 1 - Use Stripe for SAQ-A (simplest compliance) - Parallel: Build checkout with test mode ⚠️ **Product Catalog** (Critical path, 4 weeks) - **Risk:** Large dataset performance issues - **Impact:** Blocks 5 downstream features - **Mitigation:** - Implement pagination early - Load test with production data size - Consider Algolia for search ⚠️ **Real-time Infrastructure** (Blocks 3 features) - **Risk:** WebSocket complexity, scaling issues - **Impact:** Dashboard, Notifications, Chat delayed - **Mitigation:** - Use Firebase Realtime DB (managed service) - Fallback to polling if websockets fail - Implement retry logic --- ## Dependency Conflicts **None detected.**_If circular dependencies existed, they would be listed here with resolution suggestions._ --- ## Optimization Recommendations ### 1. Start Critical Path Immediately **Action:** Begin Authentication and API Foundation in Week 1 **Impact:** Enables 70% of other features to start by Week 3 ### 2. Parallelize Non-Dependent Features **Action:** Build User Profile, Settings, Design System in parallel to Auth **Impact:** 3 features complete while waiting for Auth → 3 weeks saved ### 3. Mock Dependencies for Early Frontend Work **Action:** Create mock API responses for Catalog while backend builds real API **Impact:** Frontend team doesn't block, integration week saved ### 4. Pre-start Compliance Work **Action:** Begin HIPAA/PCI-DSS audits before features are coded **Impact:** Compliance doesn't block launch → 2-4 weeks saved ### 5. De-risk Critical Path Early **Action:** Spike Payment Integration in Week 1 (2-3 days research) **Impact:** Identify issues before they're on critical path → risk reduced --- ## Team Allocation Suggestions Based on dependencies and critical path: **Weeks 1-4 (Foundation):** - 50% team on critical path (Auth, API) - 30% on parallel infrastructure (Database, Real-time) - 20% on design system **Weeks 5-12 (Core Features):** - 60% team on critical path (Catalog, Cart) - 40% on parallel features (Dashboard, Profile) **Weeks 13-20 (Monetization):** - 70% team on critical path (Payment, Checkout) - 30% on nice-to-haves (Wishlist, Reviews) **Weeks 21-24 (Polish):** - 100% team on parallel P1 features --- ## Dependencies by Type ### Technical Dependencies (MUST complete in order) - [Count] features with technical dependencies - Example: Payment → Checkout ### Logical Dependencies (SHOULD complete in order) - [Count] features with logical dependencies - Example: Product → Product Reviews ### Domain Dependencies (NICE TO complete in order) - [Count] features with domain dependencies - Example: Offline Sync → Offline Features ### No Dependencies (Can start immediately) - [Count] features with no dependencies - Example: Design System, Static Pages --- ## Next Steps 1. **Review & Validate:** Confirm dependencies with technical lead 2. **Adjust Timeline:** Use critical path (XX weeks) for realistic schedule 3. **Assign Teams:** Match senior engineers to critical path features 4. **Create Sprints:** Break phases into 2-week sprints 5. **Track Progress:** Update dependency status weekly 6. **Risk Mitigation:** Address high-risk dependencies first **Commands:** - `claude estimate-cost` - Generate budget based on this timeline - `claude gen-prprompts` - Generate development guides for all features - `claude bootstrap-from-prprompts` - Start implementation --- *Generated by Feature Dependency Analyzer v1.0.0* *Methodology: Technical dependency analysis + Critical path calculation* *Source: [PRD Path]* ``` ### Step 9: Validation & Output After generating report: 1. **Sanity Checks:** - No circular dependencies? - Critical path < 80% of timeline? - At least 30% of features can start immediately? - Blockers identified and flagged? 2. **Output Message:** ``` ✅ Generated dependency analysis at docs/FEATURE_DEPENDENCIES.md 🔗 Dependency Summary: - Total Features: XX - Can Start Immediately: XX (XX%) - Critical Path: XX weeks (XX% of timeline) - Top Blocker: [Feature] (blocks XX features) 🎯 Key Recommendations: 1. Start [Blocker] in Week 1 (unblocks XX features) 2. Parallelize [Feature A], [Feature B], [Feature C] 3. De-risk [High-Risk Feature] with early spike ⚠️ Critical Path Warning: [Feature] is on critical path. Any delay cascades to: - [Downstream 1] (Week XX) - [Downstream 2] (Week XX) - [Downstream 3] (Week XX) Next steps: 1. Review dependency graph (Section 2) 2. Validate critical path (Section 3) 3. Run: claude estimate-cost 4. Run: claude gen-prprompts Start implementation? (y/n) ``` ## Notes - **Use graph visualization:** Mermaid or ASCII art for dependency graph - **Update during development:** Re-run analysis when PRD changes - **Consider team size:** More parallel streams require more team members - **Flag compliance blockers:** HIPAA audits can take 4-8 weeks - **Mock for parallelism:** Use mock data to unblock frontend while backend builds ## Limitations - Cannot detect hidden dependencies in code - Assumes features are accurately described in PRD - Does not account for external dependencies (third-party APIs) - Critical path calculation assumes linear dependencies (no OR/XOR logic)