Building a mobile app isn’t for the faint of heart. For every successful mobile app in the marketplace, countless others fall onto the scrap heap. Being a top react native app development company, we have successfully built hundreds of mobile apps for our customers. Consequently, we have strong opinions about best practices for exceptional outcomes.
Should I Outsource Or Build In-house?
If you have a capable design and development team in-house with spare capacity, use them. There is an inherent risk in contracting a team of strangers for any project from home repair to mobile app development. If you don’t have a ready-made team for the project, unless you’re trying to build capacity by hiring, it’s usually safer, more cost-effective, and faster to outsource the work.Okay, I don’t have a team and need to outsource. How should I mitigate risk?
1. Finalize Your Requirements
Prepare a detailed requirements document outlining the functionality of the app you envision.This document should also include background information that doesn’t map directly to functionality that answers questions like:
- How did you create this app idea?
- How will this solution benefit users?
- Why will users want to use this app?
- How do you measure success in an app?
- What challenges/risks do you foresee?
This document should enable the vendor to provide you an optimized app development solution. The document you create needn’t be professionally polished, but it should be thorough. Ideally, your document should contain all or most of the following:
- Words – Although a picture is worth a thousand words, a robust narrative helps a vendor understand your motivations and direction.
- Pictures – Anything from a drawing on a cocktail napkin to a professionally created design is acceptable in this document. The point of the pictures is to illustrate the narrative and expose all of the features you expect.
- Numbers – Lay out a timeframe for the work that explains the thinking behind the numbers. For example, if you expect delivery in three months because the app will debut at a trade conference, this is an essential line in the sand that’s important to a vendor.
Include this document in the contract as an appendix because it is the basis for everything – the milestones, workflow, overall functionality, and cost/time estimates.
2. Canvas Your Trusted Friends and Colleagues
When I want to buy a fancy and expensive vacuum like a Dyson, I may start by reading Amazon reviews. Having a trusted friend who owns a Dyson, likes it, and is willing to demonstrate it is better than any Amazon review. The same goes for finding and hiring a development team.
Friends or colleagues you respect who have used the vendor are your best source of information. Not only can they demonstrate their finished product, but they can also discuss the experience:
- Was it pleasant to work with this team?
- Did this team deliver what they promised when they promised?
- How did this team handle the bumps in the road along the way?
- Did this team deliver a technically sound solution?
Admittedly, it’s not always possible to find someone you trust who can provide a vendor recommendation. Often, business acquaintances “know” a vendor by its reputation but lack firsthand experience with them.
3. Check their Relevant Experience, Portfolio, and Client References
When we research products on Amazon, we value high ratings and lots of reviews. We’re suspicious of highly-rated products with few reviews.
Before hiring an outsource company, closely verify their profile credentials, including years of experience, mobile portfolio, and client references on B2B review websites such as Clutch, SoftwareWorld, and GoodFirms. Seek companies that have developed applications with technology like yours requires. For example, if your app interacts with external hardware devices and uses Bluetooth or Wifi, seeing this technology implemented in a vendor’s previous work provides a technical benchmark.
Although this may seem obvious, when you find some promising companies, scrutinize their websites. Ideally, a company’s website should reflect a design sensibility that aligns with yours but remember that sometimes the cobbler’s children have no shoes. Read through the company’s blog posts to determine:
- Is the company actively creating new content? Much like an open-source software project, a company’s web page should reflect a dynamic, ever-changing company. Nothing illustrates this better than a steady cadence of new material on the website.
- Does the writing reflect thought leadership? If a company pushes the boundaries of technology, their writing should be aspirational and explore uncharted territory rather than just recounting lessons from finished projects.
- Is this a learning company? One way to determine a company’s commitment to intellectual growth is to gauge their writing’s thoughtfulness. Have they reflected and learned lessons that have caused them to change course?
4. Schedule an Interview and Get a Full Consultation
Schedule interviews with your top contenders. A detailed consultation will help you to clarify most of your questions, and you will be able to verify the credentials shown on the company website. An experienced company will fully answer your questions and bring the best technical solution for your app development needs. Consultation is necessary to get the knowledge about the development process. These are some basic questions to ask:
- How many years of experience do you have in-app development?
- What is the size of your team, and where is it located?
- What are your core competencies?
- Can you provide end to end services such as design and development of both front-end and back-end?
- Will you help us to submit and approve the app in app stores?
- Could you show us some relevant work examples and client references?
- Will you provide communication with the developer or project manager?
- Do you have any certifications?
- What are your hourly rates? Are you open to a fixed price budget as well?
- Will you sign a nondisclosure agreement and ensure the privacy of the project?
- Will you provide a detailed proposal with time and budget estimates?
If you don’t have in-house technical expertise, consider finding someone to bring along to this meeting who had a technical understanding of mobile app development. Although the vendor should avoid getting into the technical weeds in a first meeting, someone from your side should be present to vet the vendor’s competence.
If the company provides satisfactory answers, the challenge is assessing what it’s like to work with this team. These are some clues to absorb during the conversation:
- Was the conversation an easy give and take? That is, did the team listen as much if not more than they talked?
- Were there disagreements during the discussion? Ideally, a vendor will have thoughts that may differ from yours and have the courage to voice them professionally and tactfully.
- Was there an easy repartee on the vendor’s team? Were the junior team members speaking up or just deferring to the senior employees?
- Did you meet the people who will work on your project? If just the vendor company’s senior members attend the meeting, you should wonder why the actual workers were missing. The vendor may trot out their CEO and CTO to make a good impression and acknowledge your business’s importance. If so, before making a decision, schedule another meeting with the team who will staff your project.
5. Choose a Development Path – Educate Yourselves or Bring Along Experts
Early in the process, the vendor needs to determine a development approach before solidifying a project plan. Although the vendor possesses technical expertise, you must understand the issues. If the technical details of mobile app development are outside your wheelhouse, bring along a technologist. It will benefit the vendor if your side has opinions and can jointly decide upon the best approach. These are some basic questions that should be understood by someone on your team before this meeting:
- Do we want our first release for iPhone, Android, or both?
- Does the functionality of our app require extensive use of the native hardware of the phone?
- What are the considerations of native apps versus a hybrid app?
- If we choose a hybrid approach, which technology should we use?
- Is HTML5 and appropriate technology for our app?
6. Setup a Project Plan – Milestones for the Project
When you have selected a vendor, expect them to create a project plan. A project plan may include sprints or milestones, a cost estimation, and a project completion timeline. The following iterations represent a milestone-driven plan with deliverables at the end of each.
- Iteration 1: One-week consultation and assessment. Supply all the requirements you have. The app development company will help to refine, clarify, and improve the requirements. Once the two sides have agreed upon the final requirements, the vendor will present your project plan with a breakdown of milestones.
- Iteration 2: The app development team will produce the mobile app’s wireframe and visual designs in two-three weeks. The design process is interactive, and customer involvement improves the finished product. The deliverable of this phase is the finalization of the app UI/UX.
- Iteration 3: The time has arrived when your app development begins. The vendor will build the front-end and back-end of the app and implement proposed features and functions. At the end of each milestone, they will provide a build that demonstrates the new functionality. You can give feedback and approve or decline before moving on to subsequent milestones.Depending on the degree of difficulty, each milestone may range from one to three weeks.
- Iteration 4: The vendor will provide a final build for end-to-end testing. A test plan should include feature verification,page load times, and performance benchmarks. After successful testing, the vendor will submit the app to the app stores and seek approval.
- Iteration 5: The vendor provides a plan for ongoing maintenance, enhancements, and deployments. Some customers may choose at this point to bring the app in-house and avoid additional costs.
7. Beware of Scope Creep
It’s easy to write about creating a final document that serves as an ironclad statement of work. However, we’re humans, and we forget things, change our minds, and pivot to respond to changing business conditions. The Waterfall development methodology fell out of favor because it’s impractical to take a long time designing everything up-front in place of getting started on what’s already understood.
If a vendor bids on a contract with a fixed price, they’re already risking the additional cost of the unexpected, inevitable challenges and problems that arise in any contract. Vendors’ Spidey-sense starts to tingle when they get a whiff of scope creep. Expect a vendor to treat additional project scope as a change that requires estimation and additional cost.
This section is titled “Beware of Scope Creep,” not “Avoid Scope Creep,” because change is inevitable. It’s equally likely that features that once seemed essential lose their luster and become non-essential. It may be possible to horse-trade features without incurring additional cost, but it depends on the flexibility and creativity of the vendor you select.
These best practices for outsourcing mobile apps require dedication from both the customer and the vendor. The customer is on the hook to achieve consensus and agree upon a feature set. The customer’s involvement in each phase of the project is also vital to success. The vendor must always have the customer’s best interests in mind. When these best practices are respected, it yields quality digital products within the specified budget. The successful completion of a mobile app project also provides you with a trusted partner company to help your future endeavors long-term.