Outsourcing app development: Finding an agency
Part 2 of 3: From shortlist to selecting an agency, it’s all about the right evaluation
This is the second post in a series looking at how you engage an agency to help develop your mobile app. In the first article, I looked at how you assess whether using an agency is right for your business.
Now, it’s time to look at selecting an agency. This process involves understanding how mature and capable they are in key areas. Assessing this need not be through a formal request for proposal (RFP), it can be captured in face-to-face meetings: but it must be done. Understanding how an agency measures up against the elements I’m about to introduce will help you choose the one that will best meet your requirements to build a great app.
Draw up a shortlist
If you haven’t worked with an agency before, your first question will be “how do I identify agencies in the first place?” Some of the approaches I would recommend include:
- Identifying exhibitors when you attend trade shows, as well as canvassing show attendees.
- Asking for recommendations from your business and social networks.
- Contacting local developer groups, or attend their meetings to make contacts. A good place to look for local developer group meetings is meetup.com.
- Consulting the directory of Android certified agencies from the Google Developers Agency Program.
- Reviewing one of the websites listing agencies and freelance developers, such as the Top Mobile App Development Companies list on Clutch.
- Searching using some of the terms agencies use to describe themselves such as systems integrator, mobile or design studio, consultant, dev shop, freelancer, app developer, or mobile specialist among others.
As you identify agencies, remember to find out as much as you can about the business landscape they operate in and the variety of services and approaches they offer. You should also ask yourself:
- Am I looking for a single agency to handle everything?
- How many quotes do I want? Each quote will be time consuming to evaluate, however you’ll learn from the different approaches of each bidding agency. This is likely to educate you further on what the right app to build will be and the benefits and risks associated with different approaches.
Create a ‘Request For Proposal’
When you have a short list of agencies, start working from the goals you have set for your project and the related KPIs to select a manageable set of features you want agencies to address in their proposals. You may consider developing an evaluation model as part of this process, as such a model can help confirm the relevance of the information you want to request.
It’s also worth considering paying for an agency to help with your ideas exploration phase. They can help you scope out the features for the RFP or requirements. By having clarity up front on building the right solution for your business, you can save significant time later.
While many aspects of your request for proposal (RFP) will be unique to your business, many successful RFPs for app development include these features and follow these guidelines:
- Offer a great user experience on phones and make sure it works well on tablets, as well as Chromebooks .
- Follow the Android Design Guidelines.
- Follow the app quality guidelines.
- Implement Material Design.
- Build in licensing protection.
- Build an app ready to be fully internationalized, even if you’re only targeting one country or language initially. Adding this capability later can be costly.
- Review the capabilities of Google Play Services, so you’re aware of the features you can build into your app.
- Look at implementing app invites to encourage users to share your app with people they know.
As you prepare your RFP, ask yourself:
- Am I asking for too much or too little given the likely complexity of my app? Consider a word limit for answers.
- Have I asked the Agency to describe the risks they see in the project?
- Am I looking to launch in multiple countries and do I want a single agency to fully localize my assets?
Look for the agency’s pride
Great apps are more about passion and insight than pure technical skill — any agency can acquire technical skills, but they can’t teach themselves to be passionate about what they do. And passionate agencies rarely keep things to themselves. They and their staff will often be active in local and global developer and expert communities. Passionate agencies will also often offer surprising new insights that deliver extra value and align with your core business case.
Some of the key indicators of a passionate agency include:
- Suggestions for additional features backed by clear arguments as to how they will improve your app or its success.
- Examples of where they’ve surprised a client with product insight.
- The activity and visibility of their developers in the wider developer ecosystem. For example by taking part in local developer communities and events, writing a blog, or participating as an expert in forums.
As you assess the agency’s sense of pride review your experience with them and ask yourself:
- Has the agency gone the extra mile to surprise me with insights, such as new market opportunities, app features, or development approaches?
- Is it clear that the agency follows good optimization practices to achieve the highest possible app rating?
- If an agency does make a great suggestion, is my company agile enough to respond to change? What can I do to change our corporate culture to become more responsive?
Is the agency a good fit?
Even if you only anticipate working with the agency for the development of your app’s first version, being able to trust them is critical to a good working relationship and the development of a great app. By understanding the agency’s depth of experience you’re better able to assess if their proposal is honest and the basis of a trusting relationship. For example, an agency that is honest about not having worked in your business domain before may be preferable to one that claims to have done so but cannot offer any appropriate reference clients.
Also try to gain an understanding of the culture within the agency and the way they approach their work. See if it aligns with the approaches taken in your organization. Sharing a common ‘mind set’ about the approach to work helps simplify the relationship with any partner. For example, if your organization tends to take a formal approach to planning, requiring extensive documentation, review, and strict approvals it may be hard to work with an agency that takes a more agile approach.
If you’re looking for a longer-term relationship, a supplier with skills and insights in adjacent fields, such as Android Wear or Android TV, may be preferable as they could assist you in expanding your offering.
Some of the key things to look out for include:
- Reference customers in your business domain. Also ask who the agency’s biggest customers are and which apps the agency developed for those clients.
- The agency should be able to show that their developers are trained in Android. For example, they might encourage their developers to follow the Android Udacity courses and Nano degrees. These resources are designed to establish a core expertise and shared approach to Android development.
- Watch out for artificially low estimates where the sales teams have over promised in order to secure the contract. Such quotes will almost certainly fail to reflect the investment needed to create something that is better than a minimum viable product.
- Whether the agency has identified any risks with the way we will work together and how the agency has addressed similar risks on other projects.
As you assess the agency, ask yourself:
- Do I know anyone, directly or indirectly, that has experience of the agency?
- Are the apps created by the agency for other clients of a high quality, for example getting 4+ ratings on Play store? If the agency has apps with low ratings, would it have been possible for them to have gained a higher rating?
- Will we give the agency scope to provide sufficient input into the design and direction of the product to impact the ratings?
- Is our company able to be sufficiently open with the agency?
- Can we adapt our ways of working to fit with the agency, and can the agency support us with the culture and way of working we want to achieve?
- Where might we expect to see a ‘clash of cultures’, and can we manage this risk?
Ensure the agency is up to date with Android
The features and capabilities of Android are constantly improving. As are related services provided by Google. The difference between a good and a great app can often be the clever use of the latest features, adding to your app’s user appeal and functionality. So it’s important to choose an agency that is up to date and can apply the latest enhancements to your app.
This may sound like something of a challenge, after all the reason you’re picking an agency is because you’re probably not an Android expert. My recommendation is therefore, the day before the agencies present their proposals, check out some of Google’s Android channels, which include:
- Android Developers: website, blog, newsletter, Youtube, Twitter and Google+
- Google Play Developers: blog, newsletter, Twitter and LinkedIn
From these channels, pick out a couple of recent topics to raise during the Q&A. For example, mention that you heard about the advantages of biometrics and see if the agency responds with information about the improvements in Android P and a reasonable explanation of whether they might or might not benefit your app.
Does the agency put user experience at the heart of design
Apps with a 4 or 5 star rating are far more likely to be downloaded compared to apps with a 3 star rating or lower. So creating a great user experience is central to getting your app adopted. Having a design team that has a great understanding and depth of experience in Android design is key to achieving this.
To confirm that the agency has good skills in, and processes for, user experience (UX) design and testing:
- Review other apps the agency has created and look at the star ratings and user reviews.
- Download and test the apps created by the agency.
- Request a UX mockup for a small part of your app be included in any proposal. If you are contemplating a mixed approach remember to ask for mockups for Android, the web, and any other platforms you’re targeting.
- Ask the agency to explain how they would apply Material Design to your app.
- Look for examples of Android specific design experience in the agency’s past projects.
- Get the agency to explain how they ensure compliance to the UX best practice outlined by Google.
- Ask for examples where the agency has implemented Material Design in apps.
- Seek details of the typical user testing the agency would plan for each development phase.
- Request an explanation of how the agency uses analytics in their design process.
As you evaluate the agency, ask yourself:
- Has the agency explained how they will use the Material Design guidelines in Android to ensure our app is intuitive and ‘obvious’ to our users and will support our brand?
- Do I need to challenge a ‘one size fits all’ mobile design approach within my own company?
Understand all your costs
You may see a considerable range of pricing strategies and prices from agencies. These might include:
- Fixed price and /fixed specification approaches, which offer little flexibility.
- Fixed price for an initial discovery phase and indicative costs for later phases, allowing for an evolving specification and offering good flexibility.
- A time plus cost quote offering almost total flexibility in reacting to changes, but with less certainty about overall costs.
Within these strategies you might also see:
- Some parts of the project, usually software development, being completed offshore in countries with lower developer costs.
- A revenue share option with the app built for a reduced (or no) cost in return for a portion of the revenue generated by the app.
You might want to ask the agency to consider incentives or risk sharing approaches. For example, if the user rating of the application is higher than 4 stars after 1000 downloads you may offer them a bonus. The impact of user ratings has a very strong correlation with adoption.
At the higher end, the developers will probably have far greater experience and can offer strategic insight as well as deliver an app that exceeds expectations. They’re likely to cover more costs and expose you to a lower risk of unforeseen costs. Typically agencies that are more insightful and capable can charge a higher premium. They can pick and choose their clients and will be in high demand.
At the lower end, the developers may have less experience or off-shore part of the project to lower cost countries. Working with these agencies could require a far more detailed specification up front and can offer less flexibility to evolve requirements, respond to user feedback, or get insights that will make your application better. The agency may also expect you to pick up a greater portion of the work or related costs and the risks of other costs surfacing might be higher.
Each of these approaches will have a different impact on the cost you will incur. It’s important to get a detailed breakdown of the agency’s quote. Make sure you clearly understand what the pricing model is and have a detailed list of the costs they expect you to cover, such as testing.
You should then consider developing a risk model using the information you gathered about the agency to determine what costs or risks of costs you need to budget for.
As you evaluate your budget, ask yourself:
- What do I need to consider — such as revenue, brand exposure (for example, from download numbers), customer retention, or responding to a competitive threat — to build a business case for the ROI of the application?
- Do you want to consider sharing incentives or risks with the agency?
- If using a fixed price approach, how will I handle change?
- Does this agency offshore development or work on a strict fixed price basis? Will we therefore need to develop very detailed specifications to achieve the desired outcome? Given what we know about our requirements, is the potential lack of flexibility an issue?
- If the agency offers a revenue sharing approach and charges little to nothing to build the application, does this model fit our business?
- Are there additional costs that I have not factored in (such as application marketing and maintenance costs)?
- What is my negotiation strategy?
- If the costs of an agency are lower because they offshore much of their development, how much risk will this introduce to the delivery of the application as face to face communication is far more effective? How can I minimize this risk?
- As I assess the costs of each agency, how do they relate back to my ROI and the goals I have set for the application?
- Have I included a suitable contingency for additional costs during the project?
Know what you want from the project’s contract
Once you’ve selected the right agency for your project, you’ll want to conclude contract negotiations as quickly as possible. By stating your contractual requirements early in the selection process and gaining an understanding of the agency’s requirements, you can assess and plan for the likely effort and risk associated with contract negotiation.
Start by determining any contract requirements you want to have in place, if possible as part of the development of your Request For Proposal (RFP). But if you don’t include them in the RFP make sure, at the very least, you provide them to the agency during the selection process. At the same time, request details about the agency contractual requirements, including details such as:
- Their standard terms and conditions for this type of work.
- Any specific terms and conditions they might want to apply to this project.
- Their preferred approach to contract negotiations and how that affects the project start date.
Where an agency’s contractual requirements diverge significantly from yours, for example around IP ownership, consider removing them from the evaluation early. Where the differences are manageable you can determine your compromise position in advance.
As you evaluate the agency’s approach to the contract, ask yourself:
- What are the industry standard terms and conditions for this type of work?
- Do we have any specific terms we want included in this project?
- Can we handle the negotiations internally or with our legal counsel; do we need to find a specialist negotiator?
- If we start the project before the contract negotiations are finished, will this adversely affect resourcing for the project?
Making your decision
You are now armed with your evaluation of proposals from at least two, maybe more, suitable agencies. Hopefully, there will be an obvious choice, but if the decision looks difficult I would suggest you err in the direction of the agency you feel most comfortable working with.
With your agency selected you’ll want to get your project underway. In the next post, I will look at some of the key things you should consider when kicking off a project, as well as some best practices for keeping everything on schedule.
What do you think?
Do you have thoughts on outsourcing app development? Let us know in the comments below or tweet using #AskPlayDev and we’ll reply from @GooglePlayDev, where we regularly share news and tips on how to be successful on Google Play.