Experimental decoupling is a deliberately rough extraction attempt used to discover how difficult a code area will be to migrate. It prioritizes learning over safe delivery: engineers may try several approaches, tolerate compiler errors, and work without small steps or unit tests. section 12.4.3
A practical experiment can involve:
- Choosing a concept believed to be a candidate for a separate microservice. section 12.4.3
- Deleting the concept from the codebase and following the resulting compiler errors. section 12.4.3
- Introducing an interface that could later replace local implementation calls with API calls. section 12.4.3
- Using the failed or chaotic attempt to replace optimistic assumptions with a realistic view of complexity. section 12.4.3
Testing the creatives boundary
An engineer working in a legacy monolith attempted to extract creatives as a microservice. After a week of deleting code, repairing compiler errors, and exploring an interface boundary, the experiment revealed substantial coupling between the code and database. section 12.4.3
