Do you know why your developers get so irritated when someone (You) distract them? After all you have a software in production, and so your developers should be able to constantly adjust to the changing needs and nature of the challenges you have , either due to problems in production , or because of competition. As a manager or a CEO you would love to work in such a fluid organization which can adjust priorities rapidly based on external factors. In reality you might be shooting yourself in the foot.
There are two types of people and schedules in the world. The makers and the managers. Their schedules as you’d expect are different too. We can lets say call them , “Maker’s Schedule” and the “Manager’s Schedule”.
The manager’s schedule is for bosses. It’s put down in the traditional appointment book, with each day divided into one hour intervals. You can block off several hours for a single task if you need to, but by default you change what you’re doing every hour. A 10 minute distraction, in this kind of schedule, will at most cost you an hour before you brain is back to the real task at hand again.
When you use time that way, it’s just a practical problem to meet with someone, look for a slot in your schedule, book them, and you’re done.
But there’s another way of using time that’s common among people who make things, like programmers and writers. They generally prefer to use time in units of half a day at least. You can’t write or program well in units of an hour. That’s barely enough time to get started.
When you are operating in this schedule, a meeting is a disaster, because it can ruin the whole afternoon. That’s no problem for someone on the manager’s schedule. There’s always something coming on the next hour; the only question is what. But when someone on the maker’s schedule has a meeting, they have to think about it.
For developers calling for a random meeting is like throwing an exception. It switches the context and it switches the mode they work in.
Working on large abstract systems involves fitting the whole thing into your mind – somebody once likened this to constructing a house out of expensive crystal glass, and as soon as someone distracts you, it all comes barreling down and shatters into a thousand pieces.
This is why programmers are so annoyed when you distract them.
Because of this huge mental investment, they simply can’t start working until they can expect a couple of hours without being distracted. It’s just not worth constructing the whole model in your head and then having it torn down half an hour later.
Each type of schedule ok for the function it serves, the problem becomes when they meet. Most managers , who are powerful people in the organization , work on the manager’s schedule. Most (read all) developers work in the maker’s schedule. Since managers are powerful people in the organization, they have the ability to make everyone work on their frequency , if they want to.
However, the really good ones, who understand this fundamental difference, restrain themselves. They know that some of the people working for them need long slots of time to work in.
The more you understand the difference the better you would be able to avoid speculative meetings, which are terribly costly and irritating to your developers, and you don’t want an irritated developer to be building your product.
References : Paul Graham’s Maker Schedule http://www.paulgraham.com/makersschedule.html, Swizec’s blog http://swizec.com/blog/why-programmers-work-at-night/swizec/3198