Outsourcing Playbook G

Download as pdf or txt
Download as pdf or txt
You are on page 1of 88
At a glance
Powered by AI
The guide provides tips and best practices for organizations working with an agency to develop a high-quality Android app. It covers preparing for an agency engagement, selecting the right agency, getting a project underway, executing successfully, and useful resources.

The main sections covered are preparing for agency engagement, selecting the right agency, getting a project underway, executing successfully to deliver a great app, and useful resources.

Best practices for executing beta tests include looking for suitable testers from existing networks, considering open vs closed tests, capping participant numbers, and using staged rollouts to monitor for issues.

The Outsourcing

Playbook

A Companion to The Secrets to App Success on Google Play

Section 1.01 Why distribute your app on Google Play1

Edition 1.0
Copyright 2016 Google Inc. All rights reserved.

2The Outsourcing Playbook

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.

4The Outsourcing Playbook

SECTION 4

62

Execute successfully to deliver a great app


Maintaining an open and effective working relationship with your agency
is as important as adopting the best practices for app development.
Here you can discover some ways to achieve that.

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

Determine that the agency approach is right for you

02

Understand your internal stakeholder to ensure the right involvement

03

Adopt the right app strategy for you and your users

04 Set a budget that considers the apps long term business value
05

Know how you will measure success

8The Outsourcing Playbook

Section 1: Prepare to engage with an agency9

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.

10The Outsourcing Playbook

Questions to ask yourself:

How well do we understand the mobile app space?


Do we want to retain complete ownership and control of the
application development?
Could physically separating the development and business teams
hamper communications, affecting app quality and alignment with
business needs?
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?

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.

Section 1: Prepare to engage with an agency11

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.

12The Outsourcing Playbook

How to do it:

Identify all the people with an interest in the business case. In a


startup or small company, one individual may fulfil more than one
stakeholder role.
Determine the insight they can provide and/or their area of interest.
Work with each person or department to define their role and
reporting requirements.
Consider employing an agency to help you capture requirements
and strategic needs from stakeholders. Theyll have significant
experience from previous projects that can contribute to your
success. They often offer an Exploration phase service.

Section 1: Prepare to engage with an agency13

Typical roles and their interest in the project you should look for
include:
Role

Insight provided and selected areas of interest

Chief Executive
Officer (CEO)

Business case, ROI, investment, resource impact,


opportunity cost, quality

Chief
Technology
Officer (CTO)

Platforms strategy, backend systems integration,


technological overhead and debt, maintenance,
resourcing.

Chief Marketing
Officer (CMO)

Promotion strategy, budget, brand representation,


app quality (brand building), opportunities for
building customer insights

Chief Financial
Officer (CFO)

Initial cost, maintenance and ongoing costs,


preferred supplier policies, supplier onboarding.

Project Office

Project tracking, management and reporting,


cross project (resource) impact, risk management,
project support, dependency management.

Legal

NDA, contract - development and support,


ownership of IP, code access and ownership, risk
and dispute management, account (e.g. Google
Play) ownership, holding of the apps keystore and
passwords, legal/regulatory compliance, privacy,
Play Store distribution agreement and content
policy.

14The Outsourcing Playbook

Questions to 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 for consideration for 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 Im trying to solve?

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.

Section 1: Prepare to engage with an agency15

03
Adopt the right app
strategy for you and
your users

Consider taking a unified web and app approach to your offering to


maximize its accessibility to your users and potential users.
Why its important:
Users will search for your service through the web as well as through
$
app stores.
We advise against having a native app only approach, and
encourage a cross platform strategy that includes the web. You should
do this after fully understanding the relative benefits and costs of
native and web development.

16The Outsourcing Playbook

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:

may not have the space on their device.


be concerned about bandwidth needed to download the
application.
may not wish to crowd their smartphone with yet another app.
may not want the deferred gratification that downloading an
application will involve.

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.

Section 1: Prepare to engage with an agency17

Best practices:

Use material design to create a common experience across your


