Agile/XP programming and Offshoring
I find all the hype about offshoring to be amusing given the general direction the software industry is going. Offshoring, in my mind, requires either a vertical organization move offshore or an extremely rigid and well managed development process. The agile and XP software development movements have basically sprung up due to the industry accepting that requirements have, and always will suck/change.
The problem is that "the industry" *isn't* supporting Agile/XP processes. It's the developers fighting a probably fruitless battle against management to actually get a chance to succeed for once.
The XP process assumes that the team is physically together. If you can't do this, nobody will shoot you, and you can still follow the rest of the XP process and get value from them, but you wouldn't derive the benefits you'd get from the full synergy of the entire XP process.
The Pedant, Brent P. Newhall
These processes require more than just the ability to break groups of people up. They require that developers, project managers and users all interact in a deep and meaningful way. They also involve iterative development. These are not things you can easily do with a development house in India and your business knowledge/requirements folks and users in the United States. So unless you're moving users and management to India too (which is what I meant by a vertical organization move) you're going to have a hard time embracing offshoring and agile development processes together.
You don't have to be physically present for work to take place.
I find it amusing that all the programmers that 3 years ago were complaining about not being allowed to telecommute, are now complaining about outsourcing.
I find it annoying that all the managers that refuse to allow programmers to telecommute *now* are all for sending their IT staff halfway around the world.
"Offshoring, in my mind, requires either a vertical organization move offshore or an extremely rigid and well managed development process. "
Agile processes are deliberately optimised for volatile requirements. Volatile requirements are not a good thing when you're outsourcing to another timezone.
One Programmer's Opinion
T. Norman wrote, "As long as it can be used to create *illusions* of savings..."
One Programmer's Opinion
My previous company was a big Agile/XP shop, and they opened up an office in India for just that reason. From what I could see, they generally weren't sending new work over there, at least not yet, but were transfering mature projects over there for the long term maintenance. Companies don't want to continue to pay american consulting fees for extended periods of time.
> Companies don't want to continue to pay american consulting fees for extended periods of time.
You know, that's a good point. If the average company wants to see savings *and* productivity increases, outsource middle managment to India and don't provide them with any way to contact the development team.
"I find it annoying that all the managers that refuse to allow programmers to telecommute *now* are all for sending their IT staff halfway around the world."
"There are other reasons than flirting and swapping scatalogical jokes to use IM,IRC, etc, etc...."
"Do you know how time zones work?"
Fog Creek Home