The sprint failed with green CI and merged PRs
Mobile and backend each shipped on time. Integration broke on a field rename nobody had agreed on.
Reviews were polite. The contract between teams was not written down.
Two squads, one integration
I was leading a delivery push across two squads. Everyone was coding. Standups sounded healthy.
The gap was shared definition of done for the API surface.
Done meant different things
We treated integration as a late surprise. Tickets assumed the other team had already chosen names, error shapes, and ownership.
I was reviewing code well. I was not making success visible early enough.
Clarity before the sprint
Leadership is clarity under pressure. Define the contract, the owner, and the demo path before the sprint starts.
Mentorship and review matter. They do not replace a one-page note everyone can point to.
Contract on the epic
API owner: backend squad
Contract: OpenAPI PR #214 merged before mobile starts
Demo: staging user can complete flow end to end
Done: both clients use the same error codesThat note took ten minutes. It prevented another week of drift.
Make success visible early
A lead is judged on team output. Make the path visible early so coding time actually lands.