digital properties.
Implement App Indexing so your apps content appears in search
results, driving adoption and re-engagement for free.
Consider extending your app experience onto Android Wear,
Android Auto, or Android TV.
Co-ordinate your releases on multiple platforms and run a single
marketing campaign to gain more impact. Remember Google Play
reviews typically take a few hours, while other stores can take
significantly longer.

Questions to ask yourself:

What are my competitors doing?


What countries do I want to target (and do any of them have limits
on data or popular devices that could affect the likelihood of users
installing apps)?

Get started:
Build a Great Web Experience

18The Outsourcing Playbook

04
Set a budget that
considers the apps long
term business value
$

When youre discussing 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.
Why its important:
Building an Android app should be a key and ongoing part of your
product or service strategy. Investing in it can build your brand, help
acquire new users, 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 the project, and quality. Ultimately
when youre building an app youll need to find the optimum balance
between these competing elements.

20The Outsourcing Playbook

Questions to ask yourself:

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?

Section 1: Prepare to engage with an agency21

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,

22The Outsourcing Playbook

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:

Do you have the know-how to build or implement an analytics


solution from scratch in the app? How do you typically use the data
generated to guide application development and testing?

Questions to ask yourself:

How can I build an analytics driven culture as part of 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?

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

Create a list of prospective agencies

02

Select the right app features for a Request For Proposal

03

Look for evidence that the agency takes pride in their product

04 Assess the agencys depth of experience, trustworthiness, and fit


05

Ensure your agency is up to date with the latest on Android

06 Determine whether the agency puts user experience at the heart


of design
07

Understand your costs, not just the price quote by the agency

08 Know what you want from the projects contract

26The Outsourcing Playbook

Section 2: Select the right agency27

01
Create a list of
prospective agencies

Draw up a list of agencies you want to approach to make a proposal


for your app development.
Why its important:

1 havent worked3with an agency before, the process of identifying


If you
a number of suitable candidates will offer you the opportunity to
understand the business landscape and the variety of services and
4
approaches on offer.
How to do it:

Look for exhibitors at trade shows and network with attendees.

Ask for recommendations from your business/social networks.

Contact local developer groups, or attend their meetings to make


contacts.

28The Outsourcing Playbook

Consult one of the many websites offering direct access to


freelance developers.
Search using some of the terms agencies use to describe
themselves (described above).

Questions to ask yourself:

Am I looking for a single agency to handle everything?


How many quotes do I want to get? Each quote will be time
consuming to generate, however youll 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.

Section 2: Select the right agency29

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:

A great user experience on phones, tablets, and everything


between. See our website section on tablet quality and our blog
post Designing for Tablets? Were Here to Help!.
Follow the Android Design Guidelines. Specifically the sections on
Action Bar, Navigation and Pure Android. The article 10 practices to
watch out for when building an app for the next billion users also
provides good high level guidelines.

Make sure the app follows the core app quality checklist.

Make sure the app implements material design.

Build in licensing protection.

Build a fully internationalized app even if youre only targeting one


country or language initially, as adding this capability later can be
costly.
When it makes sense for your app, take advantage of Android
platform features and Google Play Services to delight your users
such as widgets, Google Maps API, notifications, shared intents,
live wallpapers, NFC, DayDreams and lockscreen widgets.
Include the Google Play services, such as leaderboards, that are
applicable to your app.
Look at implementing App invites to encourage users to share your
app with people they know.

Section 2: Select the right agency31

Questions to ask yourself:

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.

32The Outsourcing Playbook

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.

34The Outsourcing Playbook

Questions to ask the agency:

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?

Questions to 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?
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?

Section 2: Select the right agency35

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.

36The Outsourcing Playbook

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:

Reference customers should ideally be in your business domain.


Agencies should consider ensuring their developers are trained in
Android. They can do this by encouraging their developers to
follow the Android Udacity courses and Nano degrees for their
developers. Google encourages this to help establish core
expertise and a shared approach to Android development.
Watch out for artificially low estimates where the sales teams has
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.

Section 2: Select the right agency37

Questions to ask the agencies:

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?

Questions to 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? 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?

Where might we expect to see a clash of cultures, and can we


manage this risk?

38The Outsourcing Playbook

05
Ensure your agency is
up to date with the
latest on Android

