How to Choose React Native Development Agency?
Tags: reactnative, mobile, outsourcing
Published: 2021-08-10 19:57:51

<!-- wp:heading -->
<h2>Introduction</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Nowadays, having a <a href="https://pagepro.co/mobile-app-development.html" target="_blank" rel="noreferrer noopener">mobile application</a> seems like a must in many industries. It allows for much closer contact with clients, engaging them on many levels and responding to their needs almost as soon as they occur.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>However, many <strong>companies that plan to build an application do not sufficiently know and understand what building an app actually entails</strong>. But more importantly, they don’t realize how far technology went in recent years.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Since <a href="https://pagepro.co/react-native-development.html" target="_blank" rel="noreferrer noopener">cross-platform development</a> came into existence, <strong>it made building mobile applications easier, faster, and more accessible</strong> in almost every domain.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Because almost everyone uses at least a few applications to handle daily business, acquire information, do shopping, communication, etc., technology must continuously look for (and find) increasingly easy ways of building these applications to answer the ever-changing trends.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>One of these technologies is <a href="https://reactnative.dev/" target="_blank" rel="noreferrer noopener nofollow">React Native</a>, with the growing popularity and many possibilities.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3><strong>React Native means:</strong></h3>
<!-- /wp:heading -->

<!-- wp:list -->
<ul><li>Faster mobile development</li><li>Building applications on Android and iOS with one codebase</li><li>Vast possibilities of implementing ready-to-use solutions</li><li>Quality for much less money</li><li>On-demand support from massive community</li><li>And much more</li></ul>
<!-- /wp:list -->

<!-- wp:heading {"level":3} -->
<h3>T<strong>he questions remain:</strong></h3>
<!-- /wp:heading -->

<!-- wp:list -->
<ul><li>How to start?</li><li>What do I need?</li><li>Where to start planning the development process?</li><li>How long will it take?</li><li>How much will it cost?</li><li>And more</li></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>So now, let’s say you do like React Native, and you decided to <a href="https://pagepro.co/react-native-development.html" target="_blank" rel="noreferrer noopener">hire React Native agency</a> for your next mobile project. You are looking for <strong>an experienced agency that will help you with the development process</strong> from top to bottom, 360, and <strong>help you understand what's important at each stage and step you will make</strong>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>What we recommend you to do is to have face-to-face interviews with them.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Let's go over a few points that will help you to better prepare for such an interview.<br></p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":5735,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://pagepro.co/blog/wp-content/uploads/2021/03/react-native-agency-interview-1024x683.jpg" alt="Choosing React Native agency: Interview" class="wp-image-5735"/></figure>
<!-- /wp:image -->

<!-- wp:heading -->
<h2>How to run an interview with React Native agency?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><strong>An interview is an essential part while hiring the agency</strong>. It will help you fill in the blanks and decide whether they are trustworthy and knowledgeable or not. However, you will get much more out of such an interview if you will get yourself prepared. Otherwise, such a meeting could become a huge waste of time for both sides.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>You can follow our five-step list to prepare for such an interview.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":5867,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://pagepro.co/blog/wp-content/uploads/2021/03/How-to-hire-React-Native-Agency-1024x558.png" alt="Five steps to prepare for an interview with React Native agency" class="wp-image-5867"/></figure>
<!-- /wp:image -->

