Delivering incrementally: lessons about breaking up complex features
summary
Claim: break multi-service features by carving a thin, end-to-end slice (the “no sandwiches” case) and shipping real interface code, contract tests and a failing UI acceptance test so teams work in parallel. Uses Swift unit tests against a local mock service, records a contract file (broker optional), provider unit tests that set provider state, and mob programming for the initial interface PR merged to main. Result: fast integration feedback (from months to days), fewer merge conflicts, independently testable and deployable layers. interface-driven development consumer-driven contracts mob programming
AI-written summary · about
chapters (12)
- 0:00Introduction and background
- 3:11Breaking down large features
- 7:23Organizational challenges
- 10:12Frontend implementation breakdown
- 13:40Interface driven development
- 23:52Benefits of interface driven development
- 24:34Consumer driven contracts explained
- 31:42Parallel development across platforms
- 38:01End-to-end testing approach
- 40:08Design and feedback loops
- 43:08Adoption and training challenges
- 46:41Communication with business and product
related talks
39mModularization techniques from monolithic to multi-packages app
01h 00mMicroservices and the Inverse Conway Manoeuvre
42mSplitting Monolithic Swift Code Base Into Modules
37mGrowing a Joyful Codebase from Legacy Code
58mMicroservices and the Inverse Conway Manoeuvre
28mMind the gap: closing the rift between front and back
47mMicroservices and the Inverse Conway Manoeuvre
48mEating an Elephant: Conquering big projects one bite at a time.
