Outsourcing app development: Laying the foundations
Part 1 of 3: Determine if using an agency is right for you and, if it is, get your organization ready
It’s not always possible to develop your app in-house; so you may look to an agency to help create it. This agency may call itself a systems integrator, mobile or design studio, consultant, dev shop, freelancer, app developer, or mobile specialist among other names.
As Google Developer Relations Lead for our Agencies Program in Europe, I’ve seen a wide variation in the quality of apps built with the help of an agency. Getting it right is not only about finding an agency that fits well with your organization and its goals, but also building the appropriate skills in your organization so you work well with the agency. In this series, I’ll take you through the right approach to selecting and working with an agency to build a high-quality app.
In this first post, I’m going to look at how you prepare to engage with an agency. The second post covers choosing the right agency, while the final post discusses how to get your project underway and work with an agency to deliver a great app.
Prepare to work with an agency
I’ve found a common theme with successful agency app developments is that the client sets clear goals and expectations before embarking on the project. And, the first step is to ask …
Is the agency approach right?
Your app will represent your brand, business, or organization in the mobile world, and it has the potential to significantly enhance your activities. The decision about the right approach, one that delivers the best possible app at an acceptable cost and in a timely manner, should be based on a clear understanding of your needs and capabilities.
Working with an agency isn’t necessarily the right approach for everyone, so first determine whether it’s right for you. To do this you need to understand the importance of the app to your business and your own organizational culture, focus, and experience. Then use this knowledge to decide whether you should build the app yourself or partner with a development agency.
In approaching this decision ask yourself:
- How well do we understand the mobile app space?
- Do we want to retain complete ownership and control of the application development within our team?
- Do we have the time and resources to recruit and build our own development team and implement its supporting infrastructure?
- Will an agency or freelancer be better placed to create a compelling app?
You can always use an agency to create the first version of your app and help you build up a team of your own.
Get stakeholder support
Creating an app isn’t just a technical challenge, people are a big part of the equation. Good stakeholder planning is important to ensure that your organization shares common goals for the app development and maximizes the likelihood of a quality, on-time, on-budget outcome.
Stakeholder planning is about understanding who in your organization has a stake in the app, how they should be involved in specifying the requirements and executing the development, and how you should manage and communicate project updates with them. Once this is done, brief your stakeholders so that they understand your expectations of them and their teams.
Recommended steps to take:
- Identify all the people with an interest in the business case. In a startup or small company, one individual may fulfill more than one stakeholder role.
- Determine the insight they can provide and their area of interest.
- Work with each person or department to define their role and reporting requirements.
- Capture the requirements and strategic needs from stakeholders.
Depending on the size of your organization some of the roles and their interest in the project you should look for include:
- Chief Executive Officer (CEO) who will likely get involved with the business case, ROI, investment, resource impact, opportunity cost, and quality.
- Chief Technology Officer (CTO) who will likely get involved with platforms strategy, backend systems integration, technological overhead and debt, maintenance, and resourcing.
- Chief Marketing Officer (CMO) who will likely get involved with promotion strategy, budget, brand representation, app quality (brand building), and opportunities for building customer insights.
- Chief Financial Officer (CFO) who will likely get involved with the initial costings, maintenance and ongoing costings, preferred supplier policies, and supplier onboarding.
- Project Office that will likely get involved with project tracking, management and reporting, cross-project (resource) impact, risk management, project support, and dependency management.
- Legal that will likely get involved with NDA and contract matters such as development and support, ownership of IP, code access and ownership, risk and dispute management, account (for example Google Play) ownership, holding of the app’s keystore and passwords, legal or regulatory compliance, privacy, and Play Store distribution agreement and content policy.
As you work through this process ask yourself:
- Have I identified all my stakeholders? There may be roles not mentioned above (for example, those handling User Acceptance testing or User Experience).
- Have I defined the role for each stakeholder and do they understand what it is?
- Do I have relevant reporting metrics and success measures that I can agree with each stakeholder?
- Do I have an appropriate project director and workable escalation if there are disagreements between stakeholders?
- Would a design sprint help clarify requirements with stakeholders at this early stage?
- Have I clearly articulated the business problems I’m trying to solve?
Stakeholder engagement, gathering their requirements and strategic needs are critical to the success of the project, you may want to consider using an agency to help you with this process. An agency will have significant experience from previous projects that can contribute to your success. You can do this by requesting an exploration or scoping phase as part of the project proposals or asking an agency from your shortlist to support you with the requirements mapping. (There will be more about shortlisting agencies and the proposal in the next post.) You are not likely to be obliged to use the agency who helped with the requirements mapping for the app development. But remember to budget this as part of your costs, as most agencies charge for this service.
Pick the right app technology
Users will search for your service through the web as well as through app stores. This is why you may not want to focus heavily on a native app only strategy, particularly when you consider that a visitor to your website sent to download your app may:
- not have space on their device.
- not have the bandwidth needed to download the app.
- not want to crowd their smartphone with yet another app.
- not want the deferred gratification that downloading an application will involve.
The web has a low barrier to entry for your customers — they just click a link and load the site. This allows you to offer the content and experiences that they value, instantly. Consider also that the typical acquisition costs per user is lower on the web than for a native app. The arrival of progressive web apps and the increasing power of browser-based apps means the gap between mobile apps and the web is closing.
Progressive web apps can install an icon to the homescreen, support push notifications to drive engagement, and offer offline browsing with service workers. With features such as web Bluetooth, WebGL, WebRTC, Web Assembly, and more coming, the gap between native apps and the mobile web will continue to shrink. You may have a web team, so the incremental investment needed to create a compelling mobile experience might be small. I would recommended considering this approach, regardless of whether you pursue a native mobile strategy as well.
Make sure that you fully understand the relative benefits and costs of native and web development. You should also ask yourself what your competitors are doing and consider whether any of your target countries might impose limitations due to factors such as mobile data availability. Ultimately, understanding the experience you want to deliver to users and your business goals will steer your technology choice.
There are additional platform questions to consider including;
- Whether the agency uses a cross-platform mobile UI framework, in which case I would recommend Flutter, to simultaneously target iOS and Android. This approach can reduce costs and accelerate your time to market.
- Do you want to extend your app experience onto Android Wear, Android Auto, or Android TV?
- If you have an iOS team, how will they work with the agency, for example coordinating releases on multiple platforms and running a single marketing campaign to gain more impact.
Set a budget
We recommend building an Android app to be a key and ongoing part of your product or service strategy. Investing in it can build your brand, help acquire new customers, or be a key revenue driver.
Price is a core part of any project, however, it needs to be balanced against the scope, time to deliver, and quality. Ultimately when you’re building an app you’ll need to find the optimum balance between these competing elements.
When you’re discussing the budget, remember the objective is to create a quality app that brings value to your business, not simply on one that meets a feature specification in a given time.
Some of the key things you want to consider when setting your budget are:
- How can I build a business case internally for the ROI of the application? This could be in terms of revenue, brand exposure (for example, from download numbers), customer retention, or responding to a competitive threat.
- To what degree is my company’s investment in an app biased towards a particular platform? Does that investment blend make sense? Does the target demographic and download opportunity reflect my investment?
- Are there additional costs that I have not factored in (such as application marketing and maintenance costs)?
- Does my organization clearly understand the distinction between an app and a high-quality app, and what the corresponding impact is on my business?
Know how to measure success
Reporting on the progress of the app after the launch needs to be planned for just as much as its delivery. You need to understand how you’ll measure success to help ensure that your app meets your business objectives. It will also support your reporting to key stakeholders after launch.
Set goals so you can measure and understand the success of your project and the app. Then create Key Performance Indicators (KPIs): the numbers you’ll use to measure your performance.
Setting the right success metrics and KPIs is going to be unique to your business, however, these are some typical examples to help you kickstart your own process.
If your goal is to increase profitability through in-app purchases, one KPI to consider is the ratio of transactions per users, so when this ratio goes up, it indicates that you are doing a good job in persuading your users to purchase more frequently. Other goals that might matter are the user quality rating, due to its impact on your brand, and download numbers.
If your goal is to show more ads to your users, you might use a KPI related to increasing engagement; if screen views per session go up, you can show more ads, which will show you’re on the right track.
As you engage agencies, ensure you brief them on the metrics that matter to you early on.
Another important aspect of setting success measures is understanding and measuring the interaction people have with your app before they get to the conversion, be that a sale, ad view, or something else. To understand user behavior you’ll want to implement an analytics solution into your app. Among other capabilities, an analytics tool can help you to segment your customer base into meaningful groups, support your marketing activities, empower A/B/n testing, and help with debugging your application.
It is clearly preferable to find agencies that understand that analytics is a core part of the mobile app development process. If you’re not super familiar with analytics, I would recommend you take a look at the courses available at the Google Analytics Academy.
When you’re talking to potential agencies about analytics, ask them if they have the know-how to build or implement an analytics solution from scratch in the app? Also, try to find out how they typically use the data generated to guide application development and testing.
Also we would advise that you make sure that the agency is familiar with Android vitals. This Google Play Console feature provides analytics data specifically related to app performance, including data about app stability, app startup time, battery use, render time, and permission denials. Feeding this data back into the development process can help to significantly improve the quality of your app.
At the same time, some other questions to consider include:
- How can I build an analytics-driven culture as part of the engagement with the agency and in my own organization?
- What are the success metrics that matter to my organization?
- Am I able to share our analytics data in a timely way with the agency?
Ready to select an agency?
At this stage in your journey, hopefully you have a clear idea of whether taking the agency approach to your app’s development is the right one. Hopefully you now understand the stakeholders’ expectations and have a strategy for your app’s implementation. You will also be armed with a budget and a clear idea of how you’re going to measure the success of your project and app itself.
The next step is to select your agency, and that’s what I’ll cover in the following post.
What do you think?
Do you have thoughts on outsourcing of 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.