<!-- wp:heading {"level":3,"textColor":"black"} -->
<h3 class="has-black-color has-text-color">Step 1: Specify needs and budget.</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><strong>What features and functionalities do you want your application to have?</strong> It might be a great idea to note down all of them in order of importance. This way, you will make sure that you won’t miss anything crucial in turning your idea into a working product.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>It will also <strong>help you with staying on budget while building at least the MVP of your application</strong>. And specifying a budget is the next thing for you to do after identifying the needs. Be aware that you might have to spend more money than you predicted or wanted to if the project is complex or due to users’ feedback or ideas that emerged during the ideation phase.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>However, <strong>a good agency will give you at least a ballpark estimate (or, in some cases, even a fixed price)</strong> during an interview. If the project is complex, be prepared for other options like time-and-material. It will give you many flexible possibilities.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Be aware that your budget may not cover implementing all the features and functionalities you wanted in the first place. To deal with this situation, you can either create a prototype (<a href="https://pagepro.co/blog/how-to-build-an-mvp-a-step-by-step-quick-guide/">or MVP</a>) or rethink the to-do list and remove some points for now.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3,"textColor":"black"} -->
<h3 class="has-black-color has-text-color">Step 2: Check the React Native agency’s website.</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Treat the agency’s website like their bigger business card with all crucial information instead of just contact details. While browsing through such a website, focus on:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><li><strong>Agency’s specialisation</strong> – the best-case scenario is that it’s React Native agency. It might indicate they know what they are doing. However, don’t let it be a deciding factor – even if it’s not written with big letters on a home page, it doesn’t mean the agency doesn’t know how to work with React Native.</li><li><strong>Size of dev team</strong> – you don’t want to be dependent on one or two developers – even if your project is relatively small.</li><li><strong>Localisation</strong> – find out where the agency is based and if it matches your time zone. If not, make sure that it won’t be a problem for you.</li></ul>
<!-- /wp:list -->

<!-- wp:heading {"level":3,"textColor":"black"} -->
<h3 class="has-black-color has-text-color">Step 3: Check the agency’s portfolio.</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Look for projects involving React Native and check if there are similar projects to yours. What’s also important is if the agency did projects in the same niche because it will help them understand you better.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3,"textColor":"black"} -->
<h3 class="has-black-color has-text-color">Step 4: Read reviews and testimonials.</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Don’t believe everything the agency will say just because they say it. Verify their words by reading reviews and testimonials on a website or, even better, on portals like Clutch. <strong>You can go even further and contact clients directly to ask for an honest opinion.</strong></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Reviews and testimonials posted on independent portals like Clutch are even more trustworthy than those on the agency’s website. It’s because the agency isn’t collecting them.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3,"textColor":"black"} -->
<h3 class="has-black-color has-text-color">Step 5: Prepare a list of questions.</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>If you are satisfied with what you have learned about agency or agencies, now it’s time to prepare a list of general and technical questions. Such a list will help you decide whether you are talking with a competent agency or an agency that just pretends to be competent.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3>Extra: Step 6: Observe how fast do they reply</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>How fast a salesperson will contact you after you leave your message? Is a salesperson clear about the next step you need to take? How often is she following you up and how she is leading the conversation further? </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>It's another sign of having a process worked out. In other words, experience and professionalism.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>Questions to ask a React Native Agency</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>To make sure your agency is the right fit, we definitely recommend asking them both general questions, as well as the ones closer to their technical process and approach. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Here's a helpful list of questions, and a small explanation of what you should expect. </p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":6576,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://pagepro.co/blog/wp-content/uploads/2021/05/questionsforreactnativeagency-1-1024x799.png" alt="A table with some of the questions to ask a react native agency" class="wp-image-6576"/></figure>
<!-- /wp:image -->

<!-- wp:heading {"level":3} -->
<h3>Partnership, collaboration, and quality assurance</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><strong>How to make sure you will get what you want? </strong></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Good partnerships are not afraid of difficult questions.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>These questions will help you understand what can you expect from the agency while working together and how they approach quality and delivery assurance. </p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4,"textColor":"black"} -->
<h4 class="has-black-color has-text-color">Communication:</h4>
<!-- /wp:heading -->

<!-- wp:list -->
<ul><li>How will the communication between us look like? What’s your preferred way of communication?</li><li>How would you structure the cooperation (considering we are working on multiple projects)?</li><li>How do you approach the option of occasionally visiting us in our office for consultation sessions? (Assuming the Covid situation allows for this).</li></ul>
<!-- /wp:list -->

