A retailer's checkout monolith is being split into services ahead of go-live, and the team wants to avoid poor service boundaries. What should it validate before finalising the split?
Select an answer to reveal the explanation.
Short Explanation
You need to validate candidate boundaries against the code's structure, the data it owns, the transactions that must stay atomic, and the surrounding business context together. A boundary that ignores any one of those can still break under real load or real change.
Full Explanation
The correct choice is validating candidate boundaries against the code's structure, the data it owns, the transactions that must stay atomic, and the surrounding business context together. A boundary that respects code cohesion but splits a transaction, or that respects data ownership but ignores how the business actually groups work, tends to fail once it meets real load and real change requests, so all four dimensions have to be checked together. The screen-order choice is incorrect because screen order reflects how a program was presented decades ago, not how its logic or data are structured. The database-table-frequency choice is incorrect because table access frequency is one signal among several and can point to the wrong boundary on its own. The deployable-artefact-count choice is incorrect because fewer artefacts is not the goal; a boundary that is easy to deploy but incoherent still causes problems later. For the exam, treat boundary validation as multi-dimensional, not a single metric.