Or you could try to minimize, delegate and automate the boring work away as much as possible.
Of course, this really depends on what exactly you're working on and what you find boring, but I think there are almost always alternatives to most boring work in professions like programming.
I might think this just because I find almost every facet of development interesting now--I like designing and programming, but I also usually enjoy testing, debugging, polishing and sometimes even just maintaining/refactoring. And because I'm probably not nearly as disciplined as you so I grab at any excuse to not do boring work ;)
Of course, this really depends on what exactly you're working on and what you find boring, but I think there are almost always alternatives to most boring work in professions like programming.
I might think this just because I find almost every facet of development interesting now--I like designing and programming, but I also usually enjoy testing, debugging, polishing and sometimes even just maintaining/refactoring. And because I'm probably not nearly as disciplined as you so I grab at any excuse to not do boring work ;)