Maximize flow, and minimize interruptions. That was the main focus of Ryans message, but at a more detailed level he argued for why all sorts of communication which had a social convention of “you should answer this right away” should have a minimum possible occurrence. This include phone calls, direct talking, instant messaging etc. One should also turn off all forms of intrusive notification systems on the computer as well as your portable devices. This includes popular services such as Facebook, Twitter, and even email.
But why? Because we want to get in the zone. We want flow. If someone else in the team needs our attention, they should always need to ask themselves how urgent the matter is, and if there is only one specific person who could help them, or if anyone in the team could be of equal use. If the answer is that they need You, and it must be Now, then use direct talk, or call them. If it’s not urgent, then he should use the issue tracker. If it doesn’t have to be you, then he should utilize a persistent group chat tool (that does not have intrusive notifications) to ask the entire team for help, and whoever is not in the zone can be of assistance.
Have you ever thought of why, when you interrupt a developer who is in the zone, he usually looks at you with a stare that feels like it could burn the back of your skull? That is because when writing software you do a lot of mental construction, sort of like building a house of cards in your mind. When he gets interrupted, even just with the question “may I interrupt?”, then what you have done is you just stepped all over his house of cards. Hence, the stare.
So we should all try to be more respectful of each others thought process.
Ryan also argued against daily stand-ups, and how the same information could be conveyed to everyone in the team equally well by using the issue tracker and group chat.
All in all this was one of the most thought provoking presentations, touching a very controversial subject.