<!-- wp:heading {"level":4,"textColor":"black"} -->
<h4 class="has-black-color has-text-color">Understanding your business:</h4>
<!-- /wp:heading -->

<!-- wp:list -->
<ul><li>How will you ensure you understand our business requirements?</li><li>What do you do to make sure you meet the business requirements when developing features?</li><li>If we would switch places, what measures would you put in place to make sure that services are delivered in the best quality possible and that the outcome meets the requirements?</li></ul>
<!-- /wp:list -->

<!-- wp:heading {"level":4,"textColor":"black"} -->
<h4 class="has-black-color has-text-color">Team assembling:</h4>
<!-- /wp:heading -->

<!-- wp:list -->
<ul><li>How do you shape teams? How are skills distributed across the team?</li><li>What about choosing people for the project considering roles and responsibilities?</li><li>How long can we expect to work with specific team members? How do you approach turnover?</li><li>What do you do when we are not satisfied with the work of one of your team members?</li><li>How do you make sure that work performed by each team member is of the same high quality?</li></ul>
<!-- /wp:list -->

<!-- wp:heading {"level":3,"textColor":"black"} -->
<h3 class="has-black-color has-text-color">Technical questions</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Without any React Native development experience, asking technical questions may be challenging. However, in this case, <strong>if you want the Agency to be a trustworthy partner, you may want to learn how do they explain technical stuff to others.</strong></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>To help you with that part, we prepared some questions that could uncover possible threats.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4,"textColor":"black"} -->
<h4 class="has-black-color has-text-color">1. <strong>Does your agency have a standard code development process? How would you integrate that with our processes?</strong></h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>For example, at Pagepro, <strong>we do have our own code standards, but we are very agile and adaptive if it's required.</strong><br>We work with many companies, and we are used to adapting to the client's standards.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4,"textColor":"black"} -->
<h4 class="has-black-color has-text-color">2. <strong>What automation testing strategies have you utilized and would recommend?</strong></h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>At Pagepro, we usually do have a separate team that writes the automation tests (E2E).<br>If the project is logic heavy, we can provide the unit tests with a continuous integration solution to make sure we don't have any regression.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4,"textColor":"black"} -->
<h4 class="has-black-color has-text-color">3. How do you approach assuring a product and the code quality? What do you do to ensure the code written by you is future-proof?</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>At Pagepro, for example, we make sure everything is named correctly and readable (variables, functions etc) so the code is self-descriptive. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>We use TypeScript which is somehow making sure we won't accidentally break the app when we change 1 thing in the code (compilation errors). If the code is not declaring its intention, we add extra comments about it so if we come back to that code in a few months we will understand that.<br>We do code reviews with some requirements, so you can't merge the code that is not approved by others.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>We are also making a pull requests, but before merging it into a master branch, another developer has to review it.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>On top of that, we use Expo SDK so the packages we are using to develop our project are well tested and stable. This is how we minimize the possibility of using an invalid package and the problem with developing/update application in future.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>And finally, we use linters, so each and every developer working on the project, writes the code in the same way</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4,"textColor":"black"} -->
<h4 class="has-black-color has-text-color">4. <strong>How do you ensure documentation is adequately updated and revised during technology changes and iterations?</strong></h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>We update the documents each time we change something important that includes extra work or required making the project work correctly, including:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><li>adding environment variables</li><li>creating extra account to make something work</li><li>situations that need to do extra setup manually</li><li>situations when we've changed our standards</li></ul>
<!-- /wp:list -->

