Enterprise Implementation Workflow
Complete guide to onboarding enterprise customers including implementation planning, data migration, training, and success metrics
The Enterprise Implementation workflow provides a structured approach to successfully onboarding enterprise customers, from kickoff through go-live and ongoing success management.
Overview#
| Property | Value |
|---|---|
| Phases | 5 |
| Tier | Business |
| Typical Duration | 4-12 weeks |
| Best For | Enterprise customer onboarding, professional services |
Why Implementation Matters#
Enterprise implementations are complex and high-stakes:
- Multiple stakeholders - IT, security, end users, executives
- Data migration - Legacy systems with years of data
- Integration requirements - Must fit into existing stack
- Change management - User adoption is critical
- High expectations - Enterprise customers expect white-glove service
A failed implementation can result in churn, negative references, and lost revenue.
Implementation Success Framework#
┌─────────────────────────────────────────────────────────────────────────┐
│ ENTERPRISE IMPLEMENTATION PHASES │
├─────────────┬─────────────┬─────────────┬─────────────┬─────────────────┤
│ Kickoff │ Setup │ Migration │ Training │ Go-Live │
│ (1 week) │ (2-3 weeks) │ (2-4 weeks) │ (1 week) │ (1-2 weeks) │
├─────────────┼─────────────┼─────────────┼─────────────┼─────────────────┤
│ Stakeholder │ Environment │ Data │ Admin │ Staged │
│ alignment │ provisioning│ extraction │ training │ rollout │
│ │ │ │ │ │
│ Success │ SSO config │ Data │ End user │ Monitoring │
│ criteria │ │ transform │ training │ │
│ │ │ │ │ │
│ Project │ Integration │ Data │ Documentation│ Support │
│ plan │ setup │ validation │ │ handoff │
│ │ │ │ │ │
│ Risk │ User │ Parallel │ Train-the- │ Success │
│ assessment │ provisioning│ run │ trainer │ review │
└─────────────┴─────────────┴─────────────┴─────────────┴─────────────────┘
Phases#
Phase 1: Kickoff (1 week)#
Agents: business-analyst, project-manager
Align all stakeholders and establish the implementation foundation.
Tasks:
- Conduct kickoff meeting
- Identify all stakeholders and roles
- Define success criteria and metrics
- Create detailed project plan
- Establish communication cadence
- Assess risks and dependencies
Kickoff Meeting Agenda:
1## Enterprise Implementation Kickoff
2
3### Attendees
4- Customer: Executive Sponsor, Project Lead, IT Lead, Key Users
5- Vendor: Account Manager, Implementation Lead, Technical Lead
6
7### Agenda (90 minutes)
8
91. **Introductions** (10 min)
10 - Team introductions and roles
11 - Communication preferences
12
132. **Success Criteria Review** (15 min)
14 - Review goals from sales process
15 - Confirm success metrics
16 - Align on expected outcomes
17
183. **Project Scope** (20 min)
19 - Features to be implemented
20 - Users to be onboarded
21 - Integrations required
22 - Out of scope items
23
244. **Timeline Review** (15 min)
25 - Phase-by-phase timeline
26 - Key milestones and deadlines
27 - Dependencies and risks
28
295. **Technical Requirements** (15 min)
30 - SSO configuration
31 - Data migration needs
32 - Integration requirements
33 - Security requirements
34
356. **Resource Commitment** (10 min)
36 - Customer resources needed
37 - Vendor resources assigned
38 - Decision-making authority
39
407. **Next Steps** (5 min)
41 - Immediate action items
42 - Next meeting schedule
43 - Documentation to provideProject Plan Template:
1// lib/implementation/project-plan.ts
2
3interface ImplementationProject {
4 customer: string;
5 startDate: Date;
6 targetGoLive: Date;
7 phases: Phase[];
8 stakeholders: Stakeholder[];
9 risks: Risk[];
10 successCriteria: SuccessCriterion[];
11}
12
13interface Phase {
14 name: string;
15 startDate: Date;
16 endDate: Date;
17 milestones: Milestone[];
18 tasks: Task[];
19 dependencies: string[];
20}
21
22interface Task {
23 id: string;
24 name: string;
25 owner: 'customer' | 'vendor';
26 assignee: string;
27 duration: number; // days
28 dependencies: string[];
29 status: 'not_started' | 'in_progress' | 'blocked' | 'complete';
30}
31
32const sampleProject: ImplementationProject = {
33 customer: "Acme Corp",
34 startDate: new Date("2024-03-01"),
35 targetGoLive: new Date("2024-05-15"),
36 phases: [
37 {
38 name: "Kickoff",
39 startDate: new Date("2024-03-01"),
40 endDate: new Date("2024-03-08"),
41 milestones: [
42 { name: "Kickoff complete", date: new Date("2024-03-04") },
43 { name: "Project plan approved", date: new Date("2024-03-08") }
44 ],
45 tasks: [
46 {
47 id: "K1",
48 name: "Schedule kickoff meeting",
49 owner: "vendor",
50 assignee: "Implementation Lead",
51 duration: 1,
52 dependencies: [],
53 status: "complete"
54 },
55 {
56 id: "K2",
57 name: "Provide technical requirements",
58 owner: "customer",
59 assignee: "IT Lead",
60 duration: 3,
61 dependencies: ["K1"],
62 status: "in_progress"
63 }
64 ],
65 dependencies: []
66 },
67 // ... more phases
68 ],
69 successCriteria: [
70 {
71 metric: "User adoption",
72 target: "90% of licensed users active within 30 days",
73 measurement: "Weekly active users / licensed users"
74 },
75 {
76 metric: "Data migration",
77 target: "100% of historical data migrated accurately",
78 measurement: "Record count validation and sampling"
79 }
80 ]
81};Phase 2: Setup & Configuration (2-3 weeks)#
Agents: backend-expert, devops-expert, security-expert
Provision and configure the customer's environment.
Tasks:
- Provision dedicated environment
- Configure SSO/SAML integration
- Set up integrations (API, webhooks)
- Configure RBAC and permissions
- Provision initial users
- Apply customer-specific settings
SSO Configuration Checklist:
1## SSO Configuration Steps
2
3### Pre-requisites
4- [ ] Customer provides IdP metadata URL or XML
5- [ ] Identify SSO admin contact
6- [ ] Determine user attribute mapping
7
8### Configuration
9- [ ] Create SSO connection in admin panel
10- [ ] Upload IdP metadata
11- [ ] Configure attribute mapping:
12 - [ ] Email (required)
13 - [ ] First name
14 - [ ] Last name
15 - [ ] Department (optional)
16 - [ ] Role (optional)
17- [ ] Set up JIT provisioning rules
18- [ ] Configure default role for new users
19
20### Testing
21- [ ] Test IdP-initiated login
22- [ ] Test SP-initiated login
23- [ ] Verify user attributes populate correctly
24- [ ] Test user provisioning
25- [ ] Test with multiple user roles
26
27### Go-Live
28- [ ] Enable SSO for organization
29- [ ] Disable password login (optional)
30- [ ] Document login URL for users
31- [ ] Provide troubleshooting guideIntegration Setup:
1// lib/implementation/integrations.ts
2
3interface IntegrationConfig {
4 type: string;
5 name: string;
6 status: 'pending' | 'configured' | 'tested' | 'live';
7 config: Record<string, unknown>;
8 testResults?: TestResult[];
9}
10
11const integrationChecklist: IntegrationConfig[] = [
12 {
13 type: 'sso',
14 name: 'Okta SSO',
15 status: 'configured',
16 config: {
17 metadataUrl: 'https://acme.okta.com/app/xxx/sso/saml/metadata',
18 attributeMapping: {
19 email: 'user.email',
20 firstName: 'user.firstName',
21 lastName: 'user.lastName'
22 }
23 }
24 },
25 {
26 type: 'crm',
27 name: 'Salesforce',
28 status: 'pending',
29 config: {
30 instanceUrl: 'https://acme.salesforce.com',
31 apiVersion: 'v57.0',
32 syncObjects: ['Account', 'Contact', 'Opportunity']
33 }
34 },
35 {
36 type: 'communication',
37 name: 'Slack',
38 status: 'tested',
39 config: {
40 workspaceId: 'T123456',
41 channels: ['#product-updates', '#support'],
42 notifications: ['new_user', 'critical_alert']
43 }
44 }
45];
46
47async function testIntegration(
48 integration: IntegrationConfig
49): Promise<TestResult> {
50 // Run integration-specific tests
51 switch (integration.type) {
52 case 'sso':
53 return testSSOIntegration(integration);
54 case 'crm':
55 return testCRMIntegration(integration);
56 case 'communication':
57 return testSlackIntegration(integration);
58 default:
59 throw new Error(`Unknown integration type: ${integration.type}`);
60 }
61}Phase 3: Data Migration (2-4 weeks)#
Agents: database-expert, backend-expert
Migrate data from legacy systems with validation and verification.
Tasks:
- Analyze source data structure
- Design data mapping
- Build migration scripts
- Execute test migration
- Validate migrated data
- Run parallel systems (if needed)
- Execute final migration
Data Migration Framework:
1// lib/migration/framework.ts
2
3interface MigrationPlan {
4 source: {
5 system: string;
6 format: 'csv' | 'json' | 'api' | 'database';
7 connection?: string;
8 };
9 entities: EntityMapping[];
10 schedule: {
11 testMigration: Date;
12 parallelRun: { start: Date; end: Date };
13 finalMigration: Date;
14 cutover: Date;
15 };
16 validation: ValidationRule[];
17}
18
19interface EntityMapping {
20 sourceEntity: string;
21 targetEntity: string;
22 fieldMappings: FieldMapping[];
23 transformations: Transformation[];
24 estimatedRecords: number;
25}
26
27interface FieldMapping {
28 source: string;
29 target: string;
30 type: 'direct' | 'transform' | 'default' | 'lookup';
31 transformer?: string;
32 defaultValue?: unknown;
33 lookupTable?: string;
34}
35
36// Example migration plan
37const migrationPlan: MigrationPlan = {
38 source: {
39 system: 'Legacy CRM',
40 format: 'api',
41 connection: 'https://legacy.acme.com/api'
42 },
43 entities: [
44 {
45 sourceEntity: 'customers',
46 targetEntity: 'organizations',
47 estimatedRecords: 5000,
48 fieldMappings: [
49 { source: 'customer_id', target: 'legacyId', type: 'direct' },
50 { source: 'company_name', target: 'name', type: 'direct' },
51 { source: 'industry_code', target: 'industry', type: 'lookup', lookupTable: 'industry_mapping' },
52 { source: 'created_date', target: 'createdAt', type: 'transform', transformer: 'parseDate' }
53 ],
54 transformations: [
55 {
56 type: 'deduplicate',
57 field: 'name',
58 strategy: 'keep_newest'
59 }
60 ]
61 },
62 {
63 sourceEntity: 'users',
64 targetEntity: 'users',
65 estimatedRecords: 500,
66 fieldMappings: [
67 { source: 'email', target: 'email', type: 'direct' },
68 { source: 'full_name', target: 'name', type: 'direct' },
69 { source: 'role', target: 'roleId', type: 'lookup', lookupTable: 'role_mapping' },
70 { source: null, target: 'authMethod', type: 'default', defaultValue: 'sso' }
71 ],
72 transformations: []
73 }
74 ],
75 validation: [
76 {
77 type: 'count',
78 description: 'Record counts match',
79 check: 'source.count === target.count'
80 },
81 {
82 type: 'sample',
83 description: 'Sample records match',
84 sampleSize: 100,
85 fields: ['name', 'email', 'createdAt']
86 },
87 {
88 type: 'referential',
89 description: 'All foreign keys valid',
90 check: 'all organization references exist'
91 }
92 ]
93};Migration Execution Script:
1// lib/migration/executor.ts
2
3import { prisma } from '@/lib/prisma';
4
5export async function executeMigration(
6 plan: MigrationPlan,
7 options: { dryRun: boolean; batchSize: number }
8): Promise<MigrationResult> {
9 const result: MigrationResult = {
10 startTime: new Date(),
11 entities: [],
12 errors: [],
13 warnings: []
14 };
15
16 for (const entity of plan.entities) {
17 console.log(`Migrating ${entity.sourceEntity}...`);
18
19 const entityResult = await migrateEntity(entity, options);
20 result.entities.push(entityResult);
21
22 if (entityResult.errors.length > 0) {
23 result.errors.push(...entityResult.errors);
24 }
25 }
26
27 // Run validation
28 for (const rule of plan.validation) {
29 const validationResult = await runValidation(rule);
30 if (!validationResult.passed) {
31 result.errors.push({
32 type: 'validation',
33 rule: rule.description,
34 details: validationResult.details
35 });
36 }
37 }
38
39 result.endTime = new Date();
40 result.success = result.errors.length === 0;
41
42 return result;
43}
44
45async function migrateEntity(
46 entity: EntityMapping,
47 options: { dryRun: boolean; batchSize: number }
48): Promise<EntityMigrationResult> {
49 let processed = 0;
50 let created = 0;
51 let updated = 0;
52 let errors: MigrationError[] = [];
53
54 // Fetch source data in batches
55 let offset = 0;
56 while (true) {
57 const sourceRecords = await fetchSourceBatch(
58 entity.sourceEntity,
59 options.batchSize,
60 offset
61 );
62
63 if (sourceRecords.length === 0) break;
64
65 for (const record of sourceRecords) {
66 try {
67 // Apply field mappings
68 const transformed = applyMappings(record, entity.fieldMappings);
69
70 // Apply transformations
71 const final = applyTransformations(transformed, entity.transformations);
72
73 if (!options.dryRun) {
74 // Upsert to target
75 await prisma[entity.targetEntity].upsert({
76 where: { legacyId: record.id },
77 update: final,
78 create: final
79 });
80 }
81
82 processed++;
83 created++; // or updated based on upsert result
84 } catch (error) {
85 errors.push({
86 sourceId: record.id,
87 error: error.message,
88 record: record
89 });
90 }
91 }
92
93 offset += options.batchSize;
94 console.log(` Processed ${processed} / ${entity.estimatedRecords}`);
95 }
96
97 return { entity: entity.sourceEntity, processed, created, updated, errors };
98}Phase 4: Training (1 week)#
Agents: technical-writer, ui-ux-expert
Train administrators and end users on the new system.
Tasks:
- Develop training materials
- Conduct admin training sessions
- Conduct end-user training sessions
- Create self-service documentation
- Implement train-the-trainer program
Training Plan:
1## Training Program
2
3### Administrator Training (4 hours)
4
5**Audience:** IT admins, team leads
6
7**Topics:**
81. Admin console overview (30 min)
9 - Navigation and settings
10 - User management
11 - Role and permission configuration
12
132. SSO and access management (45 min)
14 - User provisioning
15 - SSO troubleshooting
16 - Access reviews
17
183. Security and compliance (45 min)
19 - Audit log access
20 - Security settings
21 - Data export and retention
22
234. Integrations (30 min)
24 - API overview
25 - Webhook configuration
26 - Third-party integrations
27
285. Support and escalation (30 min)
29 - Support channels
30 - Escalation procedures
31 - Self-service resources
32
336. Hands-on exercises (60 min)
34 - Create user accounts
35 - Configure roles
36 - Set up integrations
37
38### End-User Training (2 hours)
39
40**Audience:** All users
41
42**Topics:**
431. Getting started (30 min)
44 - Logging in (SSO)
45 - Profile setup
46 - Navigation overview
47
482. Core workflows (60 min)
49 - [Primary use case walkthrough]
50 - [Secondary use case walkthrough]
51 - Tips and shortcuts
52
533. Collaboration features (20 min)
54 - Sharing and permissions
55 - Comments and notifications
56 - Team features
57
584. Q&A and practice (10 min)
59
60### Self-Service Resources
61
62- Video library (10 short how-to videos)
63- Interactive product tour
64- Help center articles
65- Quick reference card (PDF)
66- FAQ documentTraining Materials Checklist:
1## Training Materials Inventory
2
3### Videos
4- [ ] Welcome and overview (5 min)
5- [ ] Getting started tutorial (10 min)
6- [ ] Feature deep-dive: [Feature 1] (8 min)
7- [ ] Feature deep-dive: [Feature 2] (8 min)
8- [ ] Admin console walkthrough (15 min)
9- [ ] Integration setup guide (10 min)
10
11### Documents
12- [ ] Quick start guide (2 pages)
13- [ ] User manual (full documentation)
14- [ ] Admin guide
15- [ ] API documentation
16- [ ] FAQ document
17- [ ] Troubleshooting guide
18
19### Interactive
20- [ ] Product tour (in-app)
21- [ ] Sandbox environment
22- [ ] Practice exercises
23- [ ] Knowledge check quiz
24
25### Customer-Specific
26- [ ] Custom workflow documentation
27- [ ] Integration configuration guide
28- [ ] Role-specific guidesPhase 5: Go-Live & Handoff (1-2 weeks)#
Agents: devops-expert, business-analyst
Execute staged rollout and transition to ongoing support.
Tasks:
- Execute staged user rollout
- Monitor system performance
- Provide hypercare support
- Conduct go-live review
- Hand off to Customer Success
- Document lessons learned
Go-Live Checklist:
1## Go-Live Readiness Checklist
2
3### Technical Readiness
4- [ ] All integrations tested and working
5- [ ] SSO tested with production IdP
6- [ ] Data migration complete and validated
7- [ ] Performance tested under expected load
8- [ ] Backup and recovery verified
9- [ ] Monitoring and alerting configured
10
11### User Readiness
12- [ ] All users provisioned
13- [ ] Admin training complete
14- [ ] End-user training complete
15- [ ] Support documentation available
16- [ ] Communication sent to users
17
18### Support Readiness
19- [ ] Support team briefed on customer
20- [ ] Escalation path defined
21- [ ] Customer success manager assigned
22- [ ] First business review scheduled
23
24### Business Readiness
25- [ ] Success criteria confirmed
26- [ ] Metrics baseline established
27- [ ] Executive sponsor sign-off
28- [ ] Go/no-go decision madeStaged Rollout Plan:
1// lib/implementation/rollout.ts
2
3interface RolloutPlan {
4 waves: RolloutWave[];
5 rollbackCriteria: string[];
6 successCriteria: string[];
7}
8
9interface RolloutWave {
10 name: string;
11 startDate: Date;
12 users: UserGroup;
13 percentage: number;
14 duration: number; // days before next wave
15 checkpoints: string[];
16}
17
18const rolloutPlan: RolloutPlan = {
19 waves: [
20 {
21 name: "Pilot",
22 startDate: new Date("2024-05-01"),
23 users: { type: "selected", ids: ["user1", "user2", "user3"] },
24 percentage: 5,
25 duration: 3,
26 checkpoints: [
27 "No critical bugs reported",
28 "Core workflows functional",
29 "Performance acceptable"
30 ]
31 },
32 {
33 name: "Early Adopters",
34 startDate: new Date("2024-05-04"),
35 users: { type: "department", value: "Engineering" },
36 percentage: 20,
37 duration: 5,
38 checkpoints: [
39 "No P1 issues",
40 "User satisfaction > 3.5/5",
41 "Support ticket volume manageable"
42 ]
43 },
44 {
45 name: "General Availability",
46 startDate: new Date("2024-05-09"),
47 users: { type: "all" },
48 percentage: 100,
49 duration: 0,
50 checkpoints: [
51 "All success criteria met",
52 "Support team comfortable",
53 "No rollback needed"
54 ]
55 }
56 ],
57 rollbackCriteria: [
58 "Critical data loss or corruption",
59 "Security vulnerability discovered",
60 "More than 20% of users unable to work",
61 "Integration failure impacting business"
62 ],
63 successCriteria: [
64 "90% of users active within 30 days",
65 "Average login time < 3 seconds",
66 "Support tickets < 5 per 100 users/week",
67 "NPS > 30 at 60 days"
68 ]
69};Hypercare Support Plan:
1## Hypercare Support (First 2 Weeks Post Go-Live)
2
3### Coverage
4- **Hours:** Extended support (6 AM - 9 PM customer timezone)
5- **Response SLA:**
6 - P1 (critical): 15 minutes
7 - P2 (high): 1 hour
8 - P3 (medium): 4 hours
9
10### Daily Activities
11- Morning check-in with customer IT
12- Review overnight logs and alerts
13- Proactive outreach to pilot users
14- End-of-day status summary
15
16### Escalation Path
171. Implementation Support Engineer
182. Implementation Lead
193. Engineering On-Call
204. VP of Customer Success
21
22### Transition to BAU Support
23- Day 10: Review support metrics
24- Day 12: Handoff meeting with CS team
25- Day 14: Transition to standard support SLAsStarting the Workflow#
1# Start implementation workflow
2bootspring workflow start enterprise-implementation
3
4# Create project plan
5bootspring enterprise implementation plan --customer "Acme Corp"
6
7# Track implementation progress
8bootspring enterprise implementation status
9
10# Generate status report
11bootspring enterprise implementation reportDeliverables#
A successful Enterprise Implementation workflow produces:
- Signed project plan with timeline
- Configured production environment
- Completed SSO/integration setup
- Migrated and validated data
- Trained administrators and users
- Training documentation
- Go-live sign-off
- Customer success handoff document
Success Metrics#
| Metric | Target | Measurement |
|---|---|---|
| On-time delivery | 90% | Go-live within 10% of planned date |
| Data accuracy | 99.9% | Sample validation post-migration |
| User adoption | 90%+ | Active users at 30 days |
| Time to value | < 60 days | First business outcome achieved |
| Customer satisfaction | > 4/5 | Post-implementation survey |
| Support tickets | < 5/100 users | First 30 days |
Best Practices#
- Over-communicate - Weekly status updates, clear escalation
- Document everything - Decisions, configurations, issues
- Test thoroughly - Integration testing, load testing, UAT
- Plan for the unexpected - Buffer time, rollback plans
- Involve the customer - They know their business best
- Celebrate milestones - Build momentum and partnership
Common Pitfalls#
- Underestimating data migration complexity
- Insufficient stakeholder involvement
- Skipping user acceptance testing
- Poor change management
- Inadequate training
- No success criteria defined upfront