It's one thing to think about a feature but it's another thing to actually test it. That's why it never hurts to make a proof of concept for features you'd like your project to have. That being said, it's best to not spend too much time on them and to only make them for key features. The point of a proof of concept is to test if it works well so you can save you time later down the road.
No first design is perfect, that's why you make a bunch of them and pick the best one. The best tool for this is still good old fashioned pencil and paper. This way you don't grow attached to any design you make and you can still easily showcase your designs to other people for feedback.
To correctly gauge what standards an application must abide by you first have to do research in your target audience. One of the best ways of doing this is directly addressing the source. A well thought out interview can supply you with new perspectives and solutions to problems, moreover it allows you to validate any of your previous work on the project.
One particularly interesting piece of research I did was a piece on what makes people uninstall apps on their phone. Originally this research was for the proftaak project since we needed to make an app that raises phone usage awareness for the user. One of the biggest hurdles in making this app was that our app shouldn't be annoying or negative enough to make the user want to uninstall it. In the research I found out there are a lot of different triggers for users that make them want to remove an app from their phone. From this, I compiled a list of do's and don'ts so we might make an app that people would want to keep.
We were able to use this research during the development of our app. We mostly made sure the boarding experience wasn't too long or unclear. We made the UI to the point and obvious. We also made sure not to have the user make any unnecessary accounts to use the app, we settled on only the Fontys account in our concept because our target audience all already have one.