I've done about 20 game jams now of varying lengths, this is a list of things I try to keep in mind:
- As others have mentioned, keep the scope manageable. What kind of game are you trying to make? Now, what's the simplest possible way to make that game? How much can you cut the scope before you even begin writing any code? With this in mind, try to come up with a plan and priority list that would leave you with a finished game about 70 to 80% of the way through the jam. That way when you over scope anyways you'll have a bit of extra time to finish everything.
- Determine what your minimum viable product is, make it, then export and upload it immediately. Then you'll at least have something submitted and you won't be scrambling at the end of the jam to upload while dealing with server issues too. Plus, you'll have something for people to playtest and give feedback on well before voting starts, which should help you determine what to focus on with the remaining time.
- Don't burn yourself out. It's very easy to spend 12+ hours a day, as many days as you can, working on your game (or even a single aspect of your game). Don't do this, take breaks, factor it into your scope and plan. And if you're really pressed for time, rotate between different aspects like code, design, art, sound, etc. so you don't exhaust yourself by staring at an IDE or art software for hours without a break. As an example, a couple days into this jam I realized I was spending way too much time on code and decided to switch to making some of the assets despite not having a fully playable prototype yet. In any other context this would be a poor use of time since assets aren't as important as functioning systems, but I was able to work faster overall as a result and probably wouldn't have finished had I not done that.