It is much easier to talk about DevOps in companies in which their products are online but in companies in which most applications, if not all, run in the customer side and we don’t have access to them is very challenging.
One of the most important values of DevOps is to have a “Ops Ready” application. A “Ops Ready” application means that Operation team should be able to detect problems in it easily.
A “Ops Ready” application has a good way to be monitored after deployment so you can anticipate problems and avoid hearing from customers. A very good way is to have some kind of heartbeat in all system components which sends information about the system and the machine it is running on. In the end, you should figure a problem out instead of being told about it.
Although a very good idea, it is very hard (or impossible) to have this kind of heartbeat system when the application normally runs offline. It is harder but we still need to have some way to track the problems down.
The solution for this problem depends on the type of application you are working on but you should create some kind of offline monitoring mechanism and have this data stored somewhere and maybe sent to you once a connection is available. Supporting an application if this kind of mechanism is much easier.
You should take privacy into account but this is a subject for a different post.