I think you can sum this up to: make your concept into a prototype as early as possible.
None of the mechanics matter if the core interactions are not fun, and prototyping the core is usually very simple.
Then, test the prototype, have others test it, see if there's value, depth. Can this game evolve to something larger? etc.
Most times, if a game is fun even before there's a visual theme to it, and that you can picture various ways to go (questions like: could I add this? would it work?), you probably have a solid core.
Then, test every new inclusion to see whether they add or remove to the game.
One key concept I feel is design space: there's only so much you can teach your player, so always measure each increment to your game concept against this. If a concept brings 'a little fun' but takes too much attention/brain space from your user, then it's likely not worth adding.
How do you measure what are 'a little fun', 'some fun' and 'this is so fun' ideas?
A LITTLE FUN: The person acknowledges what you did, akin to saying 'I see what you did there'. Could be a a trick to a pre-established mechanic used differently in game. Whatever the reason, the player recognizes how you broke the pattern and challenged them. They feel better about themselves for figuring it out, but likely won't mention it aside from in the heat of the moment (this is why you want to be there during the playtest session).
SOME FUN: The person interacts with this, and given the choice, they are naturally drawn to it. For example, if you let the user choose between two mode of transportations to the next objective and they can either pick up the static elevator, or interact with the staircases, quantitative evidence may lend a hand. Though elevators tend to be more boring, it could be that users prefer them over staircases because of how clunky your staircase segments are (bad camera turns, or other) and that they feel like too much effort with no payday. Or it could be because you actually make the elevator sequence more interesting (window to the outside world where they can see the previous level they've just beaten and can recognize landmarks they've experienced in a recent past). It could even be because of the buildup (preparing for any encounter that will happen once the doors open, getting ready by reloading guns, swapping gear, and placing the character in the most optimized position, anticipating what lurks on the next floor).
Whatever the reason, the 'Some Fun' elements tend to be identified through quantitative feedback.
THIS IS SO FUN: That's the story that sticks with your users. That's what they'll give the most feedback on, and the reason why they keep playing. Likely, if they ask you 'when is this game completed?' etc. it is worth asking them what they like, and the 'This is so fun' ideas are the ones that will spill out. Consider them as user stories, its not the feature or the level or the content or the tweaking: it's all of them, and how they interacted with one another in the particular instance they've mentioned. Break it down, try to see what's different about these specific moments, you'll learn something about your own game.
Obviously, this is so fun moments are better, but in many cases will require a lot more effort and brain space, so it's good to keep in mind the other fun moments and identify those that are simple enough to make the cut.
Making a MVP (Minimum Viable Product) for a game is a very difficult task and requires experience more than any specific skillset, and it is a fulltime job for some of us. Hopefully these help you a bit!