Setting the scene

When a business has overcommitted or is under resourced, the first reaction is denial, then when things come to a head the next step is to hire a contractor to alleviate or solve the issue of throughput.
Naturally the business wants to get their money’s worth out of a contractor but without proper management the introduction of a contractor can have counter productive long term impacts on team morale.
Firstly from the business’s point of view let us look at the costs involved in the contractor being embedded into an existing team, this will be primarily driven by fiscal concerns (i.e. money spent):

  • Existing staff have a lower barrier to entry / cost to work on an existing code base.
  • Existing staff will incur a cost to start a new project and learn new skills or technologies.
  • Contractors will have a cost of learning to pick up anything be it an existing code base or a start a new project with technology that is new to the company, in fact the contractor might have experience with the new stuff reducing their cost of work.
  • The contractor will typically cost more per person hour or day than your current staff.

The decision

These costs or factors result in the company wanting existing staff to work on the current code base with their lower cost of entry and familiarity with the code. They then get the contractor to work on newer things as his cost is high to learn anything and it is psychologically easier to perceive the cost of a contractor resulting in a new project or code. This way they are not spending money on two fronts to get existing staff trained and knowledgeable on new software or frameworks whilst paying a contractor to learn about the existing code base.

The impact

This is a bad idea as it has a detrimental impact on the team psychology; existing staff will feel they are stagnating and being passed over for career development in favour of a contractor getting to walk in and create a new code base that will then need to be maintained by the said staff. It engenders a perception of a management culture that values short-termist gain over investment in the team.
Remember these are the people expected to continue working on the product long after the contractor has come in and “saved the day”

The long term solution

Use the contractor (which is costly but you’re already in trouble if you’re relying on contractors) to learn and maintain the existing code base. Their experience could even help improve the code base quality and in future if ever the team is over committed and a contractor is needed again, the cost of bringing in the same contractor is reduced. This can result in future increased resiliency and bandwidth for the team.
The contractor having been through and experienced similar pain points with the legacy/existing code will enable them to gel with the team in future over the shared experience and will increase team solidarity.
The existing team members will be given the chance to try something new and exciting, a reward for working on the bread and butter code base. This change will galvanise them and provide a chance for growth of skills through a break from the norm.