Confirm that the agency have a good understanding of the latest


developments in the Android world.
Why its important:
The features and capabilities of Android are under continual
development. 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 apps the user appeal and
functionality. So its important to choose an agency that is up to date
and can apply the latest enhancements to your app.

40The Outsourcing Playbook

How to do it:
Typically the agency and their staff should be tuning into Googles
Android channels, which include:

Android Developers website

Android Developers newsletter

Android Developers channel on YouTube

Android Developers Blog

@androiddev on Twitter

+AndroidDevelopers on Google+

Section 2: Select the right agency41

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.

42The Outsourcing Playbook

Download and test the apps created by the agency.


Ask the agency to provide a UX mockup on a small part of your
app as part of their proposal.
Ask the agency to explain how they would apply material design to
your app.

Questions to ask the agency:

What Android specific design experience do you have?


Are you able to ensure compliance to the UX best practice outlined
by Google?
What experience do you have implementing material design in
apps?

What user testing are you planning at each phase?

How do you use analytics as part of the design process?

Questions to 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?

Bonus tip:
Make sure youre able to evaluate the agencys Android design
experience. UX guidelines are different among Android, iOS, and the
mobile web.

Section 2: Select the right agency43

07
Understand all your
costs, not just the price
quote by the agency

Get a detailed breakdown of the agencys quote, review it against what


youve learnt about them, and assess what costs or risks of costs you
need to budget for.
Why its important:
You may see a considerable range of pricing strategies and prices
from agencies. These might include:
X

Fixed price/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.

44The Outsourcing Playbook

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 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.

Section 2: Select the right agency45

Questions to ask agencies:

What is your pricing model?

What costs do you expect us to cover (such as testing)?

Questions to ask yourself:

