Author: Mike Swanson Machine: Mikes-MacBook-Air.local Timestamp: 2026-06-14 08:36:19
627 lines
19 KiB
Markdown
627 lines
19 KiB
Markdown
# Valley Wide ORDERS Modernization Roadmap
|
|
|
|
This document tracks the phased modernization of Valley Wide Plastering's VB6 ORDERS application to a modern web-based ERP. The strategy uses parallel development with SQL Server as the common backend, allowing VB6 and web clients to coexist during transition.
|
|
|
|
## Legend
|
|
- [ ] Not started
|
|
- [~] In planning
|
|
- [x] Completed
|
|
- Priority: P1 (critical/blocking), P2 (important), P3 (nice-to-have)
|
|
|
|
---
|
|
|
|
## Strategic Approach
|
|
|
|
**End Goal:** Modern web application replacing VB6 desktop client
|
|
|
|
**Migration Strategy:** Dual-client parallel development with gradual user adoption
|
|
- SQL Server backend supports both VB6 and web clients simultaneously
|
|
- VB6 continues production use while web client is developed
|
|
- Users transition module-by-module based on beta testing
|
|
- Zero-downtime migration with easy rollback per module
|
|
|
|
**Timeline:** 8-9 months to full production rollout
|
|
|
|
---
|
|
|
|
## Phase 1: Foundation & Database Migration (Month 1)
|
|
|
|
**Priority:** P1 (CRITICAL - removes 2GB Jet limit, enables all future work)
|
|
|
|
### Infrastructure Setup
|
|
|
|
- [ ] **DEV-001:** Provision development server environment
|
|
- **Options:** Repurpose SERVER3, cloud VM, or dedicated workstation
|
|
- **Requirements:** VB6 SP6 + OCX dependencies, SQL Server DEV instance
|
|
- **Status:** Not started
|
|
- **Blocking:** All development work
|
|
|
|
- [ ] **DEV-002:** Stand up VB6 build environment
|
|
- **Components needed:**
|
|
- Windows 10/11 VM with VB6 SP6 Enterprise
|
|
- True DBGrid Pro 7.0 (`todg7.ocx`)
|
|
- FarPoint Spread (`Flp32a30.ocx`)
|
|
- Crystal Reports 7 runtime (`Crystl32.OCX`, `craxdrt.dll`)
|
|
- MS common controls (TABCTL32, MSCOMCTL, MSCOMCT2, comdlg32)
|
|
- EasyP.ocx
|
|
- **Purpose:** Verify source compiles, understand business logic, test against SQL
|
|
- **Status:** Not started
|
|
|
|
- [ ] **DEV-003:** Stand up SQL Server development instance
|
|
- **Environment:** Separate from production
|
|
- **Version:** SQL Server 2022 or Azure SQL Database
|
|
- **Status:** Not started
|
|
|
|
### Database Migration (Week 1-2)
|
|
|
|
- [ ] **DB-001:** Jet → SQL Server schema migration
|
|
- **Tool:** SQL Server Migration Assistant (SSMA) for Access
|
|
- **Scope:** All 130 tables
|
|
- **Deliverable:** SQL Server schema with proper types, indexes, constraints
|
|
- **Priority:** P1
|
|
- **Status:** Not started
|
|
- **Effort:** 3-5 days
|
|
|
|
- [ ] **DB-002:** Data migration and validation
|
|
- **Process:** SSMA data transfer
|
|
- **Validation:** Record counts, key relationships, data integrity checks
|
|
- **Document:** Type conversion issues and resolutions
|
|
- **Priority:** P1
|
|
- **Status:** Not started
|
|
- **Effort:** 2-3 days
|
|
|
|
- [ ] **DB-003:** Enable SQL Server row versioning
|
|
- **Purpose:** Prevent VB6/web client conflicts during parallel operation
|
|
- **Implementation:** Add `rowversion` columns to all tables
|
|
- **Priority:** P1
|
|
- **Status:** Not started
|
|
- **Effort:** 1 day
|
|
|
|
- [ ] **DB-004:** Create development database snapshot
|
|
- **Purpose:** Reproducible dev environment, quick restore for testing
|
|
- **Priority:** P2
|
|
- **Status:** Not started
|
|
|
|
### VB6 SQL Server Adaptation (Week 2-3)
|
|
|
|
- [ ] **VB6-001:** Update `modADO.bas` for SQL Server
|
|
- **Changes:** Connection strings (Jet → SQL Server)
|
|
- **Convert:** Inline SQL to stored procedures (safer concurrency)
|
|
- **Priority:** P1
|
|
- **Status:** Not started
|
|
- **Effort:** 5-7 days
|
|
|
|
- [ ] **VB6-002:** Test VB6 against SQL Server (comprehensive)
|
|
- **Scope:** All modules, especially Certified Payroll + Positive Pay
|
|
- **Test data:** Production-like dataset
|
|
- **Priority:** P1
|
|
- **Status:** Not started
|
|
- **Effort:** 5-7 days
|
|
|
|
- [ ] **VB6-003:** VB6 compatibility with Windows 10/11
|
|
- **Goal:** Remove Win7 VM dependency
|
|
- **Test:** VB6 runtime + OCX registration on Win10/11
|
|
- **Fallback:** Application compatibility shims or Windows Sandbox
|
|
- **Priority:** P2
|
|
- **Status:** Not started
|
|
- **Effort:** 3-5 days
|
|
|
|
### Production Deployment (Week 3-4)
|
|
|
|
- [ ] **DEPLOY-001:** Deploy SQL Server to production
|
|
- **Prerequisites:** All testing complete, backup/restore procedures
|
|
- **Cutover:** VB6 client switches from Jet to SQL Server
|
|
- **Monitoring:** 2 weeks intensive observation
|
|
- **Priority:** P1
|
|
- **Status:** Not started
|
|
- **Blocking:** Web client development
|
|
|
|
---
|
|
|
|
## Phase 2: Web Client Foundation & API Layer (Month 2)
|
|
|
|
**Priority:** P1 (enables all web development)
|
|
|
|
### Technology Stack Decision
|
|
|
|
- [ ] **TECH-001:** Choose web application framework
|
|
- **Recommended:** Blazor Server/.NET 8
|
|
- **Alternatives:** React + .NET API, ASP.NET Core MVC
|
|
- **Factors:** Team skills, component libraries, VB6 logic porting ease
|
|
- **Priority:** P1
|
|
- **Status:** Not started
|
|
- **Blocking:** All web development
|
|
|
|
### API Layer Development
|
|
|
|
- [ ] **API-001:** Build REST API on SQL Server database
|
|
- **Framework:** .NET 8 Web API
|
|
- **Scope:** CRUD operations for all 130 tables
|
|
- **Authentication:** OAuth/JWT
|
|
- **Priority:** P1
|
|
- **Status:** Not started
|
|
- **Effort:** 2-3 weeks
|
|
|
|
- [ ] **API-002:** Port business logic from VB6 `modADO.bas`
|
|
- **Scope:** Critical validation rules, calculations, workflows
|
|
- **Testing:** Unit tests for all ported logic
|
|
- **Priority:** P1
|
|
- **Status:** Not started
|
|
- **Effort:** 2-3 weeks
|
|
|
|
- [ ] **API-003:** Implement Certified Payroll API endpoints
|
|
- **Scope:** prevailing-wage calculations, report generation
|
|
- **Testing:** Extensive testing (legal compliance requirement)
|
|
- **Priority:** P1
|
|
- **Status:** Not started
|
|
- **Effort:** 1 week
|
|
|
|
- [ ] **API-004:** Implement Positive Pay API endpoints
|
|
- **Scope:** Bank file generation for CRD, SWI, VWP
|
|
- **Testing:** Validate against bank specs
|
|
- **Priority:** P1
|
|
- **Status:** Not started
|
|
- **Effort:** 1 week
|
|
|
|
### Web Client Scaffolding
|
|
|
|
- [ ] **WEB-001:** Authentication and security framework
|
|
- **Requirements:** User login, role-based access control
|
|
- **Integration:** Match VB6 `tblSECURITY` user/role model
|
|
- **Priority:** P1
|
|
- **Status:** Not started
|
|
- **Effort:** 1 week
|
|
|
|
- [ ] **WEB-002:** Base UI framework
|
|
- **Components:** Navigation, layout, theming
|
|
- **Design:** Responsive (desktop + mobile)
|
|
- **Priority:** P1
|
|
- **Status:** Not started
|
|
- **Effort:** 1 week
|
|
|
|
- [ ] **WEB-003:** Audit logging system
|
|
- **Purpose:** Track VB6 vs web client actions for debugging
|
|
- **Implementation:** `AuditLog` table with client type tracking
|
|
- **Priority:** P2
|
|
- **Status:** Not started
|
|
- **Effort:** 2-3 days
|
|
|
|
---
|
|
|
|
## Phase 3: Web Client Beta - Read-Only Modules (Month 2-3)
|
|
|
|
**Priority:** P2 (high value, zero risk - read-only)
|
|
|
|
### Beta Module 1: Project Dashboard
|
|
|
|
- [ ] **MOD-001:** Project list view
|
|
- **Data source:** `tblPROJECT`
|
|
- **Features:** Search, filter, sort
|
|
- **Beta users:** Project managers, office staff (3-5 people)
|
|
- **Priority:** P2
|
|
- **Status:** Not started
|
|
- **Effort:** 3-5 days
|
|
|
|
- [ ] **MOD-002:** Lot details view
|
|
- **Data source:** `tblLOTINFO`, `tblPLANS`, `tblCHANGE`
|
|
- **Features:** Lot status, plans, change orders
|
|
- **Priority:** P2
|
|
- **Status:** Not started
|
|
- **Effort:** 3-5 days
|
|
|
|
- [ ] **MOD-003:** Orders status view
|
|
- **Data source:** `tblORDERS`, `tblTAKE`
|
|
- **Features:** Order tracking, takeoff data
|
|
- **Priority:** P2
|
|
- **Status:** Not started
|
|
- **Effort:** 3-5 days
|
|
|
|
- [ ] **MOD-004:** Crew schedules view
|
|
- **Data source:** `tblCREW`, `tblHRDAILY`
|
|
- **Features:** Daily crew assignments, labor hours
|
|
- **Priority:** P2
|
|
- **Status:** Not started
|
|
- **Effort:** 3-5 days
|
|
|
|
### Beta Module 2: Reporting Portal
|
|
|
|
- [ ] **MOD-005:** Job cost reports
|
|
- **Data source:** `tblJOBCOST`
|
|
- **Replace:** Some of the 791 Crystal Reports
|
|
- **Priority:** P2
|
|
- **Status:** Not started
|
|
- **Effort:** 1 week
|
|
|
|
- [ ] **MOD-006:** AR/AP summary reports
|
|
- **Data source:** `tblARMASTER`, `tblAPMASTER`
|
|
- **Beta users:** Accounting, management
|
|
- **Priority:** P2
|
|
- **Status:** Not started
|
|
- **Effort:** 3-5 days
|
|
|
|
- [ ] **MOD-007:** Payroll reports
|
|
- **Data source:** `tblPAYROLL`, `tblPAYHEADER`
|
|
- **Features:** Period summaries, employee hours
|
|
- **Priority:** P2
|
|
- **Status:** Not started
|
|
- **Effort:** 3-5 days
|
|
|
|
---
|
|
|
|
## Phase 4: Web Client Beta - Light Data Entry (Month 3-4)
|
|
|
|
**Priority:** P2 (write capability, low-risk modules)
|
|
|
|
### Beta Module 3: Daily Labor/Crew Entry
|
|
|
|
- [ ] **MOD-008:** Daily hours entry (mobile-friendly)
|
|
- **Data source:** `tblHRDAILY`
|
|
- **Target users:** Crew foremen (5-10 people, field use)
|
|
- **Features:** Enter hours, update crew assignments
|
|
- **Device support:** Tablets, phones
|
|
- **Priority:** P2
|
|
- **Status:** Not started
|
|
- **Effort:** 1-2 weeks
|
|
|
|
- [ ] **MOD-009:** Crew assignment management
|
|
- **Data source:** `tblCREW`
|
|
- **Features:** Assign crews to projects/lots
|
|
- **Priority:** P2
|
|
- **Status:** Not started
|
|
- **Effort:** 3-5 days
|
|
|
|
### Beta Module 4: Inventory Lookups/Updates
|
|
|
|
- [ ] **MOD-010:** Inventory level view
|
|
- **Data source:** `tblINVTRY`, `tblINVPRICE`
|
|
- **Target users:** Yard workers, purchasers (3-5 people)
|
|
- **Priority:** P2
|
|
- **Status:** Not started
|
|
- **Effort:** 3-5 days
|
|
|
|
- [ ] **MOD-011:** Inventory adjustments
|
|
- **Features:** Simple quantity updates, notes
|
|
- **Priority:** P2
|
|
- **Status:** Not started
|
|
- **Effort:** 3-5 days
|
|
|
|
- [ ] **MOD-012:** Supplier lookups
|
|
- **Data source:** `tblSUPPLIER`, `tblContractor`
|
|
- **Priority:** P3
|
|
- **Status:** Not started
|
|
- **Effort:** 2-3 days
|
|
|
|
---
|
|
|
|
## Phase 5: Web Client - Complex Modules (Month 5-6)
|
|
|
|
**Priority:** P2 (complex business logic, needs thorough testing)
|
|
|
|
### Beta Module 5: Orders & Takeoffs
|
|
|
|
- [ ] **MOD-013:** Full order entry
|
|
- **Data source:** `tblORDERS`, `tblTAKE`, `tblMEASURE`
|
|
- **Target users:** Estimators (2-3 people initially)
|
|
- **Features:** Complete order workflow, takeoff calculations
|
|
- **Priority:** P2
|
|
- **Status:** Not started
|
|
- **Effort:** 2-3 weeks
|
|
|
|
- [ ] **MOD-014:** Material estimates
|
|
- **Business logic:** Port from VB6 calculation routines
|
|
- **Priority:** P2
|
|
- **Status:** Not started
|
|
- **Effort:** 1-2 weeks
|
|
|
|
- [ ] **MOD-015:** Takeoff viewer
|
|
- **Features:** View/edit takeoff measurements
|
|
- **Grid component:** Blazor FlexGrid or equivalent
|
|
- **Priority:** P2
|
|
- **Status:** Not started
|
|
- **Effort:** 1 week
|
|
|
|
### Additional Complex Modules
|
|
|
|
- [ ] **MOD-016:** Billing module
|
|
- **Data source:** `tblBilling`, `tblMANBILL`
|
|
- **Features:** Manual billing, billing status
|
|
- **Priority:** P2
|
|
- **Status:** Not started
|
|
- **Effort:** 1-2 weeks
|
|
|
|
- [ ] **MOD-017:** Purchase Orders
|
|
- **Data source:** `tblPOrder`, `tblPOMatrl`, `tblYardOrder`
|
|
- **Priority:** P2
|
|
- **Status:** Not started
|
|
- **Effort:** 1-2 weeks
|
|
|
|
- [ ] **MOD-018:** Scaffold management
|
|
- **Data source:** `tblScaffold`, `tblSC_Crew`, `tblScafPay`
|
|
- **Priority:** P3
|
|
- **Status:** Not started
|
|
- **Effort:** 1 week
|
|
|
|
---
|
|
|
|
## Phase 6: Critical Compliance Modules (Month 7-8)
|
|
|
|
**Priority:** P1 (CRITICAL - legal/fraud-prevention requirements, must be perfect)
|
|
|
|
### Certified Payroll
|
|
|
|
- [ ] **MOD-019:** Certified payroll generation
|
|
- **Data source:** `tblCERTIFIED`, `tblPAYROLL`, `tblPAYHEADER`
|
|
- **Requirements:** Prevailing-wage calculations, government compliance
|
|
- **Target users:** Payroll admin (1-2 people)
|
|
- **Testing:** Extensive validation, parallel VB6 comparison
|
|
- **Priority:** P1
|
|
- **Status:** Not started
|
|
- **Effort:** 2-3 weeks
|
|
|
|
- [ ] **MOD-020:** Certified payroll reporting
|
|
- **Format:** Government-required formats
|
|
- **Validation:** Legal compliance verification
|
|
- **Priority:** P1
|
|
- **Status:** Not started
|
|
- **Effort:** 1 week
|
|
|
|
### Positive Pay (Bank Fraud Prevention)
|
|
|
|
- [ ] **MOD-021:** Positive Pay file generation (CRD bank)
|
|
- **Data source:** `tblPosPayCRD`
|
|
- **Format:** Bank-specific file format
|
|
- **Testing:** Validate against bank specs
|
|
- **Priority:** P1
|
|
- **Status:** Not started
|
|
- **Effort:** 3-5 days
|
|
|
|
- [ ] **MOD-022:** Positive Pay file generation (SWI bank)
|
|
- **Data source:** `tblPosPaySWI`
|
|
- **Priority:** P1
|
|
- **Status:** Not started
|
|
- **Effort:** 3-5 days
|
|
|
|
- [ ] **MOD-023:** Positive Pay file generation (VWP bank)
|
|
- **Data source:** `tblPosPayVWP`
|
|
- **Priority:** P1
|
|
- **Status:** Not started
|
|
- **Effort:** 3-5 days
|
|
|
|
---
|
|
|
|
## Phase 7: Remaining Modules & Full Rollout (Month 8-9)
|
|
|
|
### Additional Modules
|
|
|
|
- [ ] **MOD-024:** AR/AP management
|
|
- **Data source:** `tblARMASTER`, `tblAPMASTER`, related tables
|
|
- **Priority:** P2
|
|
- **Status:** Not started
|
|
- **Effort:** 2 weeks
|
|
|
|
- [ ] **MOD-025:** Repairs tracking
|
|
- **Data source:** `tblREPAIR`, `tblRepList`
|
|
- **Priority:** P3
|
|
- **Status:** Not started
|
|
- **Effort:** 1 week
|
|
|
|
- [ ] **MOD-026:** Materials/finishes management
|
|
- **Modules:** Texture, Foam, Sand, BlackPaper
|
|
- **Priority:** P3
|
|
- **Status:** Not started
|
|
- **Effort:** 1 week
|
|
|
|
### Production Readiness
|
|
|
|
- [ ] **PROD-001:** Performance optimization
|
|
- **Scope:** Database indexes, query tuning, caching
|
|
- **Priority:** P2
|
|
- **Status:** Not started
|
|
- **Effort:** 1 week
|
|
|
|
- [ ] **PROD-002:** Security audit
|
|
- **Scope:** Authentication, authorization, data protection
|
|
- **Priority:** P1
|
|
- **Status:** Not started
|
|
- **Effort:** 3-5 days
|
|
|
|
- [ ] **PROD-003:** User training materials
|
|
- **Deliverables:** Videos, documentation, quick-start guides
|
|
- **Priority:** P2
|
|
- **Status:** Not started
|
|
- **Effort:** 1 week
|
|
|
|
- [ ] **PROD-004:** Full user training
|
|
- **Scope:** All users, all modules
|
|
- **Priority:** P2
|
|
- **Status:** Not started
|
|
- **Effort:** 2 weeks
|
|
|
|
- [ ] **PROD-005:** VB6 retirement
|
|
- **Prerequisites:** All modules proven in production, zero critical issues
|
|
- **Process:** Archive VB6, documentation handoff
|
|
- **Priority:** P2
|
|
- **Status:** Not started
|
|
|
|
---
|
|
|
|
## Technical Safeguards
|
|
|
|
### Concurrency Management
|
|
|
|
- [ ] **SAFE-001:** Row versioning implementation
|
|
- **Purpose:** Prevent VB6/web overwrite conflicts
|
|
- **Implementation:** `rowversion` columns on all tables
|
|
- **Priority:** P1
|
|
- **Status:** Not started
|
|
|
|
- [ ] **SAFE-002:** Optimistic concurrency checks
|
|
- **Implementation:** Timestamp checks before updates
|
|
- **Error handling:** User-friendly conflict resolution
|
|
- **Priority:** P1
|
|
- **Status:** Not started
|
|
|
|
- [ ] **SAFE-003:** Feature flags system
|
|
- **Purpose:** Enable/disable web modules independently
|
|
- **Use case:** Quick rollback if module has issues
|
|
- **Priority:** P2
|
|
- **Status:** Not started
|
|
|
|
### Monitoring & Metrics
|
|
|
|
- [ ] **MON-001:** Beta success metrics tracking
|
|
- **Metrics:**
|
|
- Adoption rate (% of target users using web)
|
|
- Error rate (errors per session)
|
|
- Concurrency conflicts (VB6/web collisions)
|
|
- Performance (response times)
|
|
- User satisfaction (surveys)
|
|
- Data integrity (corruption checks)
|
|
- **Expansion criteria:**
|
|
- Error rate < 1% per session
|
|
- Zero data integrity issues for 2 weeks
|
|
- 80%+ user satisfaction
|
|
- Concurrency conflicts < 0.1% of operations
|
|
- **Priority:** P2
|
|
- **Status:** Not started
|
|
|
|
---
|
|
|
|
## Research & Documentation
|
|
|
|
### Crystal Reports Migration
|
|
|
|
- [ ] **RESEARCH-001:** Inventory 791 Crystal Reports
|
|
- **Goal:** Determine which reports are actively used
|
|
- **Method:** Usage logging, user interviews
|
|
- **Priority:** P2
|
|
- **Status:** Not started
|
|
- **Effort:** 1 week
|
|
|
|
- [ ] **RESEARCH-002:** Crystal Reports migration strategy
|
|
- **Options:**
|
|
- Crystal Reports for Visual Studio (auto-converts)
|
|
- Modern reporting engine (SSRS, Power BI, custom)
|
|
- **Decision factors:** Complexity, licensing, maintenance
|
|
- **Priority:** P2
|
|
- **Status:** Not started
|
|
|
|
### OCX/Component Migration
|
|
|
|
- [ ] **RESEARCH-003:** True DBGrid → .NET grid migration
|
|
- **Target:** ComponentOne/MESCIUS FlexGrid
|
|
- **Migration utility:** True DBGrid Pro 8.0 migration tool
|
|
- **Priority:** P2
|
|
- **Status:** Not started
|
|
|
|
- [ ] **RESEARCH-004:** FarPoint Spread → .NET migration
|
|
- **Target:** Spread for WinForms
|
|
- **Conversion:** `.ss2` designs to XML via GrapeCity designer
|
|
- **Priority:** P2
|
|
- **Status:** Not started
|
|
|
|
---
|
|
|
|
## Known Risks & Mitigation
|
|
|
|
### Risk 1: Undocumented Business Rules
|
|
**Impact:** HIGH
|
|
**Probability:** MEDIUM
|
|
**Mitigation:**
|
|
- Extensive beta testing with experienced users
|
|
- Parallel VB6/web operation during transition
|
|
- Module-by-module rollout (easy rollback)
|
|
- Preserve VB6 source as reference
|
|
|
|
### Risk 2: Certified Payroll Compliance Failure
|
|
**Impact:** CRITICAL (legal/contract violations)
|
|
**Probability:** LOW (with proper testing)
|
|
**Mitigation:**
|
|
- Extensive testing with parallel VB6 comparison
|
|
- Legal/compliance review before deployment
|
|
- Keep VB6 as backup for payroll until proven
|
|
- Gradual rollout to single payroll admin first
|
|
|
|
### Risk 3: Positive Pay Bank Integration Failure
|
|
**Impact:** HIGH (fraud prevention failure)
|
|
**Probability:** LOW (well-defined bank specs)
|
|
**Mitigation:**
|
|
- Validate output files against bank specifications
|
|
- Test with banks before production use
|
|
- Keep VB6 as backup until confirmed working
|
|
- Monitor first production files closely
|
|
|
|
### Risk 4: Performance Issues with Web Client
|
|
**Impact:** MEDIUM (user adoption)
|
|
**Probability:** MEDIUM
|
|
**Mitigation:**
|
|
- Performance testing during development
|
|
- Database indexing and query optimization
|
|
- Caching strategies
|
|
- Monitor response times during beta
|
|
|
|
### Risk 5: User Resistance to Change
|
|
**Impact:** MEDIUM (adoption rate)
|
|
**Probability:** MEDIUM
|
|
**Mitigation:**
|
|
- Early beta user involvement
|
|
- Comprehensive training
|
|
- Module-by-module adoption (users can stay on VB6)
|
|
- Highlight mobile/web benefits (field access)
|
|
|
|
---
|
|
|
|
## Success Criteria
|
|
|
|
### Phase 1 Success (Database Migration)
|
|
- [x] VB6 running against SQL Server in production
|
|
- [x] Zero data integrity issues
|
|
- [x] Performance equal or better than Jet
|
|
- [x] 2GB limit eliminated
|
|
|
|
### Beta Phase Success (Per Module)
|
|
- [x] Target beta users actively using module
|
|
- [x] Error rate < 1% per session
|
|
- [x] Zero concurrency conflicts with VB6
|
|
- [x] User satisfaction > 80%
|
|
- [x] No data corruption
|
|
|
|
### Production Rollout Success
|
|
- [x] All modules available in web client
|
|
- [x] Certified Payroll legal compliance verified
|
|
- [x] Positive Pay bank integration confirmed
|
|
- [x] User training complete
|
|
- [x] VB6 retired, web client primary
|
|
|
|
---
|
|
|
|
## Timeline Summary
|
|
|
|
| Phase | Duration | Key Deliverables |
|
|
|---|---|---|
|
|
| **Phase 1:** Foundation & DB Migration | Month 1 | SQL Server production, VB6 adapted |
|
|
| **Phase 2:** Web Foundation & API | Month 2 | API layer, web scaffolding |
|
|
| **Phase 3:** Read-Only Beta | Month 2-3 | Dashboards, reports (beta users) |
|
|
| **Phase 4:** Light Data Entry Beta | Month 3-4 | Labor entry, inventory (beta users) |
|
|
| **Phase 5:** Complex Modules | Month 5-6 | Orders, billing, purchasing |
|
|
| **Phase 6:** Critical Compliance | Month 7-8 | Certified Payroll, Positive Pay |
|
|
| **Phase 7:** Full Rollout | Month 8-9 | Training, VB6 retirement |
|
|
|
|
**Total Timeline:** 8-9 months from project start to VB6 retirement
|
|
|
|
---
|
|
|
|
## Notes
|
|
|
|
- **This is a living document** - update as features ship or requirements change
|
|
- **Checkboxes** track implementation status: [ ] planned, [~] in progress, [x] completed
|
|
- **Priority levels** guide sprint planning: P1 critical/blocking, P2 important, P3 nice-to-have
|
|
- **Effort estimates** are approximate; adjust based on actual experience
|
|
- **Dependencies** are noted in "Blocking" fields - resolve blockers first
|
|
|
|
---
|
|
|
|
**Last Updated:** 2026-06-14
|
|
**Status:** Initial roadmap created, planning phase
|
|
**Next Review:** After Phase 1 completion
|