Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Assume that a company runs several projects simultaneously. When a project reaches certain state (is completed, beta is shipped, etc) some people move to the other projects, then to the other, ad infinitum.

It could be a good idea to assign rooms to specific projects, and make people move there as soon as they're added to the project as well. Some software methodologies, for example, Scrum and other agile ones, explicitly declare that having all programmers in the same room is a boon, and benefits development.

However, a group of programmers that spends their work time in a common room for years creates a constructive and strong relationship between its members. The programmers inside it always know whom to ask for an advice about a specific technology, and the closeness makes people helpful and trusting. An advantage of a closer social interaction could also be taken. Should such an opportunity be missed just to arrange several peers for a specific short-term project?

In other words, how should we organize moving programmers between rooms?

Note: The best option, perhaps, is keeping each programmer in a separate office. But let's assume that the office under consideration is just not big enough for that.

share|improve this question
    
Could you give us an idea of how big your office is? Moving people to a different room in our office wouldn't make a massive amount of different as we're semi-open plan and going to a different office is no big deal. Are your offices in different buildings? –  Paddyslacker Sep 1 '10 at 20:36
    
@Paddy, I think it's an "average" case, when all developers are in the same building, and you don't even need an elevator to access anyone. –  Pavel Shved Sep 1 '10 at 20:39
    
If you can vote and think this is a useful question or it have useful answers below, please vote up. StackExchange sites need votes to build a good community. You can give 30 votes per day, don't waste them. Specially users with high reputation and low counting votes given please read this: meta.programmers.stackexchange.com/questions/393/… –  bigown Oct 5 '10 at 22:27
    
Please follow this proposal for that kind of question: Organization aspects –  bigown Dec 10 '10 at 20:53
add comment

4 Answers

Organizing by project is an excellent idea. Anything that encourages communication within the team is a Good Thing, and this will permit them to ask each other quick questions without needing to wait for an email response, or go track the other person down. It also gives them an opportunity to overhear conversations they really ought to be a part of; happens all the time around here. ("Wait, I'm going to be doing what to the who now?")

share|improve this answer
add comment

What motivates programmers/ See http://www.joelonsoftware.com/articles/FieldGuidetoDevelopers.html

Joel (let his name be praised) estimates that it takes 15 minutes to recover form an interruption, no matter how brief.

See also Tips for surviving an interruption.

I'll buy that. I am usually so deep in coding that the slightest interruption throws me out of "the zone". Joel advocates individual offices. If you can't to that, then one room per time ought to reduce interruptions. Open plan & cubicle farms are great contributors to project slip (as are bosses who "drop by for a chat").

share|improve this answer
1  
I think that Joel is only partially right. If you are working on your own then you need a quiet environment and freedom from interruptions. If you are working as a team then you need to be able to have good communication between team members and to be able to collaborate, discuss issues as they arise, pair program, bounce ideas off each other etc. These are not distractions, they are part of your work. –  Dave Kirby Aug 30 '11 at 11:46
add comment

I personally think that having programmers in same room is great feature for mid-size and large projects.

If projects are small (and thus people would move every week or so) I would avoid excessive moving.

share|improve this answer
add comment

For my experience, I would say absolutely yes. I work in a big open space, and I've often to get up and going to some coworker needing help. When I was next to a coworker that worked on the same component as I, we where much more productive (something like pair programming without its huge faults).

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.