Hiring someone offshore to build your idea, trusting them with tens of thousands of dollars and putting your reputation on the line seems like a hard decision to make. While thinking about these things, it's hard to justify going this way, but it could be a hidden gem that would help you overcome the hiring challenge with a professional team. 

Having this in mind, picking a good outsourcing company can be really tricky. I've heard fifty different stories about how people got burned. Communication that is not set properly, unclear project expectations and bad guidelines make it difficult for both sides. 

You assume the company you found has good intentions to build your product or service, but what if they are just there to take your money and pretend to do something? It's crucial that we do our homework and ask proper questions when choosing the right partner to create a win-win situation for both sides. 

State of software development 2018 report

1. What Are Your Prices?

Let's talk about the elephant in the room: prices.

It's an obvious one, but many fail to understand the actual costs of offshoring your product development. 

The lowest rates often come with a high cost: poor quality. Most of the bad experiences with outsourcing happen because of this reason, so the advice here is not to hire the most expensive team but to search for the best quality-pricing ratio. 

Check the pricing, and directly ask for their quote or hourly rate. This is also a good thing because in negotiations, it's always good to speak last and let other show their cards. When they tell you the pricing, try finding online what is usual for their region and what is typical for their stack. If it's lower, that's might be a sign to avoid them. Remember, never sacrifice quality to save money!

2. How Will We Communicate and How Often?

The second most important thing is to establish proper communication.

If the team on the other side talks with you once in two weeks, that probably won’t be enough. Ask them which communication tools they prefer and if they would be willing to switch to yours if you have a preferred one. Daily meetings are great to keep up with everything that’s going on, and they don’t need to be long; a 5 to 10-minute updates will do the trick. 

Project management also plays an important role; teams that are professional tend to operate through Kanban or Scrum methodologies and use PM tools daily.

It’s a huge red flag if they don’t use any kind of project management tools or agile methodologies as Kanban or Scrum. Even working on the most straightforward website requires some collaboration tool to keep the project on track and to avoid misdelivery. Communicating daily can be a burden for both teams, but you will correct mistakes in the early stages and prevent simple problems from escalating into something bigger. 

3. What's Your Process of Working with a Client?

On one occasion, a potential client asked us to guide them through the work we did for one of our existing customers.

They asked us to describe our daily working routine and how we contributed to the project. We created a short case study with information about how long the relationship was, how many people were on the project, what their stack was, how we communicated, which cloud platform we used…

Additionally, we described the challenges we had to overcome, what we learned from them and how we planned to support the client in the future. Sharing our practices was an important part of the conversation since it gave them a deeper insight of how we actually work.

4. Do You Do Test Projects or Trial Periods?

When someone is ready to offer you their services for free, it's a sign they are confident in their skills.

Tests are not only useful to see whether or not the team is technically capable of producing quality code and design, they are also an opportunity to get a feeling of how the other side operates.

Having a trial period shouldn't be different from the "real" project. Make sure to set up the environment properly, including the communication tools, schedule and project management tools. Trial periods are great to see your software agency in action, reducing a lot of risks.

So, it's crucial that you behave as you would normally do during a project. Ask questions, set up project management, and get on video chat with them. It can look like a waste of time to set up a short test project, but it's worth your while. You are eliminating every undefined variable this way.

5. Can You Describe How You Approach Project Adjustments?

When you start understanding the agency a little bit better, you should check how they adjust to changes.

Especially if you are a startup, they have to be flexible and agile. Sometimes, sales don't go as expected on your side, and it’s good if the agency is able to adjust quickly, meaning that you should look before contract signing if there are some things preventing you to downsize resources or put a whole project on hold.

The agency should have more of a business mindset than an engineering one, and they need to understand everything about your product or service. If they understand, some moves you make will make more sense to them, and they can even recommend objective pieces of advice that will help you.

Conclusion

Like I said, offshoring development can be a hidden gem, helping you boost sales and invest time into other activities. It's good if you have a dedicated PM on your side who would communicate daily with the agency and organize the whole project. A PM on their side could do the job too, but it's always good to have someone close by your side deeply involved. So, let’s keep the conclusion short and sweet. Ask for prices and don’t go with the cheapest option. Establish proper communication channels and determine how often you will talk with each other. Try to see the existing work from their other clients. Always ask for a trial period or give short tests before signing a contract, and get a feeling of how flexible they are. Good luck!

State of software development 2018 report

About the author:

Srdjan loves working in fast-paced environments, and that's why he chose digital marketing. As chief marketing and chief fashion officer at JSGuru, he helps us get our message across. Our goal is to create web, desktop and mobile apps that will empower organizations to achieve more.