10 Things You Should Know when Working with Remote Dev Teams

Hiring remote dev teams and using their expertise is a very common practice in many industrial areas including IT, fintech, insurance, logistics and others. Remote dev teams can provide valuable expertise and know-how for significant contribution to overall quality of a new concept and products invented elsewhere, maintaining fair prices of business development at the same time.

Below you may find 10 tips on how to find a good remote development team that matches your expectations, is able to easy go from vision to technical requirements, and finally develop a software product that reflects your concept and business needs.

1. Search for the right team

Separating icon

At the beginning, you have to choose wisely the right software dev company that can develop the product based on your concept. There are many ways and things you can do to verify if the company you find is appropriate for your needs. You can define the number of criteria and prepare questions that can help you to distinguish between teams which are potentially good for you and those which are not. Many basic checkings that are always carried out when this issue appears include:

  • portfolio of the company
  • opinions about the company from Google, Clutch etc.
  • does the profile and field of expertise of software company matches the vision of your product
  • technology stack etc.
  • experience in developing similar solutions
  • expert knowledge
  • pricing
  • dev team availability
  • language & communication level
  • QA (quality assurance) policy
  • etc…

However, the most important thing that is often not taken under consideration is the good understanding of your business model. Before you start the cooperation, you have to make sure that the partner you want to make business with, understands your idea and analyzes your feedback. Check if the team is involved in requirements analysis and is actively searching for solutions on how to make your product better. If the dev team asks difficult questions and addresses issues that you were not aware of before the conversation, this is the good sign that it may be a valuable partner for your future cooperation. Good dev team should also share knowledge and expertise with you as a potential future partner. It should provide you with tips on how to talk with other entities and which issues should be raised in your case.

2. Contact

Separating icon

Don’t hesitate to get in touch with the people from SH. Here we are people too, we really want to discuss about your vision, and really want to bring it to business reality. Remember, that software companies will not charge you for initial requirements analysis or just human-2-human conversation about your idea. Actually, it may be very important if IT experts can verify your idea from technical point of view for free! You can get technical feedback and improve the concept using the expert knowledge.

3. You don’t need to be technical expert (but you must be a visioner)

Separating icon

Many potential clients hesitate to make the first contact with SH representatives, wondering if they have enough knowledge and experience to describe what they do or want to do, or how their vision may be translated into a set of technical requirements. Remember that you don’t need to know in detail the engineering jargon or know the technical names of solutions that you wish to be applied in your vision of the product you want to build. It is up to project manager or SH team to ask you the right questions and make sure that both sides of the conversation understand each other. Good project manager will try to get as many as possible answers to questions concerning your vision because he wants to truly understand your concept and transfer it to technical language.

 

Many potential clients hesitate to make the first contact with SH representatives, wondering if they have enough knowledge and experience to describe what they do or want to do, or how their vision may be translated into a set of technical requirements. Remember that you don’t need to know in detail the engineering jargon or know the technical names of solutions that you wish to be applied in your vision of the product you want to build. It is up to project manager or SH team to ask you the right questions and make sure that both sides of the conversation understand each other. Good project manager will try to get as many as possible answers to questions concerning your vision because he wants to truly understand your concept and transfer it to technical language.

 

4. Use issue trackers and communications tools

Separating icon

Software development is a process that relies not only on engineering work but also on clear and efficient communication between project participants. If you assume to cooperate with your software vendor for longer period of time it is worth to consider using more convenient and matched communication tools than e-mail, Skype or phone calls. Each SH usually defines their own set of communication tools starting form e-mail and Skype, but as your project becomes more involving and complex it is worth to switch into issue tracking tools that allow you to provide feedback to your dev team members more efficiently. These are slack communicators or issue trackers like JIRA or GitLab.

 

Remember that you should not be charged for using communication tools, but you should expect that your project runs smoother and the work is more effective.

 

5. So…, how much will it cost?

Separating icon

Software development, especially when developing innovative products is a complicated process. It often consists of visions, conversations, mind storms, tests, setting up different variants and from time to time unmatched ideas. Once you choose your SH to develop your product, the negotiations about the costs will start. Charges for software development are individual for every company but what you need to know is that generally there are two models of how your financial cooperation may look like, these bare:

  • Fixed price (FP) model is when before you start your cooperation with vendor you determine the total sum of the contract and the schedule of the work needed for your product development.
  • Men & Material (M&M) which is much more flexible model when both sides of cooperation agree to fixed charge for one working hour of software development. For each period (1 week – 1 month) you should receive the report from your software vendor that contains the detailed cost calculation on working hours your dev team has spent on developing your product. Usually, invoicing is performed in month periods. That allows you to routinely track the costs of your project and keep your financing predictable.

