I was presented with the question should the mobile app use coach marks or not? It's not a very difficult app, and I think users don't have a lot of problems using it. But do users value the little helpers? and does it always help?
It's a more important good practice to do user tests. Have random users (who have never seen or used your app before) use your app while you watch. THe goal is to see how intuitive it is to random users (note the s, one test isn't enough,
30 5 is ideal). The goal of any interface is to be very intuitive. Doing this may help you see how you can improve the interface to be more intuitive without coach marks. If after several revisions it still isn't intuitive for a user then coach marks will suffice, although they feel more like a band-aid and not a solution.
Intuitive interfaces tend to stem from what a user has previously seen and used (behavioral). If you are doing something different, ask yourself if you need to or if you can go back to something standard (like a hamburger icon representing a menu).
If you do find that you need coach marks, then best practice is to let the user decide if they want it or not. Usually this is done with a screen that says something along the lines of "Take a quick tour to get the most out of this app" With a button for "Continue", "Start", or "Next" and a button for "Skip" or "Maybe Later" (in which case you need a way for them to get back into the tour from the menu or settings).
To summarize: Best practice is to have an intuitive interface that does not need coach marks. But if coach marks are necessary, the best practice is to allow the user to skip them. If you are using coach marks, the best practice is to show them one by one (in steps) as to not overwhelm the user all at once.
There can be a right time and place for using coach marks, but you should aim to design in such a way that they are not needed, and necessary actions/flow are obvious to your users.
The Nelson Norman Group has a lot of great points to make about this.
Because users cannot read the hint overlay and use the app at the same time, they are forced to memorize the instructions and then apply them.
This is why chaining tips is an extremely bad practice common among tutorials, wizards, etc.
It also means that unless users are going to use the feature you are providing the coach mark for when it's being presented then you are relying on them remembering it for later which isn't ideal. In this case, you are also interrupting their use flow.
In short, I would say that unless you are presenting some type of novel interaction that users may not have experienced before there isn't really a need to use coach marks.
When you say, "I think users don't have a lot of problems using it." you are making a dangerous assumption unless backed by user testing. It is important to remember that we as designers are expert users, and it is easy to get "too close" to a product. When we do it can be hard to think about what the experience might be like for a first time user from a different background than us.
As Rogue-OP pointed out user testing is an incredible resource when creating designing an application/website. I would, however, suggest that you could use a few smaller batches of user tests with ~5 users and then iterate on the findings of each and achieve similar results.
Processing the results from 30+ users can be a daunting task to say the least. NN Group also suggests that running a larger amount of small tests will get you the best "bang for your buck."
I hope some of this can help!