As you are probably aware, MoreNiche run an affiliate network. Many years ago we made the decision to develop our own bespoke software for this – and that in itself comes with it’s own advantages and disadvantages (but that’s an article for another day!) Developing your own software system requires a large amount of development resource, especially for one used daily by over twenty staff members, hundreds of clients and thousands of affiliates.
Our system processes millions of visitors per month and tens of thousands of transactions. It’s fair to say it’s a large system! As such, we have had a large amount of experience with both outsourcing and insourcing, initially having our own full development department, and then outsourcing all our development work. So, should you outsource or should you insource? To help you decide, I’m going to share our experience with you.
So, a little background. We had our own development team consisting of nine people; seven developers, one project manager and one development director. As you can imagine, this came at huge expense to the business. In the team’s early days, before it grew to such a number, we experienced no issues. The team worked well together, and work was done in a timely manner. We began to expand the team.
But the larger the team, the less productive they became.
As a result, we began to develop a huge backlog of work. We experienced ongoing management headaches, tasks were being submitted without being evaluated first, and the business had no real cost association of tasks being submitted. The team was a fixed cost (salaries) to the business, regardless of output. Eventually, the over $300,000 (USD) per year the development department was costing the business to run was simply not justifiable based on its output.
Time for a change
We took the business decision to hive down the department into it’s own business, hoping that the problem would be solved by giving the team responsibility and ownership over their own direction. The technical director took a majority stake, the team began to operate from their own building 40 miles away and we had no day to day input in the new development business.
The main benefit this brought to our business was that we now had variable costs. Given that the more work we submitted, the higher our costs, we were able to have a much clearer appreciation of the cost for any work we did choose to submit. As a result, less non-critical tasks were submitted and we could spend less, depending on our budget requirements.
However, the ongoing productivity issues continued. We found that we were now paying twice as much for half the work, we experienced much poorer communication now that the development team was not based in-house, and we also had to work around their other client commitments.
Clearly, outsourcing did not solve our development challenges. Managing our own in-house team was too expensive, and we were not getting the service we required from outsourcing.
Third time’s a charm?
It’s too early to comment but our current solution is a hybrid of both inhouse and outsourced. We now have one key in-house developer who manages the businesses development requirements. They understand the user requirements, evaluate the commerciality of tasks being submitted, create clear user requirements and perform some development themselves, overflowing to a preferred outsource partner. They will then evaluate the work coming back to ensure we are getting what we have paid for.
We are still evaluating this model but hope that this hybrid solution allows us to ensure urgent day to day tasks are handled quickly whilst at the same time having the resources on hand if we need to scale up the work. We can increase or decrease work (and cost) to meet our budgetary requirements on a month by month basis. Time will tell whether we have finally found the right development solution for our business.
- Hire specialist experts depending on task requirements
- Scale up or down work depending on budgets
- No staffing/motivational related issues and costs
- A larger pool of companies/individuals to choose from – try many until you find the right pool for your business.
- Will cost more per task than an in-house equivalent
- Communication is often harder, lack of visibility, often you will not be speaking to the person performing the task
- You need to work around your partner’s schedules, they may not be able to jump on work as urgently as you would like.
I hope this real life example of our journey is helpful and may allow you to make better decisions, especially the fact that the larger the team the less productive we became. This advice should be applicable to not only development teams but also to others such as content creation and design teams.