Anonymised case. Based on a real architectural dilemma with identifying details removed. This describes a decision risk; it does not claim an unverified failure or outcome.
Situation
A large project introduces a new back-office system on a tight schedule. The team chooses a familiar integration: one system prepares a file, an intermediary processes it, and another imports the data. Architects review the direction after it has been chosen. They see a short-term benefit in reusing a known flow and a long-term cost in inheriting the old contract's constraints.
Where the anti-pattern appears
Files and batches are not inherently wrong. The problem starts when a launch-time compromise is presented as the final design without an explicit decision about data lag, failures, contract ownership and a path out.
“We will change it someday” is not a migration plan. A late architecture review must distinguish an assessment of an existing decision's risk from unconditional endorsement.
Questions that expose the risk
- Who owns the format and its versioning rules?
- How are a missing file, duplicate, retry and partial import detected and handled?
- Do consumers depend on internal export structure instead of a stable business contract?
- Who owns migration, what triggers it and when is the decision reviewed?
These are review questions, not claims that every issue occurred in the source project.
Make the trade-off explicit
- Call the solution temporary if that is its role. Record the reason and the cost of deviating from the intended direction.
- Specify the data contract, frequency, acceptable lag, completeness checks, retries, idempotency and failure ownership.
- Compare options against actual needs. An API or events are not automatically better; freshness, scale, resilience and change cost matter.
- Give the migration plan an owner, triggers, backlog, compatibility tests and a review date.
- Separate the architecture opinion from the project's decision to accept a deadline and its risk.
Rule to remember
A time-bound compromise needs boundaries, an owner and exit conditions. Without them, the interim design can become permanent debt.
Discuss this article
Share a constructive observation or an anonymised example. Comments are checked by AI before publication. Uncertain cases go to the moderator.