Friday, June 24, 2005

XP when 'Working from Home'

After a long time I am back into a project where I work at the client office. Most of my colleagues travel to work on Monday and leave on Friday. Taking a flight every Monday morning and Friday evening , can become really painful in the long run. It becomes tough to sustain the same pace. One solution is that work from home on Friday, or give an option to work from home to get pending work completed.

Sounds fine , but the problem comes when you try to sustain the XP best practices like Pair Programming/Rotation, Collective code ownership etc. I beleive that once the door to "work from home" is opened, it breaks the XP cycle there and then. Since each XP practice is dependent on another practice, for example without pairing, refactoring, it is really difficult to gain the benefits of collective code ownership.

Also it leads to the problem , that newbies to XP , who are sceptical about pairing, might be drifted to the option of working from home, than try out and see whether they can benefit from pair programming.

Imagine the horror, when a fellow developer decides to go on a refactoring spree over the weekend , and checks in all the code , all alone ! Monday morning , rest of the team will have to spend some significant time understanding what has happened over weekend. More problems come up, if some developers disagree to the approach. The cycle breaks, and people start owning pieces of the codebase.This might even give rise to a blame culture which is even more unhealthy for an XP team.

How to solve this issue ?

I am looking for ideas on this..

Off my head I can think of..
  • Remote pairing (using some XP tools available in market) ?
  • Individuals in the team not taking huge tasks alone (like big refactorings)
  • What people decide to work over weekend is decided on Thursday in a developer huddle.
  • People doing any imp stuff over weekend take a small session in the coming week to let the team know about it
  • Maybe have alternate weekends as 3 day weekends, stretch for 9 hrs a day to get stuff done. This way no one works on weekends and gets a long break once in 2 weeks.
  • Decide on core team hours ?

5 comments:

Curt Sampson said...

You don't really need any special tools for remote pairing; just a shared screen and voice communication. I've used screen and kphone with good success; I'd imagine for Windows you'd want some sort of desktop remote-control thing.

My biggest piece of advice? Don't work without pairing, period.

Joshua Graham said...

How about remote pairing using VNC or Remote Desktop?

This provides low-bandwidth visualisation and also remote control when the remote partner wants to take control of the keyboard and mouse.

Coupled with IM (or even just a notepad on the controlled machine) this could be of some use.

What would be really cool is an IDE plugin using RDP (or other remote control protocol) limit the control to just the IDE. Hmmmmm.

home equity line of credit said...

A

NewsBlogger said...

Hello, I like to contact you! My name is Anand Vishwan h,
By my SEARCHING out FOR THE LATEST INFORMATION about home based business I have found your site.
I was looking out for home based business related information. Sorry, I have see that your XP when 'Working from Home' isn't a perfect match. But, anyway, I am glad I have stopped by even though this isn’t a perfect match. What you have in your content is very interesting for most people.
I like to set up a link to you. What you think about?
It does will be a pleasure, if you contact me. Perhaps we have some same ideas. Wish you success with your site.

Fritz

NewsBlogger said...

Hello, my name is Anand Vishwan h,
I have SEARCHING out FOR THE LATEST INFORMATION abouthomeworking and found your site.
I was looking out for homeworking related information. Anyway, I am glad I have stopped by even though this isn’t a perfect match.
Sorry, I have see that your XP when 'Working from Home' wasn't exactly, what I was looking for, but, certainly got my attention and interest.
It does will be a pleasure, if you contact me. Perhaps we have some same ideas. Wish you success with your site.

Fritz