When using a "to do list" make sure to "check off" your accomplishments instead of erasing or scratching them out. That way instead of seeing all the things you didn't get done, you can feel good about all the things you DID achieve.
When you have slipped up, don't be critical of yourself. Nobody is perfect, so if you try for perfect, you set yourself up for failure. Don't try to make up the difference. Just jump back in where you are, and get back on track.