The upgrade had slipped two terms. The real blocker was not Banner 9 — it was a decade of customizations and direct-database integrations nobody was willing to own. Here is how the program was restarted and finished.

Anonymized engagement profile. The work described was led by our principals; the institution is not named and figures are stated as ranges so nothing identifying is disclosed.
The institution had been mid-upgrade for two years. Admin Pages were live for some offices, Self-Service 8 was still in production for students, and each attempted cutover date was abandoned in the weeks before a registration window.
Diagnosis took two weeks and produced an uncomfortable answer: the upgrade was not the problem. The estate carried more than a hundred local modifications — baseline form modifications, custom PL/SQL packages fired from triggers, reporting jobs reading Banner tables directly, and a handful of integrations built by staff who had since left. Every regression test failure traced back to one of them, and no one had authority to retire any of it.
Leadership had also signed a letter of intent for Ellucian SaaS. That made the situation worse in the short term and better in the long term: the same customizations blocking the upgrade would hard-block the SaaS move, so the work could finally be funded as one program instead of two.
Every modification, job and interface was catalogued with an owner, a business reason and a SaaS verdict: retire, replace with configuration, replace with an Ethos/REST integration, or carry as an approved extension. Items with no identifiable owner were retired by default after a published grace period — that single rule removed roughly a third of the backlog.
A refreshable clone, seeded scripted scenarios across admissions, registration, financial aid and billing, and a regression pack each office signed off on. The program stopped arguing about whether something was broken and started measuring it.
Retirements and integration replacements were sequenced into the gaps between registration, census and aid disbursement windows. Nothing structural landed inside a term-critical period, which is why no date slipped after the reset.
Self-Service 9 conversion finished office by office with paired institutional staff, then two full dress rehearsals with timed runbooks, rollback criteria and a named decision-maker per functional area.
Documentation, runbooks and the customization register were handed to institutional owners. The principal stayed through the first full registration cycle after go-live rather than closing at cutover.
After the reset, no cutover date moved. The remaining Self-Service 8 footprint was retired and the estate ran on Banner 9 end to end.
Most catalogued customizations were removed, converted to configuration, or re-implemented as supported integrations. What remained was documented and deliberately owned.
Reporting and adjacent systems moved to governed interfaces, removing the single largest structural blocker to the SaaS migration.
A signed-off regression pack and refreshable test bed turned patch and release cycles into scheduled work rather than escalations.
Functional leads had documented procedures and had executed them in rehearsal, so support demand after go-live sat with the institution, not the consultancy.
The phased playbook this engagement followed — readiness, sequencing, cutover, stabilization.
Process, data, integration, reporting and governance issues to resolve first.
If an upgrade keeps slipping or a SaaS date looks unrealistic, bring the specifics. You will speak with the person who would lead the work.