I have a fairly powerful to-do list program, called Task Mage, that is quite versatile. It has a calendar, reminders, etc... It is self organizing, so that you never lose track of what things you are working, and lose very little time switching between tasks.