One of the most effective strategies I've found is to externalise as much of your process as possible. My personal take on burnout is that it's the result of prolonged mental stress (I spent the first half of last year doing at most a couple of hours per work day after getting burnt out). After my experience I started to look at how I work to see if I could reduce my stress levels. What I noticed was that my stress levels increase with the amount of information I need to retain in my head at any one time. In particular retaining information for multiple tasks is a real killer, the longer the worse.<p>Bearing this in mind I redesigned my process to externalise as much information as possible. For me this means using trello(I try to keep tasks/features sized at under 2 days), a written TODO list for today (in IA writer), git branches to manage multiple features and then an outside-in[1] process for the actual code. From this point of view writing cucumber scenarios and unit tests is done to externalise your current state of knowledge about a particular feature. My goal is to be able to drop what I'm doing and return without having to remember anything at all i.e. in theory someone else should be able to pick up where I left off without any input from me. If you're really doing TDD and not thinking about implementation too much before you've spec'd it out then this is possible (this isn't going to be 100% but it's the goal).<p>That's the dev workflow, for anything else that hasn't been pieced together enough to be in trello I have a separate section at the bottom of my TODO doc where I just keep random thoughts that I want to come back to later.<p>This setup is working well for me but something completely different might work for you, the important thing is to keep everything you're thinking about somewhere else.<p>Finally, if you're feeling overwhelmed a great exercise(which I read on HN somewhere) is to sit down and write everything that you're thinking about. If you sit there long enough you'll find that all your recurring thoughts end up written down. I find this incredibly relaxing, it allows you to take a step back and organise your thoughts.<p>[1] <a href="http://rubylearning.com/blog/2010/10/05/outside-in-development/" rel="nofollow">http://rubylearning.com/blog/2010/10/05/outside-in-developme...</a> (written for ruby but you shouldn't have any trouble generalising to other languages)
Task management, GTD, etc. helps but honestly, that level of productivity is somewhat of a prerequisite - it confers no advantage when playing ball with the big boys.<p>to me, "burnout" is about staying too productive for too long. i personally work to prevent that through disciplined unproductivity: i force myself to have down-time, get enough sleep, exercise as much as possible, i've even picked up reading books again and watch the occasional TV show. a good significant other also should help keep things in balance - and perspective.<p>this is a marathon not a sprint - and it's never as easy as it looks on techcrunch. ever. not only that, but a large part of the value you derive at a startup should be from the journey and not just the destination - don't forget it's the meandering off the beaten path that often yields unexpectedly huge rewards. keeping these axioms in mind every step of the way helps big time.<p>it helps to be doing this "startup thing" for the right reasons (there's nothing else you'd rather be doing - or could be doing), rather than to make money. it also helps to have an amazing team you love spending time with, complex problems you love solving, and good customers you love talking to.
Being extremely disciplined about getting enough sleep and exercise will hugely increase your stress-handling capacity. Perhaps even enough to stave off burn-out.