Integration
Why System Integration Projects Stall, and How to Plan Them
The recurring reasons integration projects slip, from unclear data ownership to undocumented legacy APIs, plus a planning checklist to use before you start.
Integration
The recurring reasons integration projects slip, from unclear data ownership to undocumented legacy APIs, plus a planning checklist to use before you start.
Integration projects rarely stall because connecting two systems is technically hard. They stall because of questions nobody answered before the work began: which system holds the correct version of a record, what the old system actually does, and what should happen when a message fails. Each is cheap to settle during planning and expensive to discover in the middle of testing.
Consider a company where customer records exist in the CRM, the ERP and the billing system. Each has a slightly different address, and each team trusts its own. The moment you connect these systems, you must decide which one wins when they disagree. That decision belongs to the business, yet it often lands on a developer who finds the conflict while writing the synchronization logic.
For every data entity that crosses a system boundary, agree on:
Two-way synchronization of the same field is where much of the pain originates. Avoid it unless there is a strong reason, and where you cannot avoid it, define explicit conflict rules.
Expect the definitions themselves to differ as well. “Customer” may mean a legal entity in finance and a branch contact in sales. Reconciling these meanings is business work that comes before the technical work.
Older systems often have interfaces that were built for one purpose years ago by people who have since left. Documentation is missing or out of date, and fields carry meanings that drifted over time. Some systems have no API at all and can only be reached through database access or file exports.
The practical response is a discovery phase before any estimate is treated as firm:
An estimate produced before anyone has seen real responses from the legacy system is a guess. Budget discovery separately and revise the plan based on what it finds.
The first integration is usually a direct link between two systems, which is reasonable. Trouble comes with the fifth and the tenth. Each new link is built slightly differently, with its own data mapping and its own way of failing. Changing one system then means examining every connection that touches it.
Not every organization needs a full integration platform, but each should make a deliberate choice once the number of connected systems starts to grow:
| Approach | Suits | Watch for |
|---|---|---|
| Direct point-to-point links | Two or three systems, stable requirements | Hidden dependencies as links multiply |
| Central integration layer | Many systems, shared data such as customers and products | Needs an owner and consistent standards |
| Event-based messaging | Many consumers reacting to the same changes | More demanding to monitor and debug |
Whichever approach you choose, keep a current inventory of every integration: what it connects, what data it moves, how often, and who is responsible for it.
Demonstrations show the path where everything works. Production brings timeouts, expired credentials, duplicate messages, records rejected by validation, and target systems that are down for maintenance. If the design does not account for these, failures happen silently and are discovered days later when someone notices that orders are missing.
Design the failure paths at the same time as the success paths:
Decide also who acts on the alerts. An integration with no operational owner degrades quietly.
Integrations that pass every test with clean sample data commonly fail on real data. Real records contain Arabic names in fields designed for Latin characters, phone numbers in several formats, dates in both Hijri and Gregorian calendars, mandatory fields left blank, and legacy records created under rules that no longer apply.
Plan testing as a major share of the project, not as a final step:
Before committing to a timeline, confirm that you can answer the following:
Unanswered items are the discovery work, and they belong at the start of the plan.
Settle data ownership with the business before development starts. Budget a discovery phase for every legacy system. Design for failure from the first day, and give testing with real data the time it needs.
You can read more about how we approach integration work under services, and if you are planning a project and want to review it with someone, the Tiqania team is available here.
A practical framework for operations and IT leaders deciding between custom software and off-the-shelf products: cost, fit, integration and data ownership.
Practical criteria for picking your first AI automation candidates: volume, rule clarity, cost of error, data, human review, and how to run a narrow pilot.
Tell us what you want to build or improve. We will come back with a clear view of the next step.