Is outsourcing my software development needs a good idea for my business?
Can I compliment my existing team by outsourcing specialised areas of software development without having to spend money on hiring or training?
I have seen a lot of different IT roles during my 16 years working in the industry.
No matter what the CEO may think (bunch of expensive geeks sitting around all day), IT is not simple and there are a lot of technical disaster areas that need to be managed.
I’ve listed some these below:
Infrastructure – networks, hardware, comms, devices etc.
Software Development – in house systems development & configuration
Support – Maintenance of existing systems
Web Design – Designing rich, customer focused websites for your customers
Database Development – Design & maintain dozens of databases & ensuring 100% uptime
Reporting – management reporting on all systems
SEO – ensuring that your website can be found and is not sitting in the dark when everybody else is out having fun!
Online Marketing – getting to grips with online marketing channels such as Facebook, twitter, YouTube, LinkedIn, email, google ads, etc.
This just took a few minutes and I have probably missed out on a lot of other work that goes on but it gives you a flavour of what is needed to run a slick IT department.
The question is: do I employ and manage a team of 10-20 people for this or can I outsource some of the work? That is the key question facing business owners these days and it’s a difficult one to answer.
Some of the main reasons to outsource are:
Specialised: The task is highly specialised and forming the right team in-house would just be impossible. Often, the resources are not available internally and it
would cost too much to source the right team for a short period.
Intermittent: The role or task is seasonal and does not require large teams of permanent staff. This is usually because the task is not fulltime and you simply can’t
afford to hire a highly skilled person for a part time position. I found this to be true with software development.
Reduce operating costs: With outsourcing, you eliminate the costs associated with hiring an employee, such as management oversight, training, health insurance,
employment taxes, pension, etc.
Focus on your job: When you outsource, you don’t have to lose focus on what you’re good at. I have seen it many times with small & large companies where the top guy tries to oversee all of the web development needs of the company. Initially they want to influence how the brand looks and that’s great. Eventually, they become so ingrained in the task that they find it impossible to let go. Invariable, this leads to frustration and they lose focus on the bottom line.
New Technologies & Best Practices: Keeping up with technology required to run your business is expensive and time consuming. Outsourcing development companies have many different clients with varying needs. This means that they are able to keep up to date with new trends and advise you on how to best tackle your issues.
At Engine Lab Software, we develop mainly in the cloud which reduces your costs in relation to networks & hardware. The infrastructure is managed by Microsoft or Amazon and so availability & security is pretty much a given.
We deploy our software to the cloud also meaning that we can provision new servers in minutes if the business demands.
Of course, we can also work with internal infrastructure if the client requires. It really does not make much difference to us.
We are able to come onsite and advise our clients on the best way to solve their development issues. The client doesn’t have to employ us permanently and worry about benefits, pensions, etc.
This works best for some of our clients but, for some businesses, it makes sense to keep things in-house. Each business is different and careful consideration is needed when making this decision.
The debate rambles on!