I've worked as Scrum Master across compliance-driven mortgage ETL systems — environments where unplanned work, cross-team dependencies, and conflicting strategic priorities are the norm, not the exception.
My approach is diagnostic first. I look at delivery patterns, find where the system is leaking predictability, and design fixes that outlast my involvement. The two case studies in this portfolio show exactly how that works in practice.
How a capacity buffer and a weekly cross-team sync reduced spillovers by 70–80% within two sprints
A mortgage domain ETL platform built on Snowflake and SQL. Three teams in the ecosystem: Backend (ETL/DB), Frontend (Portal), and Visualisation (Spotfire). Work was a mix of stable planned features and frequent client-driven reporting changes.
The Spotfire team consumed outputs from the ETL/DB team for downstream reporting. When Spotfire needed something urgently, they requested it directly — bypassing the sprint process entirely and landing inside an already-committed sprint.
"Unplanned work is not always avoidable. Unmanaged dependencies are."
The combination of a short-term buffer (control the symptom immediately) and a long-term visibility mechanism (fix the root cause structurally) is a pattern I apply consistently. One without the other fails: a buffer alone becomes a crutch; a sync alone doesn't help if the team is already drowning when you install it. The sequence matters.
How structuring parallel workstreams and cross-skilling a developer enabled Azure migration to proceed without dropping stakeholder commitments
The mortgage platform was transitioning from VM-based infrastructure to Azure. This was a PO-driven strategic priority — cost reduction and technical debt elimination. It required sequenced, focused development work over approximately two months.
Stakeholders had accumulated requests for portal UI improvements. This work was non-linear and exploratory — R&D-heavy, not easily sprint-plannable, and dependent on the one senior developer who was also the primary migration resource.
"Conflicting priorities are often a capacity problem wearing a prioritisation disguise."
The instinct when two priorities conflict is to force a ranking. But ranking doesn't create capacity — it just defers one problem while solving another. The real question is: can the execution model be designed so both can proceed? Here, the answer was yes — by matching resource allocation to work type, cross-skilling deliberately, and treating exploratory UI work differently from sequenced migration work. The system was redesigned, not just reprioritised.