Just a list of some of the little things, which often delay integration projects:
1. Integrator doesn't have any test cases on any data to execute tests on. Customer doesn't care to provide required information to integrator.
2. Integrator says that they're working on this project only on fridays, or their key personnels are on vacation.
3. Integrator notices serious internal problems with their own product and finding and fixing the problem takes arbitrary amount of time.
4. Customer requires that some parts of the integration are done in very specific way, which isn't supported by standard products. This leads to situation where support for these things has to be added by all parties.
5. Integrator says that it's impossible to get something done like it's specified. Then the customer tells the integrator that it has to be done anyway. Integrator says it's impossible, but after having external consult view the problem, integraator suddenly says that now it's possible. How things that were impossible can suddenly become possible? That's shomething what is very strage. Again time is lost and no progress is made during these fruitless negotiations.
6. Project management has agreed that thing X will be done, but everybody's ignoring the fact. But in the final testing before going live or even in some cases after that, then there's the questioning hanging around how X can be done. Nobody got the answer, because everybody has been ignoring the fact that nobody's doing anything about it.