FuseIT has been an outsourcer, outsourcee, and insourcer and we've learned a few lessons along the way. There is no easy answer to deciding if a complex software project should be done internally (insourced or in-house) or farmed out (outsourced). For most companies, building software is not a strategic objective so the first consideration is, do you really want to focus on something that is not your core business?
Having said that, there are good reasons to insource if you already have a capable technical team you want to keep. Software developers are notoriously hard to retain. It is often said that your biggest retention risk is a bored developer. If you have a great team with the right skills, insourcing lets you precisely control your projects which is important if they are strategically critical for your business. You can also retain your intellectual property, often required to maintain a competitive advantage.
On paper, outsourcing has the potential to reduce costs but, in our experience, you need to assign a higher ratio of project managers to keep a tight reign on the remote resources. If you are considering a firm where communication is difficult (because of foreign languages, cultures, chain of command etc.) it is sensible to locate one of their project managers or technical leads in-house so you can better control the project from afar.
An often overlooked advantage of outsourcing is that it provides access to niche skills, for example, FuseIT developers are frequently needed because of their skills in both Sitecore and Salesforce technologies. Companies that specialize in providing niche skills over long periods of time act as information repositories for other companies that have higher staff turnovers and lose the niche skills they need.
Another development option is to form an alliance with a third party partner. The alliance partner often fits the work in as they have the capacity. Because the partner is known, they can be trusted to undertake more important work. Partners can also be selected based on their niche skills and experience and both companies can support each other's marketing activities.
If you are looking for software development services, it is very important that you speak with other reference companies that have used the same proposed service. If you want to learn more about our experience please contact us for additional information.