Speculations around Software Development Outsourcing: Experts Help Get to the Truth

undefined
Best Practices
11 min read

You never know if that works for you until you try. But when a new idea occurs, business owners may dwell long on if it is worth sending the project to outsourcing. There are certain myths and risks of working with a remote team. To confirm or dispel some of them, we turned to the Symfa experts.

Table of Contents

  • Symfa Founder about myth #1: outsourcing always cuts costs
  • Symfa VP of Delivery about myth #2: outsourcing is successful by 100%
  • Symfa Project Manager about myth #3: outsourcing company is hard to control and communicate
  • Symfa CTO about myth # 4: outsourcing can not be of high quality
  • Symfa Head of Legal about myth #5: sending a project for outsourcing is insecure
  • What are the risks of outsourcing the project?
    • Symfa CEO on risk #1: a remote team will develop a product that will not solve your business tasks
    • Symfa Sales Manager on risk #2: they will exceed the budget
    • Symfa Project Manager on risk #3: they will not meet the timelines
    • Symfa Sales Manager on risk #4: the project may face financial risks
  • Final thoughts

Symfa Founder about myth #1: outsourcing always cuts costs

It is always a disputable issue whether you will most certainly gain from outsourcing as it depends on many factors: project complexity and specific, and cost of the vendor’s services. 

Can you share an example when outsourcing is the right choice to save money and have a working solution?

For example, a client from Austria wants an MVP for a mobile application with a predefined development period of 700 hours in total. By hiring one developer from Austria with €100 per hour, the development will last four or five months and cost €70 000 for the project. Compared to outsourcing, the hours spent on development may increase by 50% due to remote collaboration specific or possible risks resulting in 1000 hours in total. At the same time, bear in mind that a proficient vendor will assign two or three developers for the project who will complete development in two months. It will cost you €40 000. Thus, savings will amount to €30 000 and 2 months. In addition, the client will have a well-established process which, though, is not a 100% warranty of successful completion but increases chances to succeed.  

What are the cases when outsourcing can be considered a more expensive solution?

Outsourcing expenses include overhead for business analysis and management to get immersed in the client’s business. It works well for large projects that require documentation deliverables. For smaller projects, where documentation is unnecessary, the in-house team can start working on the task without learning the application area specific. 

Any example?

For example, the task is to develop a tool allowing synchronization between the ordering system of the website and the accounting app. The in-house developer has access to the servers and accounting app to start working on the task at once. For example, it will take 16 hours by a well-skilled developer in total. For outsourcing, the process will begin with the involvement of the business analyst to understand how the client’s business functions and prepare documentation. It will take 16 hours. Then, 16 hours more are for a well-skilled developer to complete the task. Beyond that, outsourcing expenses include internal processes costs like selling and hiring,  possible risks, and vendor’s income. It may result in an expense increase for the client by 50% in total. If the monthly salary of the developer and business analyst is €3 000, both in-house and of the vendor, the calculation will be as follows:

In-house team vs outsourcer

To sum up, what would you recommend?

I would say outsourcing is best suited for middle-sized and large projects or processes with a turn-key approach. For smaller projects or companies with well-established management and enough tech expertise, the client will most certainly benefit from in-house development. When required to perform a larger amount of work, collect expertise, or develop an MVP, opt for outsourcing. But if you have a system with a need for constant development and support, it is better to find experts and organize an in-house department. As an exception, you can opt for outsourcing from regions with a lower hourly rate. Otherwise, it will be riskier and more expensive. But anyway, you should monitor the project flow from start to finish.

Symfa VP of Delivery about myth #2: outsourcing is successful by 100%

Nowise. The project can fail. To be fair, we should note that any projects can fai, disregarding the engagement type – be it outstaffing our project-based outsourcing or in-house development.

What can be the reasons for failure?

To mention a few, they can be as follows:

  • The business idea does not work.
  • The developed product does not meet business tasks. 
  • The project is hard to monetize.
  • There is a lack of stable financial injections. 
  • The project is hard to promote after release.

When can you expect to succeed?

The project success depends on the correct choice of the executors, contract model, client’s understanding of their business processes, and direct involvement in the development process and control. So, anyway, the client will also bear responsibility with the executors. The task is to prove yourself to be a capable manager of your business.

undefined

Symfa Project Manager about myth #3: outsourcing company is hard to control and communicate

Solid outsourcing vendors have well-tuned business processes making thus their activity transparent and clear. The client will solve the tasks by a remote team while staying involved at all development stages. 

How to understand that this vendor is transparent?

Before signing up a contract, discuss result reporting frequency, process, and means. The best cooperation way is to divide the project into stages or tasks. Upon implementation of each, the client receives a report and gives feedback. The workflow is transparent when, as a client, you understand what development stages there are, how they flow, and what each development stage should result. 

Who rules the game after the contract is signed?

Usually, a project manager (PM) acts as a mediator. PM organizes the work of the whole team and keeps the client informed. It is very convenient to stay in contact with only one person who is 100% aware of the project. However, you may contact any of the team members directly if circumstances require. 

What about time zone differences and possible language barriers?

Having developers and managers on board with a good command of English is a must for solid IT vendors. If that is OK, you need to find out how the communication process goes: communication channel types, how the issue with time zone differences is solved, etc. No matter where you are on the globe, a seasoned outsourcing vendor has seamless communication processes. Just discuss preferable communication channels and appropriate time.

What communication channels do you usually use?

For efficient work with our client, we prefer to use the following tools and services: 

  • Jira is an application for project flow control. You can assign the task to executors and track the progress. But you can use any other tracking system, too. 
  • Slack is a corporate messenger to communicate with the whole team. You can also use Telegram or any other app.
  • Zoom or Skype is best suited for video conferences if required to find an expeditious solution to an issue.  
  • GitHub is a hosting server for IT projects and co-development. Its embedded tools simplify code checking. It is hard to find a developer unfamiliar with GitHub, so no extra time is required for executors to learn how to use it

