One thing at a time too.
I obviously start with an idea, I write my idea on paper, I draw a level example (if the game genre need it), and if the game is complex I write a game design document which describe the entire gameplay of the game.
Then I start to code the basic things, the game's core gameplay using place holders (squares, circles, sticks...) then the features that are more complicated.
After all that I can think about making graphic content. It's useless to make graphics at first because your game can change at the coding phase, and you have to be sure of the asset's size.
Sound and debug come at last.
And yeah it's very important to have a checklist / to-do list. Very satisfying to delete a task when you finally made it :p