4 ms·
1- small offices. 2 or 3 persons in the same team (working on the same stuff). If you have small offices with two teams in (eg. 2x2 persons), calls and discuss
by informatimago 10y ago
1- small offices. 2 or 3 persons in the same team (working on the same stuff). If you have small offices with two teams in (eg. 2x2 persons), calls and discussions of one team will crash the productivity of the other team.
2- remote work. Having teleworkers in the teams is a great way to reduce the motivation of direct communication, since that would put remote workers out of the loop.
3- Instead use IRC, email and newsgroups, or any other good way (is Slack a good way? Can it be used from emacs?) to communicate both synchronously and asynchronously remotely, even if to ask a question to your co-worker two meters away. A lot of advantages are to be obtained by using those on-line communication channels: each programmer can manage how and when he's interrupted, even for synchronous channels like IRC; there are written traces of discussions, which help avoid talking again and again on the same topics.
(And on the topic of irc, I would note also that psychologically, reading questions and answering on irc eg. during compiles, is not as much an interruption as doing the same orally, since you do it in the same man-machine communication mode and even using the same editor (emacs), as for programming, instead of switching to a human-human interaction mode).
4- obviously, no direct access from customers to programmers. Or at least, unregulated direct access. There may be good reasons to have your programmers meet your customers, but this should be in organized meetings.
5- if you have to have meetings: 1- make sure they are short (very difficult! Try standing meetings). 2- gather them on the same time period, so to leave large periods of time uninterrupted by meetings.
6- and in the most dire circumstances, you may organize a absolutely no interrupt, no call, no meeting day each week, so your programmers may work at least one day a week.