Many clients and investors choose FP over MM because they want to estimate the exact budget of the project before the project kick-off. From obvious reasons that is very reasonable approach, especially when you want to know the maximum cost of your project and to make sure that you don’t exceed the financial limits .However, remember that it has significant drawbacks. Firstly, when you look at this from SH point of view, you need to know that when the fixed price model is used, your software vendor ensures that dev works will not exceed internal costs of the project. In this way, SH shifts the risk of unpredicted costs and additional work to your budget at the very beginning of your cooperation. Secondly, once the fixed price budget is settled, additional changes to your concept need to be discussed every time they appear, including financial revision of the budget. That usually slows down the whole process and can lead to timeline violation.

Fixed price are often more expensive for the client as SH need to set up additional unpredictable cost margin that client is being charged for. M&M model is much more flexible – all project participants  may continuously observe the costs and match the predicted amount of future work to fit the budget.

 

Consider what type of financial cooperation is suitable for you. You can also propose a hybrid model and divide all your work to stages (milestones). First milestone(s) of the project can be realized according to Fixed Price model. Once you get to know your team better and your cooperation runs smoother, you may turn into MM which is much more flexible and efficient in longer period.

 

6. Listen to suggestions, let the dev team to decide

Separating icon

Once you have established the schedule and budget of your project, be prepared for improvements and options that your dev team may propose. During the project development the new ideas come along and the obstacles arise on both sides of the partnership. This may lead to some changes in prior arrangements.  If you have trust in expertise of your team, try to be flexible in this area. Carefully analyze all suggestions and provide detail feedback on your decision.

Remember that good understanding between partners during development process is crucial for overall success!

7.  Routinely monitor the improvement and provide a feedback

Separating icon

This is very important part of the development process. In most of the cases today, your software vendor will work on your product using the agile methodology. This is not a place to discuss how the agile methodology works, but the most important thing is that you should be provided with the first version of the software product in 1-4 week period from the beginning of your cooperation. Next, the revised versions of the software product should be provided every 1-2 weeks. Your job is to verify if the product matches your vision and arrangements. Every time provide the feedback to your dev team and precisely tell which things are going in good directions and which need to be corrected. Remember that the precise feedback significantly improves the performance of your cooperation, reduces the costs and helps to maintain the schedule of the project.

8. Your success is the dev team’s success

Separating icon

Each stage plays a vital part in building a high-functioning team. Dev team you choose should be motivated to achieve the success of the project because once you succeed it is also a proof that your dev team achieves their goals and provides high quality services. Don’t hesitate to communicate with the team and give information precising which parts of the project are satisfying and which need to be improved. Remember, the dev team also wants you to succeed and achieve the specified business goals.

9. Clean and reusable code

Separating icon

Ok, here is a little more technical thing you should consider, preferably at the very beginning of the cooperation. Know that you don’t have to tie to your vendor during the whole product lifetime, although in many cases this is the best option. It is worth to assume that many things happen in life that can unexpectedly disrupt your cooperation with your dev team. The company may got bankrupt, You may have cash flow problem, the change of the business model may prevent your further cooperation – these things just simply sometimes happen. In order not to waste the investment you have already made to your product development, it is very, very, very important for you to make sure that all the work you paid for remains at your hands. Make sure you get access to so called source codes repository, so in case of any catastrophe, other vendors may look back to your project and work on it further.

 

Ensure yourself an access to GIT repository of your product. After a few weeks/months of cooperation, hire an external expert that can analyze the code of your product and give his feedback to your vendor. This will allow you to maintain an external control over the quality of your product. You may repeat this procedure every a few weeks. Also, make sure that your vendor follows the suggestions of your expert.

 

10. Forgive minor faults -> require feedback -> give up cooperation

Separating icon

Many business experts say that kicking off the project is the easiest part in developing new products. Once your budget is accepted, business concept is ready, you start to search for software vendor, when you find it, make the agreement, and kick off. However, closing projects and admitting to defeat is that what is most difficult. Every dev team, even the most experienced and motivated ones, make mistakes from time to time. Experienced dev teams have internal processes of software quality assurance (QA) that consist of internal requirements analysis, feedback analysis procedures, built-in software testing procedures and so on. However, problems and delays sometimes appear – that is the nature of the software development. Once it happens, it is important for you to inform your software vendor about this situation. What is more important is to know how your dev team reacts to your suggestions. Will it introduce the improvements, repair the software errors in assumed time schedule? – this is what is the most important in this case. If such a situation repeats, despite your best will, sometimes the best thing you can do is to finish cooperation and find a new software vendor.

 

Verify if your dev team analyzes your feedback. You may check it in the beginning of the cooperation, no necessarily when significant problems appear. You may introduce some small changes in prior arrangements, make minor shift in technical concepts – see if your suggestions are implemented during your cooperation.

 

Summary

Hiring remote teams of developers allows to reduce the cost of software development maintaining the schedule and the reasonable project costs at the same time. In Central Europe, number of software companies provide efficient, scalable and high-quality software services in reasonable prices. Using remote software development services can significantly reduce the costs of development of innovative concepts. Following the tips above will not make your concept 100% successful but certainly can help you to start a good and fruitful cooperation.

Inero Software provides knowledge and expertise on how to successfully use cutting edge technologies and data to shape corporate digital products of the future.

In the blog post section you will find other articles about IT systems and more!