<!-- wp:heading {"level":3,"textColor":"black"} -->
<h3 class="has-black-color has-text-color">Other general and light questions</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>The list of general questions will <strong>help you define the general abilities and accessibility</strong> of React Native agency during qualification meetings or a call.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4,"textColor":"black"} -->
<h4 class="has-black-color has-text-color">1. <strong>How long did you work on your longest project?</strong></h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>It doesn’t matter if your project is small or complex – <strong>you should look for an agency that can build lasting business relationships</strong>. It’s a sign that such a company can manage projects (even demanding ones) well and will manage your project, too.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The reason behind this is that <strong>the agency, during various projects, established a set of best practices that work</strong>. Also, they experienced many problems, so they won’t be surprised if anything comes out during the project. Experience also taught them to make no promise they can’t keep just to make a deal.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4,"textColor":"black"} -->
<h4 class="has-black-color has-text-color">2. <strong>Can I ask you for a code review?</strong></h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Code reviews are usually things done by senior developers, so such a question is a great way to check if the agency has senior developers on board. If they can’t do it, there is a chance that they don’t have seniors and junior developers who will work on your project.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>It’s also a better way to check their technical skills than doing a long technical interview.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4,"textColor":"black"} -->
<h4 class="has-black-color has-text-color">3. <strong>Do you engage in any open-source and community activities?</strong></h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Developers passionate about technologies of their choice will try to contribute to the community as much as they can. It’s not only about helping others, but it’s also the highest form of learning.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>You can ask about:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><li>Open-source projects they are engaged in</li><li>Conferences and events they are attending&nbsp;</li><li>Sharing knowledge via blogging, social media or in any other form</li></ul>
<!-- /wp:list -->

<!-- wp:heading {"level":4,"textColor":"black"} -->
<h4 class="has-black-color has-text-color">4. Do you use Continuous Integration?</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Experienced teams use Continuous Integration (CI) to check whether the application works well after new commits are integrated into the main branch.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Automated testing is one of the best practices in quality assurance</strong>, and a great React Native agency should be familiar with that concept.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4,"textColor":"black"} -->
<h4 class="has-black-color has-text-color">5. <strong>Can you send me profiles of developers?</strong></h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>To check the skills and experience of developers, ask an agency for their profiles or CVs. It’s a great way to learn more about developers and their technical qualifications, portfolio, and other helpful information.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4,"textColor":"black"} -->
<h4 class="has-black-color has-text-color">6. <strong>Can I call some of your previous clients?</strong></h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Reading reviews and testimonials may not be enough to understand how the agency works and if it’s a great fit for your project. Contacting previous clients directly, on the other hand, will help you get some crucial information.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>For example, you could ask the following questions:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><li>Why did you choose this agency?</li><li>What can you tell about code quality and documentation?</li><li>Are you satisfied with project management and execution?</li><li>What’s their English level?</li><li>What were the weaker points of this cooperation?</li><li>How do they deal with working under pressure?</li></ul>
<!-- /wp:list -->

<!-- wp:heading {"level":4,"textColor":"black"} -->
<h4 class="has-black-color has-text-color">7. What did you use before React Native?</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><strong>An even more important question should follow this question – why did you make a switch?</strong> In both cases, look for reasonable answers, not trend-based ones. You should choose an agency that sees the real value in React Native development.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>Additional tips</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><strong>Talk with at least a few agencies</strong> – don’t choose the first one you talk with, even if everything seems great. Such an approach has a few benefits:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><li>A more in-depth insight into the average rates</li><li>Information about what can you expect of cooperation with an agency</li><li>Overview of standards and best practices of good agencies</li></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p><strong>Check average rates</strong> – it helps you with two things. Firstly, you will know if your budget allows for it and what can you expect for the money you can spend. Secondly, you won’t overpay for a project.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Verify provided information</strong> – bear in mind that it has never been easier for agencies to look more skilled and experienced than they are. For example, you can check LinkedIn profiles of developers working for the agency or talk directly with previous clients to double-check some obtained information.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Double-check technical skills</strong> – don’t be afraid to ask for a trial project or some code samples. The other option is a technical interview or conversation with at least one developer on their side.</p>
<!-- /wp:paragraph -->