views:

403

answers:

11

In chapter 15 of The Deadline by Tom DeMarco working extra hours is discussed. One of the characters says she forces the developers out of the office every evening so that they can't work extra hours. She says this makes people concentrate on their work, use time more productively and lets them get more things done.

The way she does that is quite funny - she threatens she will cut the power off. That's obviously one of the nice jokes of the novel.

But anyway the idea is quite interesting. And IMO it contradicts severely with Joel's Bionic Office. Joel quotes Philip Greenspun who says that ...success will depend on the extent to which programmers essentially live at your office. Which as I get it means that the office must be great so that people are subtly encouraged to spend more time there and get more things done.

Have you ever seen the "not let developers work extra hours to make them more productive" thing in action? What were the results? What's your opinion on this idea?

+1  A: 

Well, I don't work for anyone because I'm a student, but many times do I find myself unable to find an approach for a problem [coding-wise]... and I'll just sit at my desk, for hours, thinking and trying different methods.

Then, I'll leave my desk, go downstairs or something, and in a couple of hours, the solution will pop up out of nowhere =/

I think, that giving developers more free time would lower stress, which would mean a better work environment. People tend to make incorrect decisions when stressed [perhaps a developer could use the wrong approach, instead of thoroughly thinking out the approach?]

Its sorta like how when I study for a test, its better if I spend a lot of time going over the same material, instead of trying to get all the material at 1 time [cough, cramming]...

But I think the main reason to force people to take a break would be so their brains would be relaxed, so they would be productive when they came back.

Just my two cents.

ItzWarty
+4  A: 

Having a strict work-schedule forces programmers to get things done till the daily deadline. For people like me, that's not a bad thing, as I tend to slack without that pressure. So I guess I have to thank my wife for forcing me into such a schedule.

ammoQ
+1 for wife introducing new schedule. :)
mskfisher
+1  A: 

It may improve productivity if productivity is defined as the ratio of results to effort. In my opinion, however, it will not improve overall results because you are limiting the amount of effort which can be expended.

ecounysis
+12  A: 

Well, I can honestly say my "productivity" is not related to hours spent in the office. I can spend hours there and do very little some days and other days, I can make massive strides. It really depends. Some days I want to do long hours because I know I'm productive, some days I just want to be out of the office, anywhere else. Days like those I usually catch up on admin, comment code, review it etc (my own that is), basically, the light lifting.

I agree with Joel that office space should be nice. My desk is tiny, right by a main thoroughfare so the project managers can have impromptu meetings next to it. Not the best working environment for coding, I have to say.

However, having to go home by a certain time wouldn't help. I'm obsessive, it goes with the territory, so stopping me coding at work is unlikely to stop me thinking about the problem. I'm not like that.

That said, I try to be out of the office by 6pm at the latest. Long hours, as I've said, don't necesarily equate to productivity. So I guess I'd say it is sensible, but strict deadlines aren't good.

Ninefingers
+6  A: 

I don't know if forcing everyone to go home has that effect, but I have seen evidence that forcing extra hours (as opposed to setting deadlines) can have the effect of lowered productivity. Last I saw mandatory OT, there was an immediate increase in chatting, long lunches, etc., as everyone knew there were in for the duration no matter what they did.

There's also a lot of evidence that you can't get more than 50 hours of productivity out of anyone, and that even 50 is only maintainable for short durations - this is "on average," though, so there may be some individuals capable of exceeding that...

kyoryu
+3  A: 

Breaks should be asynchronous (i.e. they should happen when they need to happen, and only then). Ideal productivity for most programmers requires a "flow state". Breaking the inertia of a programmer's state of mind to enforce some arbitrary daily schedule may be conducive to a managed, repeatable, methodical development process (suitable for well-understood problem domains and/or very large teams), but it's not necessarily the kind of context that would allow a startup to work magic and change the world.

Either way, it's not primarily about the time spent working (or even the way deadlines are managed)--it's about the ability to concentrate while working.

datageist
+15  A: 

Forcing anything on a developer reduces productivity.

cherouvim
I was about to add the same thing. Great answer.
Padmarag
not to mention creativity: http://blog.softwareprojects.org/who-killed-the-creative-process-2479.html
Rob Fonseca-Ensor
+1  A: 

A balance should be maintained with the deadline of the project with the pressure and workload on the developers. If it is urgent and necessary the developers would themselves given in long hours. But this can continue for at the most for a week. On the other hand if this practice is extended and becomes daily thing the output of the developers would decrease compared to the normal working hours. Further it would bring in frustration and unrest among them. It is always said that a good environment is what all is needed for a seed to grow to a full tree. Same applies to the developers... you give them good environment and they would come out with flying colors.

HotTester
Thats right... deadlines come and go... one project ends and another starts but it is the developer that is there always. So instead of thinking too much for the project management should always think for them !
+2  A: 

In general I consider it a good policy to request that people do not do overtime. That should not be enforced in a daily basis, though, except by a recommendation:

"Please, do not work more than 8 hours normally. If in some peaks you work more than that, work less in the next days to compensate for it. Thank you."

That should be enough in general. But please don't cut my power off while my disk drive is defragmenting or I am running a set of automated tests after leaving. And don't just force me out (or in, for that matter) arbitrarily at a fixed time every day.

Daniel Daranas
+1  A: 

The eighth principle of the Agile Manifesto says:

Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

That is hard to live up if you work extra hours all the time, especially if you have obligations outside work (family etc). That said, forcing everyine to go home at a certain hour won't work of course, you might need to work ten hours one day and six hours the next.

Nils Weinander
+1  A: 

I guess it is a matter of people and job characteristics (salary, interest, workload) and I think no generalization is possible.

At least I would recommend you the Maslow's hierarchy of needs, according to employees needs' fulfillment, you may improve productivity by filling unachieved needs.

Working few hours may be considered by the employees as "respect by others", raises their "self-esteem", and by making free time, offers the opportunity to achieve many others needs. http://en.wikipedia.org/wiki/Maslow%27s_hierarchy_of_needs

snowflake