My current workflow:
STEP1: remove everything!
STEP2: move small amount of code, refactor, make good names, rethink, refactor.
STEP3: comment :)
STEP4: go to step 2
Bare bones of the engine are done, I rewrited my state machine from bunch of cmp's to a nice table with list of functions correlated to the current engine state.