Does anyone have any experiences with team rooms? Or insights into this?
Chan Ag wrote:parallel programming ( I'm not sure if that's the right word -- the concept of two people wotking on the same thing ).
It's not. The term is "pair programming".
Chan Ag wrote: I can't imagine somebody looking over at my work all day or sitting that close to me. I find it disturbing
I like pair programming, at least in small doses. I've never done it for more than a few days in arow. It's not someone looking at "my work", it is "doing our work together". We are problem solving together. We are coding together. We are alternating who drives (types) and who navigates.
Chan Ag wrote:And the third one is the most disturbing. Where do these guys keep their personal stuff? They carry their things everyday to work? Scary setup.
Some people don't have things. (I'm not one of them. I have lots of things.) Some companies have the concept of hoteling where you don't get a place for your things either. I don't like that idea much either! It's possible they each get a drawer somewhere. Or that isn't their only workspace.
ANyhoo.. back to team room. I like team rooms, as long as the devs have the authority to self organize/decorate.. Actually, I have done it way before there was this concept of agile programming and team rooms. It's just that my boss in India was cheap and instead of giving us cubicles, he put us in a room. We just talked talked talked while we worked. We talked about work.. about family, life THe boss would get pissed off, but it was awesome. In other situations too within the US, I've been in open seating areas, and it just feels right. What you definetly need is a quiet room away from team rooms. ANyone can go into this room, and no one talks. So, if you are working on a difficult problem, jump in there, and come out with the solution.. Or just stay back home and get er done!
I dunno.. I might be biased here. We naturally fell into some of these agile practices in my first job, and IMO they worked.
The second time was in the US in a temporary space, which was again 20 desks in 4 rows of 5 each. Pretty simple. I didn't like that too much, because that was a "swing" space, and it wasn't team focused, although our team was all together. It did work out, but was distracting.
Then they moved us to a permanant area that was designed for open seating. That was horrible, because everyone was out in the open. All of us revolted, and they put us in cubicles.
Long tables form kind of a square with the side into the center aisle left open (no table there although there is a big divider with a white board with small open areas to each side of it to get in and out of the section). Not all sections our equal sized. In our section 4 people sit side by side along the length of one side and 3 along the length of the other 2. You are not super close to your neighbor like in your photos but you don't have room for too much personalization either. In the middle of the square is a big round table, where we usually put candy, or stuff to personalize the space. We hold our scrums around this table. in the morning. Each space also has a 60 in TV mounted in it.
Also everyone has a docking station for their laptop and a 2nd full sized monitor, keyboard and mouse. The chairs are pretty comfortable, but you are still working on a table, with no division between your neighbor to the left or right.
You look across the way at the row across from you and behind everyone is a divider (with the whiteboard)
Hopefully that is enough for you to visualize it.
After that experience, I will never again accept a job that doesn't at least get me a cubicle where I have a little bit of privacy and I don't feel like it's feeding time at the zoo. I actually prefer to work at home where it's much harder for anyone to disturb me. I'm far more productive that way. All those pictures you posted look nightmarish to me. No thanks. Make all the Dilbert-esque jokes you want about cubicles. I'm quite comfortable in my little box.
I may have the best of both worlds. I work from home but I pair/group program with my teammates at least 4 hours a day. I have three monitors, a 2x24" (double head) desktop and my Mac, which allows me to keep WebEx, my IDE, and a terminal window in view at all times. We use WebEx to share the driver's desktop and carry on our discussions as we watch him/her drive. Non-drivers can do supporting tasks or run small experiments on the side. WebEx makes it easy to switch roles: just pass the "ball" to the new driver so he can share his desktop. I find that the conversations we end up having produce better designs and we can catch more bugs that would have made it further down the development lifecycle otherwise. Working alone is pretty 20th century; one team I talked to at Agile 2013 in Nashville said they practice "mob programming" and would not work in any other way. Whole team, one user story.