This depends on the volume of work and the level of expertise that you have in-house. I would say the first step is to understand that not all IT work is equal and different levels of expertise are required depending on the task at hand. Some examples of various IT tasks include:
- Developing a site with content management capabilities
- Developing custom software.
- Implement a new in-house Server
- Moving Services from in-house server to the cloud.
- IT consulting work to help define and improve your workflow.
All of these tasks require a different set of skills, and typically small businesses do not have these capabilities in-house. So if your business has a short term project in mind and it does not have the capabilities in-house it makes sense to outsource your specific IT need. However, it is important to keep in mind, that because a company has the capability to move a service to the cloud, this does not necessarily mean they a re capable of developing custom software or installing a server.
In a different scenery, for example, a business might require an IT support team to assist 100 users in the main office and 20 users in a remote office. This case could justify hiring support staff in-house at the main office and Outsourcing some support functions for the remote locations.
This same company might also require a custom software developed but does not have the resources for this project. This case also could require IT outsourcing for custom software development.
Another case were it makes business sense to Outsource, is when you have the capabilities in-house but they are tied up working on other projects, or do not have enough time on hand to deliver the project on-time.
In a nutshell, the decision to outsource your business IT functions, depends, among other aspects, on the type of capability you require and the time constraints your business has.