For small and midsize companies, outsourcing vs in-house development many a time becomes a million dollar question. There is a constant tussle in making a choice between these two options. We think of various general factors such as cost effectiveness, capability, timely delivery etc which often lead to a prejudice state and decisions are made on pre-conceived notions.
However in order to take a rational decision, it requires an objective analysis which includes quantification of risks, cost, time and value generation.
Before making this crucial decision it is important to answer the following questions while evaluating in-house vs outsource development.
Evaluate the performance (inhouse vis-à-vis outsourced) in terms of Reduced cycle time , Lower error rate and Reduced downtime. The right vendor selection should include proven methodology, processes and best practices that will bring consistency and operational efficiency required for your dev. project.
Develop a financial model(3-5 year long) to find out the TCO (total cost of ownership). Include factors such as Knowledge transfer, Mass recruiting costs, Severance packages, Bonuses ,Office space, Relocation expenses, Attrition rate cost (hiring + knowledge loss)
Compare this cost + management overhead with the contract cost of outsourcing.
Following best practices and proven methodology will also help in cost reduction along with lower error rate and delivery time.
If your project needs to be kick started quickly, then planning, hiring, training can take a significant amount to time if you are planning to go inhouse. If you need immediate results then outsourcing will certainly make a better sense.
Many a times a particular project is suppose to be one time only. You need to hire specialized resources for a short interval of time. Either you can go with the hiring on contract basis or outsource your complete project.
Q4) Do we have the right Level of Expertise?
Have you performed similar kind of projects in the past? Does the management have prior experience of handling such projects? Do you have required workforce available to handle this?
A recipe for success is to find enough experience resources which have the desired skill set and can take the responsibility, accountability and authority and further handle the project as it becomes mature. Many a times for a particular project there can be shortage of programmers in certain fields which can be an expensive option if you want to go inhouse.
Q5) Can we handle the Complexity of project?
New technology often brings more options, advanced functionalities along with increase in complexity in implementation. There are other factors also which can increase complexity such as unclear scope, setting unrealistic expectation, project teams have to compete for resources with other projects etc.
So can you handle all these inevitable complexities internally?
Q6) Do we have enough workforce bandwidth available for present & future needs?
Evaluate what would be the cost benefit if company continues focus on its core business processes while delegating non-core processes to external agencies (thus freeing up their internal high paid resources).
Another aspect is once your product is ready to go live, what next? If you are doing all the development inhouse, you need some extra hands to give L2 and L3 support. As your client base increases or you want to expand globally, you will need more support . Your customer will need 24*7 support – would you be able to provide it within your timezone?