Agile teams and working from home

Yesterday (April 2nd 2012), I posed a question on twitter:

Does anyone think that people working from home in an agile team is a bad idea?

This seemed to be quite a controversial question to pose. My favourite response was “isn’t agile – as long as you get the work done, doesn’t matter home, office, card, no-cards, no??” Now, I can see what the author (@edonsojeva) is trying to say. I agree that one of the main principles of agile is getting work done. But, on the other hand, for me the best principle of agile is the ability to communicate with members of the team *and* the business. IM clients (Skype, Lync, MSN etc.) are a great way to keep in touch. But I have never found them to be fantastically efficient at being able to display the entire picture. When speaking to people I want to see them face to face (where possible). this allows us both to focus on the issue at hand.

when working remotely, people can get distracted. That’s just our nature. It doesn’t matter whether we get distracted by emails, twitter, other IM conversations happening at the same time or TV (yes I have seen this happen to some people), it happens. I find that that level of distraction is less in the office. Why email someone when you can get up from your desk, walk 10feet and speak to them and strike up a conversation instead?

I understand that it can sometimes be very important to isolate yourself just to get a few hours of no distraction. Being at home, with no one round can give you this isolation. My thoughts here are that if you do have so much to do that requires you to be isolated from the rest of the team, that you a) haven’t planned very well or b) are not agile. Team is the key word here. For me working from home takes away that sense of being part of the team. It can just make you feel a little isolated. Architecture and code can be a bit of a beast sometimes. It can therefore take other people to wind in crazy ideas. Unless you are this incredibly focused person, you can sometimes go off in a tangent or with an idea that another has already tried. It can also save time. If you run into an issue, a team member who has been in this situation before can point out a fix.

This leads me to the general idea that working from home is the exception rather than the rule. I wouldn’t be fantastically happy with members of the team who constantly worked from home. They would feel more like remote contractors than anything else. I understand there are incredibly focused individuals out there that can block out all these impediments and work from home efficiently. I am in no way saying that it isn’t possible. This post is merely a scratch pad to get feedback on what others have experienced.

Comments (2) -

Terry Brow
Terry Brow
4/4/2012 8:02:22 AM #

agree with your thoughts paul, and as I said on twitter

basically, agile is practicable from a distance, and as Hadi pointed out rightly, it's about the individuals, about their drive, about their ability, and a number of other factors.

Enabling tools certainly do help in this regard.

Though for me, I think it takes a particular type of developer (Hadi is I'm sure a classic example of this) to be able to engage in an agile process at a distance without any 'loss' - I suspect most developers would find that the overall process would become less effective.  That said, the type of developer who reads this blog (and indeed would engage in a conversation like that on twitter) is more likely to be one of those developers who would not suffer too much in working agile from a distance.

I think on the whole (as you rightly point out) agile works best when communication and transparency is paramount - at work our project teams sit together, we talk a lot, our dailies are spent close together, and I find that the whole process becomes richer for it.  Quick code review? no problem, just holler across the desk at one of the team.  Someone broke the build?  Generally they holler across the desk at me, I'm good at that!

Closeness encourages communication and transparency far more easily than working at a distance - distance is doable, but it's harder.

James Murphy
James Murphy
4/4/2012 10:05:21 AM #

I think that its most likely an all or nothing proposition (this is not an absolute of course...)

You have to distinguish between a distributed team (which demonstrably can be made to work) and a team that has one or more remote members. In the first case everyone is on the same footing in communications terms whereas in the second case that is clearly not true and at that point you are far more likely to have issues (and I speak as one who has spent a lot of years working from home - from ahead of the curve in technology terms too!).

There's also a question of tooling - so far as I can see a lot of agile is about visibility i.e. everyone knowing more or less what you're doing and where you're at - and I know this is something we struggle with (not that I even pretend to be agile). For example - I haven't yet tried, but I wonder if google's hangout might answer some of Terry's points?

Mostly just random thoughts!

I will note however that being in the office with your team doesn't actually stop you getting distracted (sometimes the reverse, especially in an open plan environment) or from going off on tangents or from re-treading old ground. Similarly - if you're smart enough to ask - working distributed doesn't stop you finding colleagues who have tried things before (its simply remembering to ask that is the biggest issue for most devs!)

But I still come back to "all or nothing" - the odd day a week being "remote" is probably fine but full time remote with an office based team? I can't see that working well without a video wall or similar...

Add comment

  Country flag

biuquote
  • Comment
  • Preview
Loading

About Me

 

Web Developer. My most used framework is C# with MVC but use Webforms on occasion. Im an advocate of clean, maintainable code and am very passionate for what I do. Absolutely obsessed with Continuous Integration and how it should be used in every day development scenarios. Trying to move towards a system of Continuous Deployment
Follow Me on Twitter

Jetbrains Academy Member

 

MVB Blogger

 

Friends Of Redgate

Month List