The main task of a game designer is to find simple solutions. We’re all @#$%%% fantasists, and can generate a huge number of stories about “korovany” (russian gamedev meme), and so on. The point is to generate solutions that dramatically change (improve) the gameplay and at the same time, that they were as easy to implement.
Typically, newcomers start with the worst, most difficult solution… It’s also the most obvious. Well, as you get more experience you start to use your head and think over the variants starting from the most minimalistic (“simple” hehe) ones. They are very hard to get to, actually… )
And the main problem is the deadline. Even working on a non-commercial open source project I’m relying on it. When the server is down and I need to make a hotfix – players sit and wait. I need to implement the feature as quickly as possible so the server doesn’t get idle… This is where you have to fight the desire to immediately start eating the elephant in its entirety.