What do I need to consider such as revenue, brand exposure (for


example via 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/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 your
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?

46The Outsourcing Playbook

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?

Section 2: Select the right agency47

08
Know what you want
from the projects
contract

Determine any contract requirements you want to have in place and


provide them to the agency during the selection process. Request
details of the agencys contractual requirements.
Where an agencys 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.
Why its important:
Once you have selected the right agency for your project you will want
to conclude contract negotiations as quickly as possible. By stating
your contractual requirements early in the selection process and
gaining an understanding the agencys requirements, you can assess
and plan for the likely effort and risk associated with contract
negotiation.

48The Outsourcing Playbook

Questions to ask the agency:

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?

Questions to 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 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 2: Select the right agency49

Section 3

Get your app


project underway

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

Develop relevant competencies in your organization

02

Brief the agency

03

Find everyone a good home

04 Prepare to work with multiple agencies

52The Outsourcing Playbook

Section 3: Get your app project underway53

01
Develop relevant
competencies in your
organization

Plan to develop the competencies needed in your own organization to


meet your project requirements and obligations.
Why its important:
Having an app developed for you wont completely offload all tasks. At
a bare minimum youll need to test and accept the finished product
and therefore need resources who can perform acceptance testing.
But you may also want or need to be involved in aspects of the project
from user interface design through to marketing and support of the
released app.

54The Outsourcing Playbook

Questions to ask the agency:

What tasks do you expect us to complete on this project?

What skills do we need to complete our assigned tasks?

Do you offer or can you recommend training for the roles well
need to perform on this project?

Questions to ask yourself?

Is your marketing department familiar with Googles


comprehensive guides regarding the publication and promotion of
applications and store listing experiments?
Do we have the design and copywriting skills to create a well
designed feature graphic, screenshots of our app and a compelling
description for the Play store listing?

Section 3: Get your app project underway55

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.

56The Outsourcing Playbook

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.

Section 3: Get your app project underway57

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.

58The Outsourcing Playbook

Best practices:

Bring the project teams together, If you can, either on your or the
agencys premises.

Questions to ask an agency:

Will your team working on this project have a dedicated project


space?

Would you be willing to move your team to our premises?

Can you accommodate our project team at your premises?

Questions to ask yourself:

Is it easy and convenient to travel between our premises and that


of the agency?
Can I provide or obtain a space to bring our project team together?
Do I have access to meeting spaces? Will I be able to guarantee
their availability?
Have I allowed for the time of relocating my project team or that of
the agency?

Section 3: Get your app project underway59

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.

60The Outsourcing Playbook

Questions to ask the agencies:

Have you worked with this agency before or used other agencies to
perform specific project tasks?

Questions to ask yourself:

Am I prepared to undertake any additional management needed to


ensure the agencies work well together?
Is communication between the agencies good?
Are there any signs that an agency is maneuvering for position or
attempting to undermine another? How can I be prepared to deal
with this if it does happen?

Section 3: Get your app project underway61

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

Maintain open communications

02

Make sure the development methodology is well defined and


understood

03

Be prepared to deal with change

04 Strive for architectural excellence, supported by rigorous code


testing and documentation
05

Test your app with trusted user before rolling out

06 Provide the agency with access to your Google Play Developer


Console account

64The Outsourcing Playbook

Section 4: Execute successfully to deliver a great app65

01
Maintain open
communications

Communicate with your agency regularly. Be frank and honest, and


dont unnecessarily withhold information that could affect the project
or app.
Why its important:
Open and honest communication between the agency and your
project team as well as between the project and your stakeholders
contributes positively to the quality of the app created. Open
communications also help create a culture of trust.
Its difficult to over stress the importance of open effective
communications, which is why weve placed it first in this section.

66The Outsourcing Playbook

Best practices:

Continue to challenge yourself throughout the project to develop a


culture of open communications, reviewing this regularly.
Encourage ad-hoc communications, ensure key personnel are
accessible in person, by phone or email: as far as is practical,
operate an open door policy.
Set up appropriate regular meetings and follow good practices for
meeting management: For many projects it can make sense to
have daily stand up calls or face-to-face meetings where you can
understand how the team is working, have visibility to progress,
and gain familiarity with blocking issues.
Look to improve communications with remote teams by using
technologies, such as Google Hangouts.
Bring remote teams on site for important meetings.
Maintain continued, effective communication with your project
stakeholders throughout the life of the project. This helps ensuring
their needs are met and the project stays aligned should business
requirements evolve.
Be aware of cultural differences and biases when working with
teams from different countries.

Section 4: Execute successfully to deliver a great app67

Questions to ask the agency:

Are there any communication channels or techniques you usually


use that we arent using on this project? Should we adopt them?
Is our team easily accessible to your team? If not, how can we
improve?

Questions to ask yourself:

Is the agency likely to share bad news with us openly?


Is the agency likely to tell us if there is an unexpected issue with
our specification?
How are we managing these and other risks on the project?

68The Outsourcing Playbook

02
Make sure the
development
methodology is well
defined and understood

Agencies will usually have a defined process for undertaking


development work. Make sure the project team and stakeholders
understand the process.
Why its important:
There are many app development methodologies available. Agile is
one of the most popular, but many alternative approaches could be
used and may be more suitable. Regardless of the development
methodology used; a clear, agreed, and understood mode of operating
is key to a projects success.

70The Outsourcing Playbook

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.

Questions to ask the agency:

What development methodology do you use?

How do you involve the end user within that methodology?

What challenges have you previously encountered with the


approach and methodology youve proposed? How can we apply
the lessons learnt to avoid them in this project?

Questions to ask yourself;

What is my organizations preferred methodology?


Have I set expectations on how we should work together within
that framework?
Am I giving the agency sufficient access to the stakeholders in my
organization?

Section 4: Execute successfully to deliver a great app71

03
Be prepared to deal
with change

Put in place a management process that deals with change in an


effective and timely manner.
Why its important:
Its tempting to think of an application as complete when its
functioning according to its specification. The reality is that no app is
complete, there are always opportunities to improve it.
As you share your application design or beta version with your users,
youll probably get unanticipated feedback. At the same time updates
to Android and new features will emerge, offering options to improve
your app or suggesting changes you should make.
Having a process that captures this feedback or platform changes,
evaluates them, and if necessary implements changes will help in
delivering an app that delights users. It will also allow you to
predictably manage the project timeline and budget.

72The Outsourcing Playbook

Best practices:

Ensure you have robust project management in place, with an


agreed methodology such as PRINCE, APM, Scrum, Agile, or
similar.

Questions to ask the agency

What project management methodology do you use?


How do you propose to handle changes in the specification, for
example, through development methodology or documentation?

Questions to ask yourself

Have I budgeted for ongoing change and maintenance?


Have I made sure that the app is future proofed so that updates to
the app will be easier?
Am I setting the expectations of others in my organization at the
right level for version 1 of the app and then for subsequent
versions?

Section 4: Execute successfully to deliver a great app73

04
Strive for architectural
excellence, supported by
rigorous code testing
and documentation

Create an excellent app architecture from the moment you begin


designing. Then create and execute a great suite of tests, which can
stand as the documentation for the code.
Why its important:
A clean, well architected code base using tried and tested code
patterns will be easier to maintain and less likely to encounter
unexpected effects when changes are made. A good testing discipline
will also help maintain code quality by isolating issues quickly, so they
can be fixed while code changes are fresh and in-mind. A clean
architecture and well tested code will make it easier to reduce the
costs of adding new features later.

74The Outsourcing Playbook

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:

Develop for the latest versions of Android.

Look for tried and tested architecture patterns that you can reuse.

Include usability testing in the both the design and development


processes.
Identify the most popular devices among your target users, and
tests on those devices first. Then expand the test device range as
far as is practical.
Apply the toothbrush test we challenge Google products to pass:
if the app is used twice a day, every day, will the user find
frustrations that could magnify over time.
Strive for ongoing product excellence from the beginning.

Section 4: Execute successfully to deliver a great app75

Questions to ask the agency:

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 level of automated testing do you plan?

How regularly will you run these tests?

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?

76The Outsourcing Playbook

Questions to ask yourself:

What kind of reporting on tests do I want?


Should I get a third party to review the commenting and
documentation within the code to ensure future maintainability?

How are we going to handle integration testing?

How are we handling user acceptance testing?

Do we want or need to maintain our own library of test devices?

Given its not a trivial task, how will we maintain an up to date


library of test devices?

Get started:
Cloud Test Lab

Section 4: Execute successfully to deliver a great app77

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.

78The Outsourcing Playbook

Best practices:

Look for suitable testers from your organizations existing social


networks; look for both loyal customers and detractors.
Consider how tightly you want to control beta testing: run closed
tests if you want to involve selected users only or open tests where
youre happy for anyone interested to participate.
Consider capping the number of participants in an open beta-test,
to ensure the test is manageable.
Use the staged rollout feature of the Developer Console to release
an updated app progressively to larger portions of your user base.
Monitor for issues; halt the roll out and correct issues if unforeseen
problems arise.

Questions to ask the agency:

Do you take a big bang approach to rolling out new features or


use beta testing and staged roll outs?
Where have you used staged roll outs and beta testing effectively?

Section 4: Execute successfully to deliver a great app79

Questions to ask yourself

Is my organization supportive and set up to work with agencies on


staged roll outs and beta testing? Do we need to adjust our culture
in any way, to make it work?
Do we have a culture that puts the user at the center of design and
can make the most of beta testing? How can we build this into our
way of working?

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).

80The Outsourcing Playbook

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.

82The Outsourcing Playbook

How to do it:

In the Developer Console, click Settings.


On the left menu, click User accounts & rights and then Invite
New User.
Enter the users email address and choose an access expiration
date.
Select a role or choose individual permissions. If you want to
restrict the user to a specific app, leave permissions unchecked.
You can add app specific rights after youve sent an invitation.
Click Send Invitation.

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.

Questions to ask yourself:

What is the support strategy for the application? For example, if


defects are found or customers raise questions or comments in
their feedback on Google Play. How does this fit into the strategy
for other support channels for the product?

Get started:
Add developer account users & manage permissions

Section 4: Execute successfully to deliver a great app83

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

86The Outsourcing Playbook

Please give us your feedback!


Google Play is committed to the success of developers apps
and games. Please give us your feedback on this guide so we
can continue to improve our guidance:
goo.gl/UGMZns

Section 5: Useful resources87

Get this guide and more resources for agencies


at developers.google.com/agency

You might also like