Developers usually get most of the work done in a state called flow. Flow is a state where you are in deep concentration and time just flows by.

I began to work. I looked up, and three hours had passed.

For anyone involved in engineering, design, development, writing, or anything related to knowledge work, flow is a must, as these are high momentum tasks. It might take some time to get started, but once you get going, you get a lot of work done.

It is during this warm-up period developers are most sensitive to interruptions. An environment filled with constant interruptions and distractions can make it very difficult to attain flow. Each time you  are interrupted, you require extra time to get back into flow. Repeat this a few times, and your whole workday is gone.

The developer who tries and tries to get into flow and is interrupted again and again is not a happy person. Instead of the deep mindfulness that the flow state provides, they are dragged into the surrounding ocean of distractions that is the modern open plan office.

If you are a manager, it can be hard to empathize with your developers seeking the state of flow. After all, your job requires that you do most of your managerial work in interrupt mode, which is management. But your developers really, really need to get into flow. Anything that keeps them from achieving flow will reduce their effectiveness and the joy that comes with it.

The causes of lost hours and days are many, but mostly related. Some days you never spend a productive minute on anything having to do with getting actual work done. Everybody's workday is plagued with frustration and interruption. Entire days are lost, and nobody can put a finger on just where they went. 

There are a million ways to lose a workday, but not even a single way to get one back.