You'd have to pay me some serious dollars to get 8 hr/day of steady work out of me. I like to imagine I am among a pantheon of intelligent professionals, famous or unknown, who use a shorter workday. Working in short bursts of intense work is the hallmark of a skilled professional, or at least someone with serious brains (or caffeination).

First, death marches. Fuck them to hell. Not only do they fail most of the time, they breed resentment between management and engineering. Death marches force programmers to go into a very concrete operational mindset to get the job done. They guzzle caffeine. They're stressed, and probably angry. None of these contribute to quality work/code.

You pay a programmer because his abstract reasoning skills are better than yours in a certain domain, not because he can go concrete operational. Caffeine is thought to hurt creativity. Stress and anger are obvious detractors from productivity.

So, programmer anarchy ftw, amirite? Not quite. Unlike the death march, management deadline (death-themed) work paradigms, this one doesn't do anything to hurt productivity - but it also doesn't do anything to help it. Collaboration is ad-hoc and unreliable, there's no group cohesion, etc. Shit, someone may just decide to use tabs instead of spaces one day (and I'll smack that programmer upside his head).

I call my solution "Programmer Minarchy". All developers work everywhere, on stuff they feel stimulated by, for as long as they feel like working. They should expect and be prepared for the occasional vestige of traditional business (deadlines, compromises, etc), and they shouldn't work an only hour per day. This enables programmers to feel like they're doing something meaningful and hopeful. It gives them a sense of ownership and control, without being reckless.