作者 / Google 开发者关系主管 Rupert Whitehead
欢迎来到本次连载的第二篇文章,本次连载会向您介绍如何与供应商合作以帮助开发您的移动应用。我们在第一篇文章 (基础篇) 中详细阐述了在开始选择供应商之前应该做的准备工作。
现在,是时候考虑选择供应商了。在这个过程中,您需要了解他们在关键领域的成熟度和能力。评估这一点无需要求供应商做出正式提案 (Request For Proposal, RFP),您可以在与供应商面对面的会议中进行评估,但这个评估过程不能省略。如果您对一个团队在我们接下来提到的几个指标都能有所了解,就可以选出最能满足构建优秀应用要求的供应商。
制定入围名单
如果您之前没有与供应商合作过,那么您的第一个问题将是: “我要如何找到供应商?” 我建议的一些方法包括:
在参加行业展会或者活动时,要注意搜集参展商信息,以及那些积极争取商业合作机会的组织。
向您的企业和人脉寻求建议。
联系当地的开发者团体,或是参加他们的会议以建立联系。
使用 Google Developers Agency Program 中提供的 Android 认证开发供应商名录。(请点击屏末 “阅读原文” 了解详情)
查看一个列出供应商和自由开发者名单的网站,例如 Clutch 上的顶级移动应用开发公司列表。
使用供应商常用的关键词,例如系统集成商、移动或设计工作室、顾问、开发商店、自由职业者、应用开发者或移动专家等,在互联网上搜索相关的信息。
在寻找供应商时,请记住,您需要尽可能地了解它们的业务环境,以及他们提供的各种服务和方法。您也应该问自己:
我在寻找一个能够处理所有事情的团队吗?——注意有些过大过全的需求可能很难找到单一的供应商就能全部消化。
我需要多少次报价? 每个报价都需要耗费时间进行评估,但您可以从每个竞标团队的不同方法中学习。这可能会进一步让您明白,您想要构建的应用应该是什么样的,各种不同的方法都分别包含有哪些优点和风险。
撰写提案需求
如果您已经有了一个入围的供应商列表,请从您为项目设定的目标和相关 KPI 开始,以便选择数量适中的问题,这些问题是您希望供应商在其提案中解决的,这便是提案需求 (Request For Proposal, RFP)。您可以考虑将评估模型作为此提案的一部分,因为这样的模型和您提出的问题相关,从而更便于进行综合评估。
同时,您可以考虑向供应商付费,让它们在您的想法探索阶段提供助力。它们可以帮助您确定 RFP 或提案中涉及到的问题范围。如果您可以在一开始时就为业务构建出清晰的解决方案,您可以在之后节省大量时间。
虽然您的 RFP 会在许多方面只适合于您的业务,但许多成功应用的 RFP 都包含如下需求和准则:
在手机上提供出色的用户体验,并确保它在平板电脑和 Chromebook 上运行良好。
遵循 Android 设计指南。
遵循应用质量指南。
实现 Material Design。
内建版权保护和处理机制。
构建一个完全为国际化做好准备的应用——即使您最初只针对一个国家/地区或语言——因为在开发完成之后再进行国际化可能会需要很高的成本。
了解 Google Play Services 能提供的功能,以便设计可以在应用中搭载的功能。
实现新用户邀请机制,鼓励用户与他们认识的人分享您的应用。
Android 设计指南:
https://developer.android.google.cn/design/
应用质量指南:
https://developer.android.google.cn/docs/quality-guidelines/
Material Design:
https://material.io
Google Play Services:
https://developer.android.google.cn/distribute
新用户邀请:
https://firebase.google.cn/docs/invites/
在准备 RFP 时,请问自己一些问题:
考虑到我的应用可能具有的复杂性,我的要求是太多了还是太少了? 这里要考虑答案的字数限制,要能精简准确地回答这个问题。
我是否要求供应商描述了他们在项目中预见到的风险?
我是否希望在多个国家或地区进行发布,我是否希望让同一家供应商来完全对我的应用实施本地化?
探寻供应商的激情源头
应用要做到优秀,会更仰赖激情和洞察力,而不是纯粹的开发技能——任何团队都可以获得开发技能,但它们也许无法学会在工作中充满热情。充满活力的供应商很少会闭门造车: 它们,以及它们的员工,通常会积极参与当地和全球的开发者和专家社区。充满激情的供应商通常也会提供令人惊讶的新见解,这可以带来额外的价值,并与您的核心业务愿景保持一致。
衡量一个充满激情的团队的关键指标包括:
提供有关其他功能的建议,并使用明确的论据阐明这些功能将如何改善您的应用或带您走向成功。
团队曾通过给产品提供精彩见解从而为客户带来惊喜,要能给出具体的例子。
该团队的开发者在广义开发者生态系统中的活动迹象和可见性。例如,参与本地开发者社区和活动,撰写博客或作为论坛专家参与其中。
在评估该团队所蕴含的能量时,请回顾您与其沟通的经历,并问自己:
该团队是否通过展示新的市场机会、应用功能或开发方法等为我带来了额外的惊喜?
该团队是否遵循了良好的优化实践,从而获得尽可能高的应用用户评价?
如果一个团队确实提出了很好的建议,那么我的公司是否足够敏捷以应对变化? 我可以做些什么来改变我们的企业文化,并提高响应速度?
该团队是否合适?
即使您只期望与该团队合作开发您的应用的第一个版本,建立信任也是很重要的,这是构建良好工作关系和开发优秀应用的必需品。通过了解该团队的经验深度,您可以更好地评估他们的提案是否诚实,并评估信任关系的基础。例如,如果一个团队诚实地宣称它没有在您的业务领域工作过,而另一个团队虽然声称拥有相关经验,但却无法给出供参考用的合作客户,那么前者也许更为合适。
此外,您还要尝试了解供应商内部的文化,以及他们处理工作的方式。看看它是否与您组织中采用的方法一致。如果您和对方在工作方法方面的 “思维方式” 基本一致,则合作起来会更顺畅一些。例如,如果您的组织倾向于采用正式的方法进行规划,需要大量的文档、审核和严格的批准,而您合作的供应商则倾向于使用更加敏捷的方式处理类似事情,那么双方的合作将会比较困难。
如果您正在寻找长期合作关系,那么在衍生的相关领域 (例如 Android Wear 或 Android TV) 拥有技能和深刻见解的供应商是更好的选择,因为它们可以帮助您扩展您的产品。
需要注意的一些关键事项包括:
咨询您业务领域中的各个甲方,以了解这个供应商的历史评价。另外也了解一下这个供应商最大的客户是谁,该团队为这些客户开发的应用都有哪些。
该团队应该能够证明他们的开发者已接受过 Android 开发培训。例如,他们可能会鼓励他们的开发者学习 Android Udacity 课程并获取 Nano 认证。这些资源旨在传授 Android 开发所需的核心专业知识和共通方法。
要小心过低的报价,因为供应商的销售团队可能为了拿下合同而给出过高的承诺。这样的报价往往无法准确地反映出开发最简可行产品 (Minimum Viable Product, MVP) 所需的费用。
该团队是否已经确认了双方合作时可能面对的风险,是否已经阐明了自己在其他项目中遭遇类似风险时的应对方案。
当您评估该团队时,也请问自己:
我是否直接或间接了解任何与该团队有过合作经历的人?
该供应商是否为其他客户创建了高质量应用,例如在 Play 商店获得 4+ 星级? 如果该团队的应用评分较低,那么他们是否有可能获得更高的评分?
我们是否给供应商提出了明确的需求,要求他们在提高评分方面做出努力?
我们的公司是否能够对该团队充分开放?
我们能否调整我们的工作方式以适应该团队,以及该团队是否可以通过我们想要的工作方式来支持我们?
双方可能会在哪里发生 “文化冲突”,这种风险是否能够管理?
确保供应商紧跟 Android 演进的步伐
正如 Google 提供的各种服务一样,Android 的功能也在不断进化。好的和优秀的应用之间的区别通常就体现在,后者能够巧妙地使用最新功能,增加对用户的吸引力,并切实实现更佳的体验。因此,您有必要选择与 Android 保持同步的供应商,并将最新的、更强大的功能添加到您的应用中。
这意味着您需要很了解 Android 的演进? 这可能听起来像是一个悖论——如果您的团队已经是 Android 专家的话,您可能从一开始就不需要去找开发供应商。反之,您可以挑选出官方最近更新的产品内容对供应商进行测试。例如: 请向对方提出,您听说了 Android 最新的用户身份识别技术,并观察该团队的回应,看看对方是否了解 Android 9 Pie 中的相关改进措施,以及是否能合理解释这些功能为什么能,或者为什么不能帮到您的应用。
该团队是否将用户体验置于设计的核心
与 3 星或更低评级的应用相比,4 星或 5 星评级的应用被下载的可能性要大得多。因此,创建出色的用户体验是促使用户使用您的应用的关键。
自然,拥有一个对 Android 设计有深刻理解和深度经验的设计团队是实现这一目标的关键。
您需要采取如下方法,确认该团队在用户体验 (UX) 设计和测试方面拥有良好的技能和流程:
查看该供应商创建的其他应用,并查看星级评分和用户评论。
下载并测试该团队创建的应用。
在提案需求中将应用的一小部分 UX 设计稿包含在内。如果您正在考虑打造跨平台产品,请记得要求为 Android、网页以及您设定的任何其他平台提供设计稿。
请供应商解释他们准备如何将 Material Design 应用到您的应用中去。
在该团队实施过的项目中寻找针对 Android 进行设计的经验示例。
让供应商说明他们如何确保实现 Google 强调过的用户体验最佳实践做法。
询问供应商在应用中的哪些地方采用了 Material Design。
询问供应商为每个开发阶段进行用户测试的对应计划。
要求该团队阐述他们如何在设计过程中使用数据进行分析和迭代。
在评估该团队时,也请问自己:
该团队是否已阐明,他们将如何运用 Android 以及 Material Design 来确保应用对用户来说是直观易用的,并且能展现我们的品牌个性?
设计没有万灵药,“一刀切” 的移动应用设计方法无法应对所有的使用场景,我是否准备好在自己团队内部普及这个概念?
了解所有成本
您可能会看到来自供应商的多种定价策略和报价。其中可能包括:
固定价格以及固定的开发内容,这种方法几乎没有灵活性可言。
初始探索阶段采用固定价格,后续阶段采用弹性价格,这样就可以容纳不断变化的开发内容,提供良好的灵活性。
工时加单位人工成本方式的报价几乎可以灵活地应对一切变化,但比较难以准确确定总体成本。
在这些定价策略中,您可能还会看到:
该项目中的某些部分,通常是代码开发环节会在人工成本较低的国家或地区完成。
收入分成协议,通过分享应用之后的收入比例来减免前期开发的费用。
您可能希望要求该团队提出激励措施或风险分担措施。例如,如果应用的用户评级在 1000 次下载后高于 4 星级,则可以为他们提供奖金。毕竟用户评级与应用的转化率有很强的相关性。
在更高的层面上,开发者可能比您的团队在应用研发上拥有更丰富的经验,提供战略洞察,并交付超出预期的应用。他们可能有能力直接消化掉一些直接或间接的成本并使您承担更小的预算控制风险。但通常,这种拥有更高洞察力和能力的供应商也可以收取更高的溢价,而且他们可以挑选自己的客户,毕竟市场对他们的需求量很大。
在较低端层面上,开发者可能缺乏经验,项目中的一部分也会在开发成本较低的国家或地区完成。与这些供应商合作可能需要预先提供更详细的开发需求,且在需求变化、响应用户反馈,或是采纳优化建议方面降低灵活度——因为需求变更对这种团队来说会意味着更高的风险。供应商还可能会期望您做更多的工作或是负担更多的相关成本,所以出现预算风险的可能性也会更高。
这些方法中的每一种都会对您需要负担的成本产生不同的影响。获得该团队的详细报价清单非常重要。请确保您清楚地了解定价模型,以及每一项费用内容,并详细列出他们希望您承担的成本,例如测试成本。
然后,您应该考虑用您收集的有关供应商的信息来建立风险模型,以确定您需要为这些成本或风险付出多少预算。
在评估预算时,请问自己:
为了建立投资回报 (Return On Investment, ROI) 模型我需要考虑哪些要素——例如营收、品牌曝光率 (如下载量)、用户留存率,或是与市场中对手的产品进行竞争。
您是否想考虑与该供应商分享奖励或风险?
如果使用固定费用,我将如何处理可能出现的开发需求变更?
该团队是否有海外分支团队以节省成本,是否按照严格的固定费用进行工作? 我们是否需要制定非常详细的需求清单确保提交物满足我们的要求? 鉴于我们对自身需求的了解,严格降低灵活性是否会带来问题?
如果该团队要求分享应用的收益,并且几乎没有在构建应用时收取什么费用,那么这种分润模式是否适合我们自己的业务?
是否存在我未考虑到的额外成本? (例如应用营销和维护成本)
我的谈判/议价策略是什么?
如果供应商通过在海外进行一部分开发而实现了较低的成本,这种情况也意味着很难进行高效的面对面沟通,那么应用的交付是否会受到影响? 我要如何才能把这一风险最小化?
在评估每个团队的报价时,它们要如何与我的投资回报模型匹配? 以及与我为应用设定的目标匹配?
在项目进行期间,我是否预备了适当的应急费用?
确保项目合同能反映您的需求
一旦为项目选择了合适的供应商,您就会希望尽快完成合同的谈判以及签署。您可以在选择过程的前期就向供应商陈述您在合同方面的要求,并了解供应商的要求,并在这些信息的基础上规划与合同谈判相关的风险及对策。
首先确定您想要的合同内容,如果可能的话,请将其作为提案需求 (RFP) 的一部分。但是,如果您不将其纳入 RFP,请确保至少在选择供应商的过程有向供应商进行沟通。同时也要求供应商给出他们想要的合同内容,包括以下详细信息:
他们为这类工作准备的标准合同条款。
他们可能希望应用于此项目的任何特定合同条款。
他们偏好的合同谈判方式,这种方式将会如何影响项目启动日期。
如果供应商的合同要求与您的合同要求存在显着差异,例如在知识产权所有权方面,请考虑尽早与供应商协商,从而将这种核心分歧解决掉。如果双方差异在可接受范围内,您可以在谈判前确定好您的让步底线。
当您考虑进行合同谈判的方法时,请问自己:
这类工作的行业标准条款和条件是什么?
我们是否想把任何特定条款包含在此项目中?
我们团队内的人员是否能完成这次谈判? 如果不能,我们是否需要寻求法律顾问提供一些建议? 再或者我们是否需要找一位谈判专家来代表我们进行谈判?
如果我们在合同谈判结束前就启动了项目,会对项目产生不利影响吗?
做出决定
到了这个阶段,您应该已经找到了至少两个 (可能更多) 入围的团队,以及他们给出的提案和报价。希望您能够轻松做出选择,但如果您难以做出决策,我会建议向着您认为最合适的供应商方面做出努力。
在选择好您的供应商后,项目即可正式启动。在接下来的文章中,我会指出一些在启动项目时需要考虑的关键因素,以及确保项目如期执行的最佳实践。
您对外包应用开发有什么看法吗? 您是否外包过,或者承接过类似的项目? 请在下面的评论中和我们分享您的想法。
点击屏末 | 阅读原文 | 了解 Google Agencies Program 更多详细信息。
推荐阅读