In my opinion, there is a lot similar between "making" something and running a game. The tools and results may be different, but at the end of the day you are making a creative work, and doing it on a deadline too. Which means the same order of operations can work for creating a session. Let's break down what that could mean.
At present I run two games. The games run on opposite Fridays. That means I have two weeks between every session, but there is also another game to run between any two sessions of one game. Ultimately this means I have to prepare for two sessions every two weeks, or one session a week.
This is more time than I've had in the past for individual sessions, but depending on how busy/hectic life is it can feel more or less cramped. Still, a week is a week, and deadlines can be tools to help us. So keep how long you have in mind.
First We Make A List
When approaching the game session we are preparing, lets first get our thoughts down. Make a list of everything you think you need to do or want to do in the next session. Don't worry about organizing it all yet, just get it down. This can be a good place to review notes from last session to see where you are.
Once you have the list down, go through it again and try to organize it into broader categories. You can use whatever categories you like but I find it easier to think in the groups I know I'm going to need some of every session. For me currently those broad categories look like:
- Plot Threads
Prioritization For Creation - The Must/Should/Could Enters
Once we have our list of things we want to make, the next thing is to prioritize what needs to be done first. I recommend first applying the "Must/Should/Could" filter I talked about before. You want to know what things you absolutely need for next session, what things you should have for the next session, and what things you only maybe need or are just dressing.
On top of this filter, I'd recommend finding the hardest and most time consuming thing from the 'must' and giving it top priority. For me in D&D 5e this is generally encounter building. For you maybe it is setting up NPCs or other plot threads. The point is to get the hard stuff out of the way first, so that the closer you get to session the quicker and easier it is to bang tasks off the to do list making you feel good and more excited for your own game.
Then We Make
With your session laid out in a list, and prioritized for what needs to be done when, it's time to get cracking on things. Give the work the time it needs. Don't rush through the list, but make sure you're not only happy with what you make but that you think it'll be fun for the players - or at least contribute to the experience for them.
Check things off as you finish them. Build your session prep document. And try to have a good time.
Don't Be Afraid To Ask For Help
Finally, don't ever be afraid to ask for help. You can ask other GMs, you can ask your players, and you can ask the internet (which is like asking other GMs and Players you don't know and who don't know their game.)
If you're fortunate enough to have a big group of players in your friends' group, including other GMs who aren't in your game, you can always talk to them about your game. Ask for ideas. Ask for feedback. Ask for consideration of things you have done or are thinking of doing. An extra perspective can really help. Most people I know who are GMs enjoy engaging in this sort of talk, or helping give the little twist to help a good session turn great.
Flat out you can't ask your players about the specifics of your game - at least not as a group. You can talk to an individual player about how their personal plot is going to go, about how you need them to interact with something for the benefit of the other players. Or you can just talk to the players in broad terms. "What do you think is going on?" "What type of encounters would you like to have going forward?" "What would make this adventure more fun for you?" are all valid questions, and asking your players gives them an opportunity to tell you what they want out of your game.
I'm not going to lie, I've modified more than one plot on the fly because the players' idea for what was going on was both a lot cooler, and made a lot more sense than what I had going on.
Ask The Internet
The internet has a ton of resources for GMs and players to get help. This blog is one of them. Reddit has subreddits for almost every game out there. There are other community hubs as well. Almost all of them have a GM section to talk about games. Use them.
Just keep in mind the advice other GMs give are going to be based on their personal experiences, and their play groups. Neither of which will hold 100% true for your game. Always scrutinize advice you get online to make sure it will work for your play group. Someone online may recommend a sudden and vicious betrayal from a beloved ally to keep things moving, and to do it without warning. That works for their group. Meanwhile your group may be damaged by it, feeling that all their work into securing that ally was for nothing because they got betrayed and lost the friend/thing they'd been working towards and investing into.
Remember, that none of us are as creative as all of us. Help is out there. Get some if you need it. Even if it is just for a fun new way to twist the same old "Caravan is being ambushed" encounter.