I do agree with the issue of multitasking when programming, it's never good. If inevitably you need to work in several project at the same time (always happens), the best thing is to do multiplex, ( like the old multiplexers on network) just dedicate a fix time to each project, lets said half a day in one project, half a day in another. but never overlap the time or the false multitasking will hit you.
Ahhh and planing a lot at the begging always help.
Note: Programming is a brain multitask by it self, you need to thing about the good code, standard, the DB , the relations , methods, objects, internal rules,and heap of things to bring to the code to make it work fine. don't bother yourself trying to do multi-multi tasking, just don't work.
Keep Up with TechRepublic