If I divide the number of lines of new/changed code by the hours I spent today in the office, I'd probably be depressed. I could, I supposed, blame the Packers' spotty performance on offence, defense and special teams. But then I'd have to blame myself for listening to the game in the first place.
But from the standpoint of stretching my brain quite a bit further around what actually needs to be done for this next project, today was anything but a bust.
The thing is, though, that I doubt that would have been accomplished on a day when my morning and/or afternoon will be bisected by a meeting. Or when the project could be tossed into cryogenic suspension at any moment, should "my" users find something unexpected in their data. Or when QA does what it's supposed to do and find bugs in the work I tipped off my plate onto theirs. (Darn them for doing their jobs!) Or neighbor-noise breaches my earbuds/headphones. Or code/data needs to be boosted up the queue. Or a sparkly ball of tin foil rolls into view.
As criminally self-delusional as it is to pack quote-unquote knowledge workers into their pens in what amounts to a factory farm of distractions, it's considerably worse to insist on standardization in hours. The bulk of "my" users are in a different time zone, and having the excuse of humoring that differential makes a huge difference for me. Why? Because I can (mostly) count on one quiet interval in my day. If the noisy parts are spent running in place, the quiet part is the time to move ahead.
Bottom line: Don't insist on the same schedule from everyone. True, you need a certain amount of overlap, simply as a window for collaboration. But there is a definite tradeoff between managerial convenience and forward motion. IMLTHO, respecting that tradeoff will move you much further ahead than ignoring it.