Some of the frequently mentioned Key Performance Indicators which lead to that assessment are :
- Development Sprints take to long to completion
- Sprints are simplified by reducing the number of sub tasks
- Q&A takes to long
- Average time for bug fixes
I am often times amazed that the prevailing mindset seems to be that this is just "fine" and lesser performance is to be expected when outsourcing. After all...pricing is low enough that it does still make economic sense. (and I am sure that is true for a lot of outsourcing relationships).
Let me perfectly clear...I am the first one to admit that there is a productivity gap between an onshore and offshore software developer.
What is important to realize though is that with familiarity the productivity gap will start shrinking right away. The actual gap remaining after a month or two month is subject to debate...in my opinion it is not uncommon that the gap will be eliminated completely, but as I said...it is subject to debate.
As such the question needs to be looked at why the feeling is so often that the quality of the work is just not great. In my experience and when discussing the outsourcing strategy I usually learn that in situations like the ones described above the outsourcing vendor is looked upon as a cost center.
The most important factor in negotiating any outsourcing deal is most often the hourly rate or team rate being charged. Corporations will negotiate to get the lowest rate to realize the most savings.
The strategy does of course makes sense to the corporation...but the flip side of the coin is that it does then lead to shortcoming in the composition of the development team.
A low rate will lead to a team which is predominately staffed with junior developers, supervised by a few senior guys. The problem with that approach is that the Junior developers are afraid of the power wall...they lack the authority and confidence to challenge their immediate superiors or anyone from the client side.
Consequently the back and forth which ultimately results in a more productive and informed process is lacking.
Of course not every corporation is going to willingly spend more money on its offshore development team to change the mix up of the team. It might be a good investment though...just exchanging one or two junior developers with mid-level developers might create the bridge the team needs to overcome the power wall, both internally and externally.
If the budget is set in stone another option is to exchange 3 junior against 2 mid level developers (given the team size allows for it). It should be cost neutral but it is my experience that the change in team dynamic will boost productivity and improve the overall KPI's despite the reduction in team size.