There seems to be belief among software developers nowadays that providing instructions indicates a failure of design. It isn’t. Providing instructions is a recognition that your users have different backgrounds and different ways of thinking. A feature that’s immediately obvious to User A may be puzzling to User B, and not because User B is an idiot.
You should aim to design your app such that users won’t have to refer to documentation. That should be your goal. But unless you’re creating a single-button fart app, it’s important to recognize that this is not an achievable goal, it’s an aspirational goal.
Design your app such that users won’t have to visit the documentation, but create documentation anyway for when some of them inevitably will have to.
If you require a short url to link to this article, please use http://ignco.de/594