Spaces:
Sleeping
Sleeping
| # modules/pm_frameworks.py | |
| """ | |
| Product Management Frame | |
| 'MOSCOW': { | |
| 'name': 'MoSCoW Prioritization', | |
| 'description': 'Must have, Should have, Could have, Won\'t have', | |
| 'use_case': 'Requirements prioritization', | |
| 'categories': ['Must have', 'Should have', 'Could have', "Won't have (this time)"] | |
| }, | |
| 'STAR_RESUME': { | |
| 'name': 'STAR Method for Resume', | |
| 'description': 'Situation, Task, Action, Result - Structure for resume bullet points', | |
| 'use_case': 'Writing impactful resume achievements', | |
| 'structure': 'Action verb + Context + Impact with metrics' | |
| }, | |
| 'RESUME_OPTIMIZATION': { | |
| 'name': 'PM Resume Optimization Framework', | |
| 'description': 'Key elements for product management resume success', | |
| 'use_case': 'Creating compelling PM applications', | |
| 'components': ['Quantified Impact', 'PM Keywords', 'Framework Application', 'Leadership Examples', 'Technical Skills', 'Stakeholder Management'] | |
| }, | |
| 'APPLICATION_FUNNEL': { | |
| 'name': 'Application Success Funnel', | |
| 'description': 'Systematic approach to PM job applications', | |
| 'use_case': 'Increasing interview conversion rates', | |
| 'stages': ['Research & Targeting', 'Resume Tailoring', 'Cover Letter', 'Portfolio/Case Studies', 'Network Activation', 'Follow-up'] | |
| } | |
| }d Best Practices | |
| This module contains common PM frameworks that can be referenced in coaching sessions. | |
| """ | |
| PM_FRAMEWORKS = { | |
| 'RICE': { | |
| 'name': 'RICE Prioritization', | |
| 'description': 'Reach, Impact, Confidence, Effort - A framework for feature prioritization', | |
| 'use_case': 'Prioritizing features or initiatives', | |
| 'formula': 'Score = (Reach × Impact × Confidence) / Effort' | |
| }, | |
| 'CIRCLES': { | |
| 'name': 'CIRCLES Method', | |
| 'description': 'Comprehend, Identify, Report, Cut, List, Evaluate, Summarize', | |
| 'use_case': 'Product design interviews and product thinking', | |
| 'steps': ['Comprehend the situation', 'Identify the customer', 'Report needs', 'Cut through prioritization', 'List solutions', 'Evaluate trade-offs', 'Summarize recommendations'] | |
| }, | |
| 'JOBS_TO_BE_DONE': { | |
| 'name': 'Jobs-to-be-Done', | |
| 'description': 'Focus on what customers hire your product to do', | |
| 'use_case': 'Understanding customer needs and product-market fit', | |
| 'statement': 'When I [situation], I want to [motivation], so I can [expected outcome]' | |
| }, | |
| 'KANO_MODEL': { | |
| 'name': 'Kano Model', | |
| 'description': 'Categorizes features into Must-have, Performance, and Delight', | |
| 'use_case': 'Feature planning and customer satisfaction', | |
| 'categories': ['Must-have (Basic)', 'Performance (Linear)', 'Delight (Attractive)'] | |
| }, | |
| 'LEAN_CANVAS': { | |
| 'name': 'Lean Canvas', | |
| 'description': '1-page business model focused on problems, solutions, and key metrics', | |
| 'use_case': 'Product strategy and business model validation', | |
| 'sections': ['Problem', 'Solution', 'Key Metrics', 'Unique Value Prop', 'Unfair Advantage', 'Channels', 'Customer Segments', 'Cost Structure', 'Revenue Streams'] | |
| }, | |
| 'NORTH_STAR': { | |
| 'name': 'North Star Framework', | |
| 'description': 'A single metric that captures the core value your product delivers', | |
| 'use_case': 'Product strategy and team alignment', | |
| 'components': ['North Star Metric', 'Input Metrics', 'Work Streams'] | |
| }, | |
| 'DESIGN_SPRINT': { | |
| 'name': 'Design Sprint', | |
| 'description': '5-day process for answering critical business questions through design', | |
| 'use_case': 'Rapid prototyping and validation', | |
| 'phases': ['Monday: Map', 'Tuesday: Sketch', 'Wednesday: Decide', 'Thursday: Prototype', 'Friday: Test'] | |
| }, | |
| 'MOSCOW': { | |
| 'name': 'MoSCoW Prioritization', | |
| 'description': 'Must have, Should have, Could have, Won\'t have', | |
| 'use_case': 'Requirements prioritization', | |
| 'categories': ['Must have', 'Should have', 'Could have', 'Won\'t have'] | |
| } | |
| } | |
| PRODUCT_METRICS = { | |
| 'ENGAGEMENT': ['DAU/MAU', 'Session Duration', 'Feature Adoption', 'Stickiness'], | |
| 'GROWTH': ['CAC', 'LTV', 'Viral Coefficient', 'Retention Rate'], | |
| 'BUSINESS': ['Revenue', 'Conversion Rate', 'Churn Rate', 'NPS'], | |
| 'PRODUCT': ['Time to Value', 'Feature Usage', 'User Satisfaction', 'Task Success Rate'] | |
| } | |
| COACHING_SCENARIOS = { | |
| 'PRIORITIZATION': [ | |
| "You have 5 high-impact features but can only build 2 this quarter. How do you decide?", | |
| "Engineering is pushing back on your roadmap timeline. How do you respond?", | |
| "A key customer is threatening to churn unless you build their feature request." | |
| ], | |
| 'STAKEHOLDER_MANAGEMENT': [ | |
| "Sales wants feature A, marketing wants feature B, and engineering prefers feature C.", | |
| "The CEO wants to add a major feature that doesn't align with your product vision.", | |
| "You need to communicate a roadmap delay to frustrated stakeholders." | |
| ], | |
| 'METRICS_ANALYSIS': [ | |
| "Your key engagement metric dropped 20% last month. How do you investigate?", | |
| "You need to prove ROI for a new feature launch to executives.", | |
| "Two A/B tests show conflicting results. How do you make a decision?" | |
| ], | |
| 'USER_RESEARCH': [ | |
| "You're seeing low adoption of a recently launched feature.", | |
| "Users are requesting a feature that conflicts with your product vision.", | |
| "You need to validate a new product concept with limited research budget." | |
| ] | |
| } | |
| def get_framework_suggestion(scenario_type, coaching_type): | |
| """Suggest relevant frameworks based on the coaching scenario.""" | |
| framework_mapping = { | |
| 'Product Strategy & Vision': ['LEAN_CANVAS', 'NORTH_STAR', 'JOBS_TO_BE_DONE'], | |
| 'Market Research & Analysis': ['JOBS_TO_BE_DONE', 'KANO_MODEL'], | |
| 'User Experience & Design Thinking': ['DESIGN_SPRINT', 'JOBS_TO_BE_DONE', 'KANO_MODEL'], | |
| 'Product Roadmap Planning': ['RICE', 'MOSCOW', 'KANO_MODEL'], | |
| 'Metrics & Analytics': ['NORTH_STAR', 'KANO_MODEL'], | |
| 'Stakeholder Management': ['MOSCOW', 'LEAN_CANVAS'], | |
| 'Product Launch Strategy': ['DESIGN_SPRINT', 'LEAN_CANVAS'], | |
| 'Competitive Analysis': ['LEAN_CANVAS', 'KANO_MODEL'], | |
| 'Feature Prioritization': ['RICE', 'MOSCOW', 'KANO_MODEL'], | |
| 'Customer Development': ['JOBS_TO_BE_DONE', 'DESIGN_SPRINT'], | |
| 'Resume & Application Strategy': ['STAR_RESUME', 'RESUME_OPTIMIZATION', 'APPLICATION_FUNNEL'] | |
| } | |
| suggested_frameworks = framework_mapping.get(coaching_type, ['RICE', 'JOBS_TO_BE_DONE']) | |
| return [PM_FRAMEWORKS[fw] for fw in suggested_frameworks if fw in PM_FRAMEWORKS] | |
| def get_relevant_metrics(coaching_type): | |
| """Get relevant metrics for the coaching area.""" | |
| metric_mapping = { | |
| 'Product Strategy & Vision': PRODUCT_METRICS['BUSINESS'] + PRODUCT_METRICS['ENGAGEMENT'], | |
| 'Market Research & Analysis': PRODUCT_METRICS['GROWTH'], | |
| 'User Experience & Design Thinking': PRODUCT_METRICS['PRODUCT'] + PRODUCT_METRICS['ENGAGEMENT'], | |
| 'Product Roadmap Planning': PRODUCT_METRICS['PRODUCT'], | |
| 'Metrics & Analytics': list(PRODUCT_METRICS.values()), | |
| 'Stakeholder Management': PRODUCT_METRICS['BUSINESS'], | |
| 'Product Launch Strategy': PRODUCT_METRICS['GROWTH'] + PRODUCT_METRICS['BUSINESS'], | |
| 'Competitive Analysis': PRODUCT_METRICS['GROWTH'], | |
| 'Feature Prioritization': PRODUCT_METRICS['PRODUCT'], | |
| 'Customer Development': PRODUCT_METRICS['ENGAGEMENT'] + PRODUCT_METRICS['PRODUCT'], | |
| 'Resume & Application Strategy': ['Application Response Rate', 'Interview Conversion Rate', 'Resume ATS Score', 'Portfolio View Rate', 'Network Response Rate'] | |
| } | |
| return metric_mapping.get(coaching_type, PRODUCT_METRICS['PRODUCT']) | |