Problem
GTBank’s workflow platform was on ProcessMaker 2, which was reaching end of vendor support. Migrating to ProcessMaker 3 was non-negotiable, but the platform underpinned 65+ business workflows across approvals, compliance checks, finance, legal, and operations, touching 500+ daily users. Any disruption would ripple through every department.
PM2 and PM3 are different products under the same brand: different runtime (Symfony vs older PHP), different APIs, different BPMN engine. There was no automated migration path. Every workflow had to be rebuilt.
Approach
Rebuilt every workflow in PM3 from scratch, in parallel with PM2 staying live until cutover.
- BPMN-first redesign. Modelled every workflow in BPMN before implementation, capturing the actual business logic rather than the PM2 quirks. Many workflows had accumulated workarounds for PM2 limitations that PM3 made unnecessary.
- PHP/JavaScript implementation. Workflow logic, validations, and integrations rebuilt in PM3’s PHP/JS environment. REST API integrations connected to other bank systems where PM2 had used direct DB calls.
- Performance optimisation. Caught and fixed performance bottlenecks during the rebuild (PM2 had been slow; users had learned to wait). Cleaned-up workflows ran 40% faster.
- Manual-step reduction. Every workflow was reviewed for opportunities to automate steps that PM2 had required to be manual. Cut manual intervention across the workflow portfolio by 30%.
- Phased cutover. Migrated workflows in waves by department, with PM2 and PM3 running in parallel for two weeks per wave. Rollback was always one config flip away.
- User training. Delivered training materials that cut onboarding time by 50% (users came to the migrated workflow already knowing how to use it).
Results
- 500+ users migrated across the bank without operational disruption
- 65+ workflows rebuilt and delivered
- +40% performance on average workflow runtime
- −30% manual intervention across the workflow portfolio
- −50% user onboarding time thanks to training materials prepared in advance
Reflections
- “Like-for-like migration” is usually the wrong frame for major platform jumps. PM2 workflows had accumulated workarounds that disappeared in PM3. Rebuilding from BPMN beat translating PM2 PHP.
- Phased cutover with parallel running is non-negotiable for systems with hundreds of users. The two-week parallel window per wave caught a few edge cases that didn’t surface in testing.
- Pre-launch user training materials are worth their weight. The 50% reduction in onboarding time wasn’t from making PM3 simpler. It was from users arriving prepared.