Outsourcing Playbook G
Outsourcing Playbook G
Outsourcing Playbook G
Playbook
Edition 1.0
Copyright 2016 Google Inc. All rights reserved.
Introduction
Its not always possible to develop an Android app in
house; so you may look to an agency to help you create
your app. This agency may call itself a systems integrator,
mobile/design studio, consultant, dev shop, freelancer,
app developer, or mobile specialist among other names.
Weve seen a wide range 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 and
culture in your own organization. This playbook will help
you do that with its advice, questions to ask, and tips for
selecting and working with an agency to build a high
quality Android app.
This playbook has also been written as a companion to
Secrets to App Success on Google Play. In that guide,
youll find best practices and Google tools that will help
you and your agency improve the quality of your app,
grow a valuable audience, increase user engagement and
retention, and earn more revenue on Google Play.
Introduction3
Table of Contents
SECTION 1
6
Prepare to engage with an agency
Youll get the best out of an agency by knowing what you want to
achieve. Find out about the things you should consider before embarking
on this journey.
SECTION 2
24
Select the right agency
The right agency for you is about much more than price, here we look at
the key factors you should consider to make sure you select an agency
that fits.
SECTION 3
50
Get your app project underway
First dates are critical in any relationship, here we look at how you get up
to speed with your agency project quickly and effectively to set it on the
road to success.
SECTION 4
62
SECTION 5
84
Useful resources
Find links to the Google Developers Agency Program, newsletters, blogs,
and many other resources that will help with your project.
Table of Contents5
Section 1
Prepare to engage
with an agency
In this section
A common theme weve found with all successful agency
app developments is that the client set clear goals and
expectations before embarking on the project. In this
section, we look at what you should do to confirm that
using an agency is right for you and prepare your
organization to work with an agency.
01
02
03
Adopt the right app strategy for you and your users
04 Set a budget that considers the apps long term business value
05
01
Determine that the
agency approach is
right for you
Understand the importance of the app to your business and your own
organizational culture, focus, and experience. Use this knowledge to
decide whether you should build the application yourself or partner
with a development agency.
Why its important:
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.
Bonus Tip:
Consider using an agency to create the first version of your app while
you build up a team of your own: then take over support, maintenance,
and future development.
02
Understand your internal
stakeholders to ensure
the right involvement
Understand who in your organization has a stake in the app, how they
should be involved in specifying the requirements and executing the
development project, 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 respective
teams from the start of the project.
Why its important:
Good stakeholder planning will ensure that your organization shares
common goals for the app development and maximizes the likelihood
of a quality, on time, on budget outcome.
How to do it:
Typical roles and their interest in the project you should look for
include:
Role
Chief Executive
Officer (CEO)
Chief
Technology
Officer (CTO)
Chief Marketing
Officer (CMO)
Chief Financial
Officer (CFO)
Project Office
Legal
Bonus tip:
Using a tool such as Pixate to rapidly prototype, you can generate
stakeholder consensus around what you want to create before writing
any code.
03
Adopt the right app
strategy for you and
your users
If a native app only strategy is taken, there is a risk that when you refer
a user via a website to download your app they:
In these scenarios you would simply lose the customer. The web has a
low barrier to entry for users they just click a link and load the site.
This allows you to offer the content and experiences that the user
values instantly. 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 can offer offline browsing
with service worker. With features such as web Bluetooth, WebGL,
WebRTC, and more coming, the gap between native apps and the
mobile web will continue to shrink.
Best practices:
Get started:
Build a Great Web Experience
04
Set a budget that
considers the apps long
term business value
$
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 via download numbers), customer retention, or
responding to a competitive threat.
To what degree is my companys investment on 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?
05
Know how you will
measure success
$
Set goals so you can measure and understand the success of your
project and the app. Then create Key Performance Indicators (KPIs):
the numbers youll use to measure your performance.
Why its important:
You need to understand how youll measure success to help ensure
that your app meets your business objectives. It will also support your
reporting to key stakeholders post launch.
How to do it:
If your goal is to increase profitability through in-app purchases, one
KPI should be the ratio of transactions per users, so when this ratio
goes up, it means you are doing a good job in persuading your users to
purchase more frequently. Other goals that can matter might be the
user quality rating due to its impact on your brand, as well as 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 goes up,
you can show more ads, which will show youre on the right track. As
you engage agencies, ensure you brief them on the metrics that matter
to you early on.
Building or implementing an analytics solution into applications allows
you to understand user behavior and acquisition performance,
enabling a powerful data driven culture. Among other capabilities, this
can help you to segment your customer base into meaningful groups,
support your marketing activities, empower A/B/n testing and help
debugging your application.
It is clearly preferable to find agencies that understand that analytics is
a core part of the mobile app development process. You can find more
on mobile app analytics fundamentals in the Google Analytics
introductory Mobile App Analytics Fundamentals course.
Questions to ask the agency:
Bonus tip:
Remember that reporting on the progress of the application after the
launch needs to be planned for too: the focus should not just be on its
delivery.
Section 1: Prepare to engage with an agency23
Section 2
Select the
right agency
In this section
When youre selecting an agency its worth understanding
how mature and capable they are in key areas. Assessing
this capability fit need not be formal (through a Request
for Proposal), it can be captured in face-to-face meetings:
but it must be done. Understanding how an agency
measures up against these elements will help you choose
the one that will best meet your requirements to build a
great app.
01
02
03
Look for evidence that the agency takes pride in their product
Understand your costs, not just the price quote by the agency
01
Create a list of
prospective agencies
02
Select the right app
features for a Request
For Proposal
1
3
4
Working from the goals youve set for your project and the related KPIs,
select a manageable set of features you want agencies to address in
their proposals. Consider developing your evaluation model as part of
the Request for Proposal (RFP) process.
Its 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.
Why its important:
By selecting the features that matter for inclusion in a RFP youll make
the process of responding easier for your selected agencies and
simplify your evaluation. And by creating your evaluation model at the
same time as the RFP, you can validate the relevance of the
information requested. It also provides another way to judge the right
number of agencies to approach: by understanding how long it will
take to evaluate a proposal.
30The Outsourcing Playbook
Features to consider:
In addition to any specific requirements, the following are features and
guidelines weve found requested in RFPs that result in successful app
development:
Make sure the app follows the core app quality checklist.
Am I asking for too much or too little given the likely complexity of
my app?
Am I looking to launch in multiple countries and do I want a single
agency to fully localize my assets?
How are we approaching cross platform development and
innovation?
Bonus tip:
Get details about all the latest and greatest Android features from the
Secrets to App Success on Google Play.
03
Look for evidence that
the agency takes pride in
their product
1
Look for an agency that can show they take a very real pride in their
work and are passionate about apps and your success. See if they can
offer surprising new insights that deliver extra value and align with your
core business case.
Why its important:
Great apps have always been more about passion and insight that pure
technical skill any agency can acquire technical skill, but they cannot
teach themselves to be passionate about what they do. And
passionate agencies rarely keep thing to themselves. They and their
staff will often be active in local and global developer and expert
communities.
Is there anything weve missed from our RFP that would help
improve our app or its success?
Can you provide examples of where youve surprised a client with
product insight?
How active and visible are your developers in the wider developer
ecosystem? Do they take part in local developer communities and
events, write a blog, or participate as an expert in forums?
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?
Is my company agile enough to respond to change? What can you
do to change your own corporate culture to become more
responsive, if an agency does make a great suggestion?
04
Assess the agencys
depth of experience,
trustworthiness, and fit
Understand the depth of experience within the agency and get a sense
of whether you can trust them. 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.
Why its important:
Even if you only anticipate working with the agency for the
development of your apps first version, being able to trust them
is critical to a good working relationship and the development of a
great app. By understanding the agencys depth of experience youre
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.
Sharing a common mind set about the approach to work will also help
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.
And if youre 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.
Best practices:
Who can you offer as reference customers for your work? Who are
your biggest customers? What are the apps you develop for these
clients?
What is the profile of the team you would propose to assign for the
app development?
Which Android Udacity courses have been completed by each
developer on the team?
What adjacent technology skills do they have, such as Android
Wear, Android TV, Android Auto, or the Internet of Things?
Based on what you know about us, do you foresee any risks with
the way we will work together? Have you seen similar risks on
other projects and how have you addressed them?
05
Ensure your agency is
up to date with the
latest on Android
How to do it:
Typically the agency and their staff should be tuning into Googles
Android channels, which include:
@androiddev on Twitter
+AndroidDevelopers on Google+
06
Determine whether the
agency puts user
experience at the heart
of design
Confirm that the agency has good skills in and processed for both user
experience (UX) design and testing.
Why its important:
Apps with a 4 or 5 star rating are 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.
How to do it:
Review other applications the agency has created and look at the
star ratings and user reviews.
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?
Bonus tip:
Make sure youre able to evaluate the agencys Android design
experience. UX guidelines are different among Android, iOS, and the
mobile web.
07
Understand all your
costs, not just the price
quote by the agency
You might also 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 want to offer them
a bonus. The impact of user ratings has 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
experience that exceeds expectations. Theyre 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, 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 and respond to user feedback.
They 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.
08
Know what you want
from the projects
contract
What are your standard terms and conditions for this type of work?
Are there any specific terms and conditions you would apply to this
project?
Are you willing to start the project while we finalize the contract?
What devices will you be testing against and will you provide test
reports?
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 usual legal
counsel; do we need to find a specialist negotiator?
If we start the project before contract negotiations are finished, will
this adversely affect resourcing for the project?
Section 3
In this section
How you prepare for and initiate your project can have a
significant impact on its success. Ensuring you have or
develop the right skills and approached in your
organization, sharing vision and process upfront, and
thinking about physical space will all help start the project
well. We also look at some of the things to consider when
working with multiple agencies.
01
02
03
01
Develop relevant
competencies in your
organization
Do you offer or can you recommend training for the roles well
need to perform on this project?
02
Brief the agency
Bring together all the members of the project team, from the agency
and your organization, and brief them on the background and business
goals for the app and the planned development process. Consider
including key stakeholders too.
Why its important:
Not all project members will have benefitted from the exchange of
information that took place during the selection process. By briefing
the entire team at the start of the project, you can share the vision for
the app and project. This will help reduce the risk of divergence later in
the project, by giving everyone a better insight into the design
decisions and business direction of the project.
For this reason, many agencies do this as a standard kick-off practice.
Best practices:
Be clear and as open as you can with the agency. The more you
share and work with them as a partner, the better the outcome.
Communicate the strategic intention of the application: how it fits
into the wider business context.
Share details of your success measures; for example user ratings,
downloads, and others.
Provide any specification you have developed, even if they are only
at a high level.
Exchange information on company history and culture.
Define how you would hope to work together, the processes you
would like to follow.
Explain expectation for the timing of key deliverables and
milestones.
03
Find everyone a
good home
Consider carefully how your team and that of the agency will interact.
Look for spaces where the teams can come together, either for the
duration of the project or when needed.
Why its important:
Throughout the project precise and open communications are vital for
the exchange of information and decision making needed to create a
great app. Your agency may be well versed in optimizing
communication between people or group based in different locations,
even so the ability to communicate face to face is likely to be
beneficial.
However, your team may not be familiar with working with remote
teams on this type of project. So bringing them into one space may aid
communications.
Best practices:
Bring the project teams together, If you can, either on your or the
agencys premises.
04
Prepare to work with
multiple agencies
You may chose to work with multiple agencies. For example, you might
task a new agency to build your app, while an existing agency handles
design of the backend systems to support your app. Other uses of
multiple agencies include having an additional agency write test
scripts, review the code, or perform testing.
Be very clear on the respective roles and interfaces among agencies.
Monitor and manage how communications take place, to ensure they
foster a culture of trust.
Why its important:
By ensuring each agency is clear about its role and creating honest
and open communications between agencies, youre more likely to
align around a common understanding that will benefit the quality of
your app.
Have you worked with this agency before or used other agencies to
perform specific project tasks?
Section 4
Execute
successfully to
deliver a
great app
In this section
The way in which you execute the development project
can have a significant impact on the outcome. Its
important to make sure that the good work youve done in
preparing your organization, selecting the agency, and
getting the project underway is carried through all the way
through the project execution.
01
02
03
01
Maintain open
communications
Best practices:
02
Make sure the
development
methodology is well
defined and understood
Best practices:
Put the user at center of the design process, make use of user data
and insights particularly in the design phase.
Ensure that your project team, including key stakeholders, are
briefed about the planned process.
Remember to take advantage of beta testing (which you can
manage from the Google Play Developer Console) to get feedback
from real users before launching.
03
Be prepared to deal
with change
Best practices:
04
Strive for architectural
excellence, supported by
rigorous code testing
and documentation
Testing is the foundation for app quality. During the project testing
depth can range from a quick check on a device, through to fully
automated test scripts. Disciplined testing is also helpful in ensuring
your code is well maintained and help prevent seemingly minor
changes in the code base causing unwanted effects on your user base.
Best practices:
Look for tried and tested architecture patterns that you can reuse.
How will you identify suitable code patterns for our app?
What kind of usability testing do you do? How do you conduct
usability tests? What testing framework are you planning to use?
Can you give examples where youve successfully employed
usability testing?
Are you planning to use a test service, such as Google Cloud Test
Lab?
What devices, including tablets, are you planning to test on? What
testing (for example unit testing) is covered in the quote and what
might be additional?
Do you have a representative library of test devices? Will you
expect this project to require you to add new devices to the library?
If youve allowed for device purchases in the project fee, will we get
the devices on completion?
Are you providing any guarantees, for example fixing errors within
3 months? This is more relevant for fixed price contracts.
How are you going to handle regression testing?
Get started:
Cloud Test Lab
05
Test your app with
trusted users before
rolling out
Use the alpha and beta testing feature of the Developer Console to
conduct user tests, before releasing your app publicly.
Why its important:
Typically youll only have one chance to get things right with your users.
Running beta tests with a limited number of users provides an
opportunity to validate any assumptions made about your users.
These tests will also usually help find any errors missed in your internal
testing. By doing this before you publicly release the app, and push out
your apps marketing campaign, you increase your chances of a
successful app launch.
Best practices:
Get started:
Set up alpha/beta tests
Bonus tip:
You can also use Store Listing Experiments to optimize your stores
listing performance (for example alpha/beta testing content and
graphics).
06
Provide the agency with
access to your Google
Play Developer Console
account
To enable the agency to release the app using your Google Play
Developer Console account, rather than giving your Google Play
credentials to the agency, add them as a user to your account.
Why its important:
You might want the agency to handle alpha and beta tests, app
publishing, responding to app reviews, stage roll outs, and more. You
may also want to share the apps statistics and revenue information
with them too.
However, your Google Play account and the credentials to access it are
a valuable asset. By setting up the agency as a user on your Google
Play account you retain full control over your account.
How to do it:
Best practices:
Add agency or your own staff to the Developer Console only when
they need access, dont add users just because it might be useful.
Set permissions for each app, if youve got multiple agencies
working on multiple apps.
Get started:
Add developer account users & manage permissions
Section 5
Useful
resources
Additional resources:
We recommend that you stay up to date with news from the Android
world. To do this, please review the resources below.
Google Developers Agency Program
developers.google.com/agency
Find success on Google Play
developers.android.com/distribute
Get Play & Android news and tips
g.co/play/developernews
Android Developers Blog
android-developers.blogspot.com
+AndroidDevelopers on Google+
google.com/+androiddevelopers
Android Developers on YouTube
youtube.com/androiddevelopers
@AndroidDev on Twitter
twitter.com/androiddev
Google Play Developer Help Center
g.co/play/developerhelpcenter