Agile Offshoring

The server side has an article about agile offshoring. It’s quite a good article highlighting some of the things you need to consider, and my experiences of working with an offshore team are quite similar. The thing I wanted to comment on isn’t so much the article as one of the comments.

The biggest news in this article is the suggestion that offshoring is still perceived as successful by some people.

I’m hard pressed to find a single example I’m aware of that was remotely successful. Usually it’s a great way to build software of lower quality, in longer time frames while spending all of your ’savings’ on additional middle management to deal with the colossal headache that is off-shoring.

But you can still find folks who think EJBs are the greatest thing since slice bread so I guess word travels slowly.

Wake up and smell the curry! Offshoring can be a complete disaster, but if it is then the root cause is most likely the result of incorrect assumptions or poor delivery by the onshore teams. Offshoring can be successful and is here to stay. Let’s be clear I’m not an offshored employee; I work onshore (in the UK); I’m not someone who has immigrated from an offshored country; the job that I do is under threat by offshoring - so I’m not biased, ok!

Not able to find a single example eh? The article gives you one and I can give you more. Let’s be clear, software development is hard, offshoring makes it harder; there’s geographical separation, cultural difference etc. This makes it harder. But there are opportunities, there are a number of very skilled individuals out there; there are an awful lot more rubbish developers but given the size of the pool it shouldn’t be too difficult to resource a project team with very keen and able people who are hungry to deliver a good solution. I don’t buy into the view that offshore developers are poor developers; my recent experiences of interviewing onshore developers are that they are often equally (or more) poor but with a really bad “I want to be an architect as quickly as possible” arrogant attitude.

Middle management? Sure there may need to be a slight increase in management but certainly no more onshore, any additional managers should be offshore and adding direct and measurable value; as should any remaining onshore managers. Senior management can certainly be a constraining factor with unrealistic expectations of cost savings without fully taking into account the additional costs. Also, cross-geography contractual issues can be a pain; but these should always be mitigated by a great peer-based team working relationship between the on and off-shore teams. The peer based, earned, mutual respect approach is essential - if you go into the project with an attitude of “I’m onshore, I’m clever” you’ll fail. You may be clever, but you will fail.

Hard, yes; possible, yes. If you fail it’s your fault, not the offshore team’s; their normal cultural attitude is to deliver what you want and to please you. So let me make it clear - if what they’ve (offshore) delivered to you (onshore) isn’t what you wanted or of a poor quality, that’s your fault not the offshore team’s fault.

As for the comment on EJBs - whilst I’m entrenched in Java technologies, I’m not a great fan. I firmly believe that J2EE has been the single most disruptive influence in technology in recent years - it has promised much and delivered very little. EJB 3.x is where EJB 1.x should have been and Sun should be ashamed… but that’s a whole separate blog article.

Leave a Reply

You must be logged in to post a comment.