Symfa CTO about myth # 4: outsourcing can not be of high quality

It depends on how meticulously you have concerned yourself with a selection of the vendor. Seasoned outsourcing companies have tight-knit developer teams with project implementation experience based on modern and popular technologies. It is good when a client has a competent person with a technical background who can check service quality at each stage. 

What if I am not technically proficient in judgment if the product is OK?

As a rule, there is a warranty for each type of work. It is a sign that the vendor is confident of the quality of provided services and is ready to take responsibility for potential issues. When the warranty period is over, solid software vendors proceed to support the project if deemed necessary.

Make sure a remote team documents the code. It should be 100% clear for further fine-tuning or corrections. Otherwise, your attempts to understand what the developer has wanted to do during the project implementation will be time-consuming when you try to identify bugs or see what work is over and what remains. Several notes are not enough. They should provide you with detailed and complete documentation.

What else can make the client feel well-supported?

If required, the executors should train you to work on the system and use it appropriately. For a complex project, ask to prepare onboarding deliverables: a detailed guide or a video tutorial. If a vendor agrees to do that, it is an additional advantage

undefined

Symfa Head of Legal about myth #5: sending a project for outsourcing is insecure

Handing a project over to a third party may be risky. A client should find out if the vendor concludes the NDA contract that is a nondisclosure agreement. It should include that a client is in ownership of the code and developed product.

What would you recommend including in the contract?

The contract should also contain the following information: 

  • Confidentiality provisions
  • Intellectual property protection
  • Rights transfer format
  • Responsibility for violation of agreements between the client and the contractor
  • Responsibility for legislation violation on the processing of personal and confidential data

Is there anything else to consider?

Yes, for example, if a specification is not in the scope of work, conclude a separate contract for its preparation. As a rule, the vendors provide a discount for business analysis at the time of concluding a contract for project development.

If developers do not write code from scratch but offer you to buy the source code of the production-ready application and re-write it to adapt to your project, this may cause legal problems. Piracy of intellectual property is a crime.

What should a client pay attention to as far as the code is concerned? 

  • Legally buy the code from a reliable vendor. 
  • Check what rights you will get through the code purchase agreement: change it or fine-tune as required or only redistribute modified versions. 
  • Make sure the purchased code is changed enough to become a new product. 
  • Register intellectual property rights for the production-ready application to disable the vendor from using this code in projects for other clients. 

What are the risks of outsourcing the project?

We have already confirmed and dispelled some myths about IT outsourcing. Let’s move to possible risks a client may face when opting for outsourcing.

Symfa CEO on risk #1: a remote team will develop a product that will not solve your business tasks

It is one of the most common issues when collaborating with a remote team. It will happen if you do not clearly define the goals and tasks for the team. As an example:

Poor goal: I want to have a website to gain profit.

Good goal: The website should relieve the sales department of routine tasks and automate inner processes. 

And the client should provide the list of those processes and determine which of them are weak and should be improved, right? 

Correct. If the vendor provides business analysis services take it as an advantage. The project team will understand better your business from the inside and how the end product should look. If the team lacks knowledge of what inner processes to optimize, it results in a system that will not complete your tasks. Omission of this stage and projecting may result in wrong project estimation.

Symfa Sales Manager on risk #2: they will exceed the budget

It is possible. It depends on the chosen payment model — Time & Materials or Fixed Price. Find out if the final cost includes potential risks. Check if all kinds of desired services are in the estimate. If not, you will face additional expenditures.

What should be specified then in the design specifications and estimates?

I would highlight the following options:

  • Business analysis with specifications
  • Projecting
  • Mockup creation
  • Architecture and design
  • Development
  • Code documenting
  • Software testing results 
  • Code deployment on the server of the client 
  • Maintenance and support
  • Onboarding

If any of the options are missing, discuss with the vendor who will bear responsibility for such an option.

undefined

Symfa Project Manager on risk #3: they will not meet the timelines

Schedule overrun is the most common risk for more than half of the projects. In our experience, in 20% of cases, it leads to failure.  

What should a client then expect?

Be prepared that the development of any product requires lots of time with no one to escape adjustments. So, your deadlines should include possible timing errors. But if you feel that the team delays any of the stages or the team takes too long to complete a specific task, contact the project manager to find out the reason.  

Is there a contract model that would help avoid timeline failure?

If you fear that developers will fail to meet the timelines, select the Fixed Price model. You should find out if your vendor has included the risks. If the scope of work performed by the team does not include amendments, adjustments, and fixing potential errors, you will not be able to change anything. As a result, you will have either a wrong-functioning product or a product that will not work at all.

Symfa Sales Manager on risk #4: the project may face financial risks

In the course of project implementation, financing delays may cause problems. When payment is not systemic, does not come in full, or is postponed, it results in serious risks where the team has to switch to another project or, due to insufficient financing, to lose front-line developers.  

How should a client act in this case?

Discuss this issue with the manager before signing up the contract. Find out what will happen to the project if you break a payment schedule. In this case, I would recommend concluding a separate agreement. You should know all possible scenarios.

Final thoughts

Collaboration with an outsourcing vendor is always risky as the choice may fall on the wrong partner. But not all myths are true. Business owners should select an outsourcing partner when fully armed: know which points require particular attention, what to expect and what questions to ask before collaboration starts. It is important for enterprises (in terms of IP protection, data security, strategic goals and timelines), and also for startups utilizing vendor services and facing similar challenges in addition to budget limitations and tight deadlines.

More Like This

BACK TO BLOG

Contact us

Our team will get back to you promptly to discuss the next steps