For the game I'm making I first made a list of what I should add and when. I must of had around 40-50 things on the list, and simply added one at a time.
I haven't tried to make a game with a story line, but here's how i think the general process should be in making the game:
If the game is going to have a story, I'd recommend making the story or at least be able to sum it up in a couple paragraphs.
Next I'd recomend making a visual level editor for whatever your game needs(the level, the position of enemies, whatever) and then give it save and load code so you can save and load the level. After that I'd say try to load it in the game source.
After that make the basic gameplay, like movement controls, shooting, pausing. Shooting isn't that hard, when the spacebar or whatever key is "shoot" in your game, run a shoot missile function, and run an update missiles function every time to update the positions of the missiles, and if a missile collides with something, run a delete missile function.
After that make the AI do what your game needs, like moving/dodging/shooting, whatever.
If you game has cut scenes, make an editor for that that can create and play the cut scene, and save the animation if the cutscene isn't to be rendered in realtime.
Then you can make levels/cut scenes for each part of your story as you want. After that you can load the first level/cut scene, play it, delete it, load the next, etc.
You could even have save/load game code, remember what the player is in what level, what enemies/missile/whatever exists and where they are, save it, and then load it when you player loads a saved game.
Once your game is playable, make the media the game needs if you haven't already, and add that into the game.
-----------------------------------
To delete the bug, delete the code.
Specs: Sony VAIO Laptop, Windows XP, P4 2.8Ghz, 512MB RAM, ATI Radeon 64MB video memory, DBP Upgrade 5.3.