Most organizations today are using or planning to utilise lower cost centres to fulfill more of its project needs both on a cost reduction and execution basis.
The cost reduction ethics of utilising people in economically less developed countries is a well understood model although the rationale of hoping that cheaper will be better is usually ill conceived and badly thought through, the biggest folly in this area is generally people are so fixated on cost per hour they over-look off-shore effort (mandays) per deliverable which in a lot of cases negates any cost savings. However this article is not about the rights/wrongs of using lower cost labour but it is worth considering the following “A competent software designer/developer whether on shore or off shore is an individual of value and if not respected as such will look for a higher paymaster once a sufficient degree of skill is reached and true value is not being properly rewarded and/or utilised”.
The execution basis rationale is based on the belief that a larger population in economically less developed countries provide a higher ratio of people to design and develop software. This in itself is a valid assumption if normal market demand applied, however when multinationals descend on a country to snap up an eager and educated workforce, within a short period of time the laws of supply and demand drive both the costs up and the average skill levels down as people rush to cash in on the demand side and the natural-talent % of the work force is reduced by the sheer numbers hoping to get trained in order to have a decent prospect of employment with a respected company.
The software deployment industry are masters at gathering up any available talent and deluding themselves that numbers through the door “i.e. backsides on seats” equals proportionate gains in productivity and throughput.
It is easy to find stories of failure and distress at off-shoring efforts, but more difficult to find real success stories. By “real success” I mean a repeated demonstration of delivery capability by a core team that has been together for more than 2 years and are masters at delivering either components of or whole projects in a remote capacity.
And this brings us to the nature of this topic, we as an industry need to drop our staff augmentation (i.e. body shopping) mentality for off-shore usage and focus on a modern, professional and sustainable model more akin to the sub-contracting models utilised by manufacturing, logistics, distribution and other industries.
Regardless of the country selected as your point of off-shoring if you take a staff augmentation approach you are looking purely at cost reduction and trying to fill in gaps in resourcing, reporting on savings in cost-per-hour and then wondering why overall cost per deliverable has not decreased. What usually happens is that the team as a whole fail to gel together and people working remotely never get properly invested in the project.
A sub-contracting approach is one which allows an off shoring model to operate in a more productive manner encouraging the staff to build real careers within a company.
So what do I consider Sub-contracting to be within the confines of a software development environment.
First of all lets define what it is not;
- It is not about grabbing a few programmers to do the coding
People need to understand and be connected to what they are doing. Just dumping technical specifications over the wall gives a team no real satisfaction in deliverables and also (and more crucially) does not promote an environment where people have real career paths and motivation to stretch themselves. This is one of the reasons for high attrition rates in off-shoring organisations.
- It is not about controlling all aspects of the activities from the on-shore project office
There is a high percentage of project managers that do not trust what they do not fully control. When you push work off-shore there has to be an implicit degree of mutual trust on both sides. Trying to micro-manage a remote team leads to conflict and a loss of motivation in the team members and a belief that they are not fully empowered to deliver to the best of their abilities.
- It is not about the lowest cost
Off-shoring should be about building an economical and sustainable delivery model where the competencies off-shore are the equal of those on shore. You must be able to charge realistic rates for off-shore staff in order to maintain a reward structure that keeps people in your organisation for more than 5 years. And by reward this means a mixture of monetary, experience, career and environment incentives. People will always leave because of money, but it is much more difficult to leave an environment that you find rewarding in social, educational and career progression perspectives.
I believe Sub-Contracting is best defined as “Employing a team outside one’s own organisation to deliver one or more components of the overall program/project”
Whether the Sub-Contracted party is internal or external to the organisation of the Sub-Contractor there is a core set of values and rules that should be followed in order to make the engagement (i.e. contract) work in a successful & professional manner (this is particularly true in the IT industry).
The sub-contractor manager or business unit owner is essentially running a company and should behave as such;
- They must invest in training their staff to a level that is equal to but hopefully better than their on-shore colleagues
- They should be firm in their approach to what will be accepted as a contract and be forceful in negotiating the conditions under which an engagement is to be executed
- They should be involved in determining how big a task is and more crucially how many resources and what competencies are required
- They should always be in control of agreeing delivery schedules
Everything needs be treated as a product and the sub-contractor should be fully aware of the “Products he is selling”. For example a sub-contractor could have a range of project models that can be bought off the shelf. 1,000 Manday development Model, 5,000 manday model, Migration model, etc.. Each model can be tweaked to suit the particular engagement but cannot be fundamentally changed because the on-shore Project Manager and/or team do not agree with it. Each product should have a well defined and understood cost profile.
The on-shore sub-contractee should be aware that if a sub-contractor says it will take X to deliver a component then they have no right to object and force their own beliefs on the sub-contractor’s workforce.
Sub-contracting is a bought and paid for service, if the purchaser cannot adopt your style of working then let him find another provider. Your reputation as a sub-contractor will be based on a proven track record of deliveries and a high quality of all deliverables. You can only build this reputation by being in full control of how and what you deliver.
A formal contract should be in place governing the responsibilities of the Sub-contractor to the Sub-Contractee
- Every engagement should be documented via a Statement of Work with requisite SLA’s on delivery schedules, quality and change management.
- Work to be Sub-contracted should described as a deliverable which can be designed, built and tested off-shore before delivery to the on-shore project stream.
The interactions between the parties should consist of the contract negotiation, agreed milestones/checkpoints, agreed inputs and outputs, agreed governance and QA and above all agreement of the sub-contracting party NOT to interfere in the manner in which the sub-contractor carries out the engagement.
Just as the on-shore team report to the client, the off-shore PM / Team Leads must engagement with their on-shore counterparts in the same professional manner. Trust in something that is hard to earn and easy to lose. Professional communication and management approaches help in building trust.
In order to build up a competent and professional organisation you as a sub-contracting manager must insist on delivering components of a project from design, coding through to testing. You need your people to be engaged and invested in what they are doing, only by offering a full development lifecycle will people feel that they own the deliverable and that there is a well defined set of careers paths within your organisation
Off-shoring using a sub-contracting model can and does work. However to be really successful you must strive to be perceived as a provider of solutions and not a provider of people.