UNPKG

sf-agent-framework

Version:

AI Agent Orchestration Framework for Salesforce Development - Two-phase architecture with 70% context reduction

794 lines (646 loc) 18.9 kB
# Salesforce Training Best Practices ## Overview Effective training is critical for Salesforce adoption and success. This document provides comprehensive best practices for designing, delivering, and measuring Salesforce training programs that drive user engagement and proficiency. ## Training Strategy Framework ### Adult Learning Principles 1. **Relevance**: Connect training to real job tasks 2. **Experience**: Build on existing knowledge 3. **Problem-Solving**: Focus on practical solutions 4. **Immediate Application**: Enable quick wins 5. **Self-Direction**: Provide learning paths ### Learning Objectives Hierarchy ```yaml taxonomy: remember: - Identify Salesforce objects - Recognize UI elements - Recall navigation paths understand: - Explain data relationships - Describe process flows - Interpret reports apply: - Create records - Run reports - Update data analyze: - Troubleshoot issues - Compare solutions - Evaluate data quality evaluate: - Assess process efficiency - Judge data accuracy - Recommend improvements create: - Design workflows - Build dashboards - Develop solutions ``` ## Role-Based Training Programs ### Sales User Training Path ```javascript const salesTrainingPath = { foundation: { duration: '2 days', format: 'instructor-led', topics: [ 'Salesforce navigation', 'Lead and contact management', 'Opportunity tracking', 'Activity logging', 'Basic reporting', ], hands_on: ['Create and convert a lead', 'Update opportunity stages', 'Log calls and emails', 'Run pipeline report'], }, intermediate: { duration: '1 day', format: 'virtual workshop', topics: [ 'Advanced opportunity management', 'Forecasting', 'Collaboration tools', 'Mobile app usage', 'Custom reports', ], prerequisites: ['foundation'], }, advanced: { duration: '4 hours', format: 'self-paced + mentoring', topics: ['Sales analytics', 'Process automation', 'Integration features', 'Best practices'], certification: 'Sales Cloud Consultant', }, }; ``` ### Service User Training Path ```yaml service_training: week_1: day_1: - Case creation and management - Customer communication - Knowledge base usage day_2: - Case escalation - SLA management - Service console navigation week_2: self_study: - Omnichannel routing - Macros and quick text - Service analytics practice: - Handle 10 practice cases - Create 3 knowledge articles - Build personal dashboard ``` ### Administrator Training Path ```markdown # Salesforce Administrator Training Curriculum ## Phase 1: Foundation (2 weeks) - **Week 1**: Platform basics, security model, user management - **Week 2**: Data management, automation basics - **Certification**: Admin Basics Trailhead Badge ## Phase 2: Configuration (2 weeks) - **Week 3**: Objects, fields, relationships - **Week 4**: Page layouts, record types, apps - **Project**: Configure sample business app ## Phase 3: Automation (1 week) - **Topics**: Workflow, Process Builder, Flow - **Lab**: Build 5 automation scenarios ## Phase 4: Reporting (1 week) - **Topics**: Reports, dashboards, analytics - **Deliverable**: Executive dashboard ## Phase 5: Maintenance (1 week) - **Topics**: Deployment, monitoring, optimization - **Certification Prep**: ADM-201 exam preparation ``` ## Training Delivery Methods ### Instructor-Led Training (ILT) **Best For**: Foundation concepts, complex topics, hands-on practice ```javascript // ILT session structure const iltSessionPlan = { opening: { duration: '15 min', activities: ['Welcome and introductions', 'Learning objectives', 'Agenda overview', 'Pre-assessment'], }, content_blocks: [ { topic: 'Core Concept', duration: '45 min', method: 'Demo + guided practice', materials: ['slides', 'workbook', 'sandbox'], }, { topic: 'Hands-on Exercise', duration: '60 min', method: 'Individual practice', support: 'Instructor circulates', }, ], closing: { duration: '15 min', activities: ['Q&A', 'Key takeaways', 'Next steps', 'Feedback survey'], }, }; ``` ### Virtual Training **Best For**: Remote teams, follow-up sessions, specific topics ```yaml virtual_training_best_practices: technical_setup: - Test technology 24 hours before - Provide backup connection options - Record sessions for replay - Use dual monitors engagement_techniques: - Polls every 10 minutes - Breakout rooms for exercises - Chat for questions - Annotation tools for interaction - Maximum 2-hour sessions materials: - Digital workbooks - Sandbox access - Quick reference cards - Recording links ``` ### Self-Paced Learning **Best For**: Reinforcement, just-in-time learning, diverse schedules ```html <!-- Self-paced module structure --> <module id="lead-management"> <overview> <duration>30 minutes</duration> <objectives> <objective>Create and qualify leads</objective> <objective>Convert leads to opportunities</objective> <objective>Track lead sources</objective> </objectives> </overview> <content> <video duration="5min">Lead Overview</video> <interactive>Lead Creation Simulator</interactive> <reading>Best Practices Guide</reading> <quiz questions="10">Knowledge Check</quiz> </content> <practice> <scenario>Create 5 different lead types</scenario> <validation>Automated checking</validation> <feedback>Immediate corrections</feedback> </practice> </module> ``` ### Microlearning **Best For**: Busy users, reinforcement, specific features ```javascript // Microlearning content examples const microlearningLibrary = [ { title: 'Quick Tip: Keyboard Shortcuts', duration: '2 min', format: 'video', outcome: 'Save 10 min/day with shortcuts', }, { title: 'Feature Focus: List Views', duration: '3 min', format: 'interactive demo', outcome: 'Create custom list view', }, { title: 'Best Practice: Data Entry', duration: '5 min', format: 'infographic + quiz', outcome: 'Improve data quality', }, ]; ``` ## Training Content Development ### Content Creation Framework ```yaml content_development: analyze: - Audience needs assessment - Current skill gaps - Business objectives - Success metrics design: - Learning objectives - Content outline - Assessment strategy - Delivery method develop: - Create materials - Build exercises - Design assessments - Prepare job aids implement: - Pilot testing - Trainer preparation - Logistics planning - Communication evaluate: - Learner feedback - Knowledge assessment - Behavior change - Business impact ``` ### Training Materials Checklist - [ ] Participant workbook - [ ] Instructor guide - [ ] Presentation slides - [ ] Hands-on exercises - [ ] Quick reference cards - [ ] Video tutorials - [ ] Practice scenarios - [ ] Knowledge assessments - [ ] Feedback surveys - [ ] Certificate templates ## Hands-On Exercises ### Exercise Design Principles 1. **Real-World Scenarios**: Use actual business situations 2. **Progressive Difficulty**: Start simple, increase complexity 3. **Clear Instructions**: Step-by-step guidance 4. **Expected Outcomes**: Define success criteria 5. **Error Handling**: Anticipate common mistakes ### Sample Exercise: Opportunity Management ```markdown # Exercise: Complete Sales Cycle ## Scenario You are a sales rep who just had a great meeting with Acme Corp. They're interested in your Premium Package ($50,000 value). ## Tasks 1. **Create Lead** (5 min) - Company: Acme Corp - Contact: Jane Smith, VP Sales - Lead Source: Tradeshow 2. **Qualify Lead** (5 min) - Update status to "Qualified" - Add qualification notes - Schedule follow-up task 3. **Convert Lead** (10 min) - Create new opportunity - Set close date 45 days out - Add products 4. **Progress Opportunity** (15 min) - Move through stages - Update probability - Log activities - Create quote 5. **Close Deal** (5 min) - Mark as Closed Won - Add implementation notes - Create follow-up tasks ## Success Criteria - All required fields completed - Activities logged properly - Products added correctly - Follow-up tasks created ``` ## Training Environments ### Sandbox Strategy ```apex // Training org setup script public class TrainingOrgSetup { public static void setupTrainingData() { // Create sample accounts List<Account> accounts = TestDataFactory.createAccounts(50); insert accounts; // Create sample contacts List<Contact> contacts = TestDataFactory.createContacts(accounts, 200); insert contacts; // Create opportunities at various stages List<Opportunity> opps = new List<Opportunity>(); String[] stages = new String[]{ 'Prospecting', 'Qualification', 'Needs Analysis', 'Value Proposition', 'Decision Makers', 'Closed Won' }; for (Account acc : accounts) { for (Integer i = 0; i < 3; i++) { opps.add(new Opportunity( Name = acc.Name + ' - Opportunity ' + i, AccountId = acc.Id, StageName = stages[Math.mod(i, stages.size())], CloseDate = Date.today().addDays(30 + i*15), Amount = Math.round(Math.random() * 100000) )); } } insert opps; System.debug('Training data created successfully'); } } ``` ### Training vs Production | Aspect | Training Environment | Production | | ------------ | -------------------- | ---------- | | Data | Sample/dummy data | Real data | | Integrations | Disabled/mocked | Active | | Automations | Limited | Full | | Permissions | Relaxed | Strict | | Refresh | Weekly/monthly | Never | ## Assessment and Certification ### Knowledge Assessment Types ```javascript // Assessment framework const assessmentTypes = { preAssessment: { purpose: 'Baseline knowledge', questions: 10, passing: 'N/A', timing: 'Before training', }, knowledgeCheck: { purpose: 'Comprehension', questions: 5, passing: 80, timing: 'During modules', }, practicalExam: { purpose: 'Skill demonstration', tasks: 5, passing: 100, timing: 'End of training', }, certification: { purpose: 'Proficiency validation', questions: 60, passing: 65, timing: 'Post-training', }, }; ``` ### Practical Assessment Rubric | Task | Points | Criteria | | ------------------ | ------ | ---------------------------------- | | Create Account | 10 | All required fields, proper naming | | Add Contacts | 15 | Minimum 2, proper relationships | | Create Opportunity | 20 | Correct stage, products added | | Run Report | 15 | Correct filters, proper grouping | | Build Dashboard | 20 | 3+ components, meaningful data | | Complete Workflow | 20 | Follow process, all steps done | ## Training Effectiveness Measurement ### Kirkpatrick Model Implementation ```yaml Level_1_Reaction: method: Post-training survey metrics: - Satisfaction score (4.5/5 target) - Relevance rating - Instructor effectiveness - Material quality sample_questions: - 'How satisfied were you with the training?' - 'Will you apply what you learned?' - 'Would you recommend this training?' Level_2_Learning: method: Pre/post assessments metrics: - Knowledge gain (>30% improvement) - Skill demonstration - Confidence increase measurement: - Pre-training: 45% average - Post-training: 85% average - Gain: 40% Level_3_Behavior: method: 30/60/90 day follow-up metrics: - Feature adoption rates - Process compliance - Data quality scores tracking: - Login frequency - Feature usage - Error rates Level_4_Results: method: Business metric analysis metrics: - Productivity increase - Sales cycle reduction - Customer satisfaction roi_calculation: - Training cost: $50,000 - Productivity gain: $200,000 - ROI: 300% ``` ### Adoption Tracking Dashboard ```apex // Track user adoption post-training public class AdoptionTracker { @AuraEnabled public static Map<String, Object> getAdoptionMetrics(Id userId) { Map<String, Object> metrics = new Map<String, Object>(); // Login frequency Integer loginCount = [ SELECT COUNT() FROM LoginHistory WHERE UserId = :userId AND LoginTime >= LAST_N_DAYS:30 ]; // Feature usage Integer recordsCreated = [ SELECT COUNT() FROM Opportunity WHERE CreatedById = :userId AND CreatedDate >= LAST_N_DAYS:30 ]; // Calculate adoption score Decimal adoptionScore = calculateScore(loginCount, recordsCreated); metrics.put('loginFrequency', loginCount); metrics.put('recordsCreated', recordsCreated); metrics.put('adoptionScore', adoptionScore); metrics.put('target', 80); return metrics; } } ``` ## Change Management Integration ### ADKAR Model for Training ```markdown # ADKAR Training Integration ## Awareness - Pre-training communications - Benefits messaging - Success stories - Executive sponsorship ## Desire - WIIFM (What's In It For Me) - Peer champions - Incentives - Recognition ## Knowledge - Formal training sessions - Documentation - Job aids - Mentoring ## Ability - Hands-on practice - Sandbox access - Coaching - Support resources ## Reinforcement - Follow-up sessions - Refresher training - Continuous learning - Performance support ``` ### Communication Plan ```javascript const trainingCommunication = { preTraining: [ { timing: '4 weeks before', audience: 'All users', message: 'Training announcement', channel: 'Email + Town Hall', }, { timing: '2 weeks before', audience: 'Participants', message: 'Schedule and prep work', channel: 'Email + Calendar', }, { timing: '1 week before', audience: 'Managers', message: 'Support expectations', channel: 'Manager briefing', }, ], duringTraining: [ { daily: 'Progress updates', channel: 'Slack', content: 'Tips and highlights', }, ], postTraining: [ { timing: '1 week after', message: 'Resources and support', channel: 'Email + Chatter', }, { timing: '1 month after', message: 'Success stories', channel: 'Newsletter', }, ], }; ``` ## Support Resources ### Post-Training Support Model ```yaml support_tiers: tier_1_self_service: - Quick reference guides - Video library - FAQ database - Chatter groups - Trailhead modules tier_2_peer_support: - Super user network - Office hours - Buddy system - User groups - Slack channels tier_3_expert_support: - Help desk tickets - Admin support - Consultant hours - Custom training - Feature requests ``` ### Job Aids and Quick References ```html <!-- Quick Reference Card Template --> <div class="quick-ref-card"> <h3>Creating an Opportunity</h3> <ol> <li><kbd>Click</kbd> Opportunities tab</li> <li><kbd>Click</kbd> New</li> <li><kbd>Enter</kbd> Opportunity Name</li> <li><kbd>Select</kbd> Account</li> <li><kbd>Choose</kbd> Stage</li> <li><kbd>Set</kbd> Close Date</li> <li><kbd>Enter</kbd> Amount</li> <li><kbd>Save</kbd></li> </ol> <div class="tips"> <strong>Pro Tips:</strong> <ul> <li>Use naming convention: Account - Product - Year</li> <li>Always add Next Steps</li> <li>Link to Campaign if applicable</li> </ul> </div> </div> ``` ## Continuous Learning Culture ### Learning Path Maintenance ```apex // Track continuous learning @RestResource(urlMapping='/learning/progress/*') global class LearningProgressTracker { @HttpGet global static UserProgress getProgress() { Id userId = RestContext.request.params.get('userId'); UserProgress progress = new UserProgress(); progress.completedModules = getCompletedModules(userId); progress.currentPath = getCurrentPath(userId); progress.nextRecommendation = getNextRecommendation(userId); progress.certifications = getCertifications(userId); return progress; } } ``` ### Monthly Learning Challenges ```javascript const monthlyChallenge = { january: { theme: 'Report Master', tasks: ['Create 3 custom report types', 'Build cross-object report', 'Share dashboard with team'], reward: 'Report Builder Badge', }, february: { theme: 'Automation April', tasks: ['Build first Flow', 'Create email alert', 'Automate one manual process'], reward: 'Automation Hero Badge', }, }; ``` ## Training Budget Optimization ### Cost-Benefit Analysis | Training Method | Cost per User | Effectiveness | Scalability | ROI | | --------------- | ------------- | ------------- | ----------- | ---- | | ILT | $500 | High | Low | 200% | | Virtual | $200 | Medium-High | High | 350% | | Self-Paced | $50 | Medium | Very High | 500% | | Microlearning | $25 | Medium | Very High | 600% | | Peer Learning | $10 | Medium | High | 800% | ### Resource Allocation ```yaml training_budget_allocation: total_budget: $100,000 breakdown: content_development: 30% # $30,000 delivery: 40% # $40,000 technology: 15% # $15,000 assessment: 10% # $10,000 continuous_learning: 5% # $5,000 optimization_strategies: - Reuse content across roles - Leverage peer trainers - Use free Salesforce resources - Create train-the-trainer programs - Implement self-service options ``` ## Additional Resources - [Trailhead: Salesforce Training Strategies](https://trailhead.salesforce.com/en/content/learn/modules/training-strategies) - [Adult Learning Best Practices](https://help.salesforce.com/s/articleView?id=sf.admin_training_best_practices.htm) - [Salesforce Adoption Dashboards](https://appexchange.salesforce.com/appxListingDetail?listingId=a0N3000000B5XHsEAN) - [Training ROI Calculator](https://www.salesforce.com/resources/roi-calculator/)