I think this is just a ploy to get XP for asking a similiar question! (J/K)
Seriously, many companies have the concept of "core hours". This is usuall 9:30 or 10:00 AM to 4:00 or 4:30 PM. If you're part of a team, this is when you should all be there. I've worked on jobs before where 1 or more of the critical developers wasn't there, and it really can wreak havoc.
I'm a believer in flex time and comp time. Flex is important, because 1/2 an hour can make the difference between my drive in being a living hell, and just pure hell. I *try* to be at the office by 8:45. I do this because I (currently) work 3 10 hour days, since my current contract is 30 hours a week. With a 45 minute lunch, that puts me out of the office at 7:30 PM. The drive home is pretty nice at that hour, but the drive in is really bad if I don't leave the marina by 7:45 or 8:00, at the latest. It's worse when school is in season (don't get me started about these damn parents that drive their brats to school, or let them drive, instead of taking the bus a.k.a. mass transportation!).
I do think if you pull an all nighter working on some hot and heavy code, you shouldn't be expected to show up at 8:30 the next morning. There has to be give and take. You also shouldn't show up at 9:30 every day, and leave at 3:30, with an hour lunch. Then, you're not honoring *your* part of the 2000 hours a year contract that I've menionted in another thread.
I've never been a manager, and Dog knows, I don't want to be (you over there! Change that shirt! And be here on time tomorrow!). But, if I were, there would be *some* rules. There has to be, anytime there's interaction between an employee and the rest of the company. If your arrangement is finish project 'X' by date 'Y', and no one needs to see you before it's done, do whatever you like. But if you're expected to be there to meet with vendors, interact with other team members, whatever, there *has* to be a certain window of time when people can be expected to find one another, and ask questions.
Where does this leave projects that are teams split up across the US, or the world? In a quandry. It's been my experience that work throughput is drastically reduced for the *majority* of groups that work like this. You'd be surprised how much is accomplished in impromptu hallways meetings, over lunch, etc. It takes a good bit of discipline to work with people 6 time zones off from you, and not get hung up by a 24 hour turn around when you have a problem. You *hope* there are things you can do in the mean time, while you're waiting for a response, but if you're in the design phase of a project, or debugging hardware, and waiting for news from a chip vendor, often you're just burning hours while you wait.
I do think that in this day and age, more people need to telecommute. With growth of cities, pollution, fossil fuel consumption, and all those facts, work at home WILL become more prevailent. But it takes discipline and coordination for that to work. Some people see work@home as 'No one knows I'm playing FreeCell all day'. Or, less severe, "I'll go to the store now, and work later". This is why some companies, particularly old-school are so resistant to work@home. No real accountability. They're still paying you for that time you're supposed to worknig at home, and if you're not working, you're screwing the company. An employer/employee relationship is a two way agreement, after all.
Brief diversion and diatribe here: You may like to think that "Well, if I get the project done by the due date, it doesn't matter what I do". This is a bad attitude, I think. The fact is, as an employee of a company, you are a company resource. If you weren't goofing off at home, and finished the project 1 month eariler, that would be 1 month less that the company has to recoup, and you could be on another project. So it's not a matter of "Oh, I'll finished as by the due-date", it should be an attitude "I'll finish this as fast as possible, within reason".
One other thing I was going to mention that was touched on. Work conditions: Few offices can have the ideal arrangement of every employee having an office. Offices are often still used as a sign of rank, rather than effectiveness. Cube farms will exist because they're space efficient. They have other problems, but building cost is something that's very visible as a bottom line item on a financial statement. You being 3 hours less effective per week is not. Also, building codes won't allow for offices at the density that cube farms can be put in, because of handicap access, and fire codes. If the cube farms are that noisy, the office policies need to be evaluated. Some places implement "quiet time" for 2-3 hours a day. This isn't a bad idea, at all, and sometimes is the best compromise for a cube farm enviroment. Cubes don't represent an ideal enviroment, compared to offices, where you can close the door.
So, all in all, core hours are essential to a development group. Flex time is important, and core hours, by definition, accomodate flex time. If you want to pull a few all nighters, and fix something or finish eariler, you should be able to take that as comp time. If you work at home, you have an obligation to actually accomplish some work, and not play FreeCell. It's all give AND take, not give OR take.
--Chris
e-mail jcwren