Upgrade in steps, not leaps.
We begin by making the system safe to change: getting it into version control, creating a staging environment and adding tests around the behaviour that matters. Only then do we upgrade and refactor.
Each stage is releasable on its own, so the business sees benefits early and the risk of any single change stays small.
- Version control and staging first
- Tests before refactoring
- Small, releasable improvements
- Unsupported PHP version
- No automated tests
- Manual FTP deployments
- Rules in one person’s head
- Current, supported PHP
- Tests around key rules
- Automated deployment
- Documented system