Monday, 21 December 2009

Islands and lagoones - office open plan rant

Time to rant/moan/"throw my toys out of the pram" regarding another perhaps insignificant matter:

open plan

Open plan offices, I don't like them.

Unfortunetly it is now the norm in almost all the offices I work or visit. It is meant to enhance team work, increase communication, lowering barriers etc. And while the idea sounds good, I find it very tedious and believe it is counter productive.

But I know a solution; small open plan rooms laid out in a lagoon style. More detail further down.



For a knowledge worker, a developer, normal open plan offices are very intrusive and limits the ability to work effectively. For managers, sales and administration staff whom require a lot of communication and less concentration I can certainly believe it is a benefit, but not for people whom need to concentrate.


Placing people in rows of desks facing each other is much an extension to the American cubicle office spaces. It is like an office factory. The current trend of islands, whilst better, especially if two backs against a wall,
islands
but still leaves two or more in the wind swept corridor seats. But they still suffer from all the issues I detail below.

An even more amusing contradiction is when the knowledge staff are in an open plan office but the administration are in separate offices. It should really be the opposite, in terms of whom need to be isolated. True they may have confidential work, but that is what quiet rooms are for.


Main issues

  1. open-plan-bad-health
    An important issue should be that open plan office is bad for your health.

  2. The noise is however my main problem. Both audible and visual noise.

    • People talking about items which does not interests me but still disturbs me and breaks my concentration. Or worse talks about something interesting! Especially if you are as nosy as I am.

    • People walking by especially if you have a door / virtual corridor view point. Again being a bit nosy, my head pops up and down like a bobble head doll every time someone walks in, and since about 30 people sits in this section + meeting rooms, that is quite often.

  3. Low barrier to disturb.
    hi, just wondering...

    Nothing as annoying (ok a bit strong..) as when someone walks up to ask a question, when you are in the zone, in deep concentration, got a number of values, logic flows and algorithms in your head. Especially if it just a status update (not very agile), or a lazy question.

    Emails and IMs you can schedule a time to reply to when you are not in the middle of something. Phone calls, whilst annoying, can be rejected, But people standing over you can not be ignored. (Well you can try but that is not very nice)

  4. Paranoia.
    Another discomfort I have with open plan is the paranoia of people seeing your screen. You have to look busy, especially when I work as a consultant/contractor. It is another side of facetime, perhaps Screentime.

    Windows / websites that does not look like you are hard into coding right that minute might reflect bad upon you. So whether you are looking for solutions via google groups or downloading updates to applications but the vendor's website is too colourfull, it might reflect bad upon you even if it is important work. You hope most people realise this is normal work and even when you stray and look at bbc news, they would see it as normal.

    Unfortunetly many people do not perceive it this way, at least not subcontiously, so often you feel the need to cover your actual work with pretend work, especially for people higher up whom do not know your day-to-day work.

    Okay, after a while, (almost immidetely with me), I no longer care too much what others think I am doing, and run whatever applications and/or look at whatever websites I feel I need to. But it does still make me feel a bit paranoid, and still make me look over my shoulder, thus disturbing myself...


When disturbed, audible, visually or physically, it breaks your concentration and refering to the Peopleware book (wiki) it can take up to 20 mins to get back to that point. If this happens enough times during a day, that day is practically wasted.



Minor counter actions

  1. Head phones / headset

    • Music if loud enough kills audible noise.

      Which I use alot. Not sure what doctor would think about the damage to my ears. And wonder what Health & Safety would think about this near requirement for developers?

      It also scares the living daylights out of me when someone creeps up and taps me on the shoulder...

    • Headphones on but not on.

      A great trick to discourage unimportant interuptions is wearing head phones but without any music.

  2. Big, tall monitors, or just plain seperation screens to hide visible noise

    Again, a bit cubicle, but effective.

  3. Physical barriers

    Such as boxes, plants, narrow gaps to cupboards etc. Making it more difficult for people to actually come up to your desk, also discourages pointless interuptions.


All a bit anti-social, but with various effectivness they may help.

Bit these counter actions only paint over the main problems. The main issues are too many people in the room and no privacy.


The real solution


So my solution using the island nameing standard is: Lagoons.

Simple take a group of desks in an island and move their desks backwards to each corner or wall. Combine this with reducing the people in the room to 3-6 people whom work together.

What does this solve?:
  1. Audible noise:
    Only from the others in room can now be heard. No bable from people in other departments or teams which you could not care less about.
  2. Visual noise:
    Depends a bit on the layout of corridors etc, but mainly only the people in your little room will create visible noise.
  3. Physical disturbance:
    It would take more for people to walk into separate office rooms for minor issues that they could just as well emailed.
  4. Paranoia:
    You can work away, no one is looking over your should and virtually micro managing your every click.



Conditions of the room:

  1. They are all similar people and roles:
    So they will get on better, act similarly etc.

  2. Know how each other work and respect it.

  3. Reduce mobile phone use:
    Use quiet rooms when neccessary.

  4. One person is not frequently visited more than everyone else.

  5. Desks have space behind/ spare chairs for people to move around to encourage team work and pair programming.


defensive office

An amusing look at the defensive office space

Other office solutions:

  1. Separate individual offices.
    Would be nice, but might entice cabin fever and tangent development with little communication. And probably quite costly.

  2. Two per office.
    Can work, but people really have to get on very well. Also might feel need to socially interact more than normal, thus actually cause more interuptions.

  3. Home office.
    Really dependant on how the team communicates. Can work very well, if combined with excellent communications, and especially if time is split between a lagoon office and home.



Risks:

  1. Inter-room cooperation.
    The main issue this can cause is Us & Them situations between rooms.

    Possible solutions:
    1. Larger comfortable common coffee rooms. (with more than coffee available...)
      By combining this with actualy encouraging breaks this will stimulate interactions and break down barriers.
      rubber duck

      It can actually assist in problem solving by simulating rubber duck ([2], book) chat.
    2. The walls between does not need to be visually block each rooms.
      They can be glass at the top etc especially towards corridors etc. While still protecting against visual noise and paranoia this can hide the feeling of physical separations.





In the end for me personally, I need to be comfortable to get in the zone and be 10x more productive than in a busy noisy environment. And while everyone are different, I believe this applies to a large if not majority of developers and probably other knowledge workers.

Setting Spotify proxy settings when logging in

My problem:

* Installed Spotify for the first time on work machine.
* Work has very restrictive default proxy, which bans Spotify.

Thankfully being a developer in IT we know of a few more leniant alternative proxies....

Further problem:

* When launching spotify you need to log in with no option of defining the proxy to be used.
* And the error message just say unable to log in.


Solution:

* Unplug the the network cable

This prompts an error message with allow you to change the proxy settings.
Remember to plug in your cable again!

Tuesday, 8 December 2009

Deny mercurial, git, subverion folders in web sites

I maintain my websites mostly with a source control of some type (Subversion or Mercurial), but the folders with the SCM data should not be displayed on the actual web site.

Here is quick way to disable access to SCM folders in Apache by Ryan on Palaminum.net:

paluminum.net/blog/deny-scm-directories-with-apache