Reliability stands for keeping quality and performance standards high, which translates into the ability to be trusted.
Assume your release manager is collaborating with a subcontractor on some big product launch. They are both using their own issue trackers to follow up on the project. Both trackers are synchronising issues to exchange status information on the different topics that need to be completed. Your users are trusting the system to copy all information in a timely manner, whatever happens.
Just imagine the backlash against the solution and how the project schedules can be affected, in case a critical piece of information is missing.
The fact is that synchronisation is especially sensitive to any type of error such as network downtimes, badly configured firewalls, mapping mismatches, permissions settings configuration changes - the list could go on and on. The synchronisation will be halted while your network administrator is investigating why the connection between the two sites is down. The perceived reliability of the solution will seriously be affected during these times and the user has no clue what's going on.
How to fix it?
First of all, you need to make sure that your system administrators are aware there is a synchronization problem that needs to be resolved. Also, your users have to know that the problem is getting fixed and their data is in good hands. Otherwise, they might be afraid that all information has been affected.
Do you want your users to call their counterparts and find out that some issue information is missing? You certainly don't, right? If this happens, your issue synchronization solution will be perceived as unreliable and untrustworthy. For this reason alone, any synchronisation should be equipped with a method that informs the user about all issues' being up-to-date.
Questions to ask:
Is the synchronization status shown in a clear and straightforward way?
Is the remote issue easily accessible?
What happens when the remote issue gets deleted?
Solution provided by Exalate
Exalate provides a visual clue to the user in the context of an issue.
This is what the user will see, in case everything is all right:
Ongoing synchronization (with systems exchanging information):
When an error appears: