5.7. 产品整个流程1

5.7.1. 研究背景 3

1、提高研发计划性 产品开发流程每个环节都涉及时间排期,这些时间管理要素可以有效控制项目时间表。

2、提高研发效率 通过明确开发团队每个角色的职责和协作方式,让每个成员只需严格按照规范做好自己的工作即可高效协作,降低沟通成本。

3、保证产品质量 通过确保每个环节的输入输出结果,让最终产出的产品得到有效保证。

4、及时发现问题 通过各环节过程数据,方便管理人员深入了解问题。

5.7.2. 组建团队

产品研发核心团队通常由产品经理(1名)、研发经理(1名)、研发人员(5-10名)组成。产品开发涉及的职责分配到各位成员身上。

角色见::ref:prod_people

5.7.3. 工作流程 2

收集产品需求(需求池)→ 评审需求→ 竞品分析 → 产品原型设计 → Demo评审→ UI评审→ 开发跟踪→上线前的测试 → 产品上线后的bug收集 → 对客服的培训,可根据实际情况酌情进行调整。

../_images/process.png

Fig. 5.7.1 流程

../_images/project_process.png

Fig. 5.7.2 研发流程各阶段及角色分析10

5.7.3.1. AI PM 特殊点 6

  1. 需求把握:AI产品还处于探索期(找刚需), ToC产品的产品形态甚至典型用户群体(用户画像)都还不明确,所以信息(行业信息、竞品信息、用户信息)收集、创意思考、产品验证的工作会更加困难。

  2. 闭环验证:在进行产品核心价值的设计和验证工作时,AI产品经理除了以数据分析为驱动,还需要有大胆的思路、敏锐的洞见。首先,从手机场景升级到AI场景,产品使用场景发生了翻天覆地的变化;其次,AI产品的用户门槛远高于互联网产品,用户量和用户数据的规模远比不上互联网产品的量级;再次,AI产品与硬件关系紧密,产品迭代周期更长,更难收集有效数据。

  3. 交互设计:场景巨变使得交互方式从纯软件(界面、触摸屏)、纯硬件的形式,升级到多模态交互等更复杂的人机交互形式, AI场景还没有形成清晰的交互体系。很多人没有意识到新时代不仅是新技术驱动的,更关键的标志是新交互(还可能是新硬件)。

  4. 功能设计:比如,搜索产品和AI问答产品是很不同的东西,同时,产品一旦和硬件相关,难度就会陡增。

  5. 数据分析:语音交互产生的数据分析难度远高于触摸交互。因为触摸屏有效表达用户意图的概率非常高,而通过语音识别得到的信息往往和用户意图有很大的偏差

5.7.4. 七步

  1. 市场调研

  2. 需求管理

  3. 产品设计

  4. 产品研发

  5. 产品测试

  6. 产品发布上线

  7. 项目跟进优化

5.7.4.1. 市场调研

  • 市场调查:分析行业现状和市场规模,发现并掌握目标市场和用户需求的变化趋势;

  • 用户调研:通过用户访谈,可用性测试,调查问卷,数据分析的方法对用户需求进行挖掘和分析;

  • 竞品分析:剖析产品的竞争对手,对其产品进行用户体验分析。

  • 盈利分析:估算产品成本,验证产品需求。

5.7.4.2. 需求管理

  • 产品规划:确定目标市场、产品定位、发展规划及路线图;

  • 提炼需求:由市场或运营部门收集的需求来进行分析,提炼核心功能;

  • 根据竞品分析,市场调研来对功能进行优先级排序;

  • 版本规划:每个版本重点开发什么,预估研发进度,上线日期。

5.7.4.3. 产品设计

  • 编写产品需求文档,确认产品周期。

  • 产品原型要做的是梳理和完善产品需求流程,降低团队沟通成本。

  • 跟设计师确立产品设计规范,从视觉效果角度确立选用图标类型,文字大小,模块间距,宽高大小等。

5.7.4.4. 产品研发

  • 组织讨论,对需求进行评估及确认研发周期、提测时间、预发布时间点、正式发布时间点;

  • App的开发环境搭配,确定技术框架,以及研发各种基础系统等;

  • 跟踪和推动项目进度,确保项目计划的完成;

  • 布局产品运营工具,方便后期分析与用户跟踪。

5.7.4.5. 产品测试

  • 测试周期是直接跟着开发周期一起做;

  • 测试设备:确定要兼容的系统版本,手机品牌类型,手机分辨率等;

  • 按照产品需求文档进行测试。

产品经理在面临上线的时候,往往都要参与测试环节,那么怎么做好这个环节呢?12

  1. 熟读需求文档,把需求文档拿出来重新读一读,看一看。然后对照需求文档看一下现阶段产品,当前版本是否符合需求。

  2. 关注功能流程,自己先多走几遍。看看流程是否走得通

  3. 关注文案,是否有错字,是否有不正确的文字,是否有不符合需求文档和UI设计图的文字

  4. 关注交互设计,交互过程中是否有不合理的地方。是否有闪退,频闪,或者是抖动。

  5. 反复测试不同页面的跳转,测试不同页面之间的交互是否有问题。

  6. 邀请UI一起来看一下 当前页面展现是否符合 UI想实现的设计。UI有时候会看到一些细节的问题,是产品经理很难注意到的。

5.7.4.6. 产品发布上线

  • 发布环境的搭建,包括预发布环境、生产环境、灰度发布环境的准备等工作。

  • 而正式上线的工作,则包括数据库上线、程序文件上线等工作。

  • 应用商店ASO优化并根据不同的应用商店作出调整;

  • 协作运营部门做产品推广。

5.7.4.7. 项目跟进优化

  • 开发时:根据用户反馈对功能进行改进,对用户体验进行优化;突发需求变更时,变更控制;

  • 测试时:咱千万别等上了生产环境去验证。因为那时候变更成本就更大了,咱需要在发布测试环境的时候就进行验证。发现不符合预期可以随时进行更改。

  • 上线时:待产品上线之日,是不是产品经理可以短暂的解放了,答案还是NO啊,因为如果涉及到操作类需求,需要针对出操作说明,有些企业还要求附加培训服务。11

  • 运营时:对产品数据进行监控,分析产品运营效果、用户使用行为及需求,以便对产品进行持续性优化和改进;

  • 迭代时:根据数据挖掘新需求。

可添加:

  1. 研发工作总结:需要对产品研发过程做总结,不论是产品上的还是流程配合上的,为后续加强沟通协作、产品运营打好基础。

  2. 上线后收集用户反馈:为了更好的收集用户反馈,需要在所有产品上都增加反馈入口,以便用户提交反馈内容。每天都需要花费相当比例的时间去浏览,并将反馈建议转化产品需求点加入需求池。

  3. 产品体验可用性测试:邀请一批真实的典型客户,针对典型场景使用产品,用户研究员在一旁观察、聆听、记录,从而发现产品中存在的可用性缺陷。必须性,因为产品运营团队的员工往往潜意识里会认为用户一定会怎样操作,但是事实上用户很大概率上都不会按照他们希望的进行操作,甚至会陷入茫然根本用不下去。而通过可用性测试,就可以找到问题点,通过优化体验设计降低用户使用门槛

  4. 运维系统优化:升级版本上线工作、服务监控、应用状态统计、日常服务状态巡检、突发故障处理、服务日常变更调整、集群管理、服务性能评估优化、数据库管理优化、随着应用PV增减进行应用架构的伸缩、安全、运维开发等工作。

5.7.5. 人工智能规划流程

业内较为常见的设计流程是CRISP-DM(Cross-Industry Standard Process for Data Mining,跨行业数据挖掘标准流程)

CRISP-DM CRISP-DM 对应能力

在1996年的时候,SPSS,戴姆勒-克莱斯勒和NCR公司发起共同成立了一个兴趣小组,目的是为了建立数据挖掘方法和过程的标准。并在1999年正式提炼出了CRISP-DM流程。

这个流程确定了一个数据挖掘项目的生命周期,包括以下六个阶段(我做了部分修改):

  1. 商业理解:了解进行数据挖掘的业务原因和数据挖掘目标(细节落实到算法各项指标的任务)。

  2. 数据理解:深入了解可用于挖掘的数据。

  3. 数据准备:对待挖掘数据进行合并,汇总,排序,样本选取等操作。

  4. 建立模型:根据前期准备的(训练、测试)数据选取合适的模型。

  5. 模型评估:使用在商业理解阶段设立的业务成功标准对模型进行评估。

  6. 结果部署:使用挖掘后的结果提升业务的过程。

是否可以继续进行下一个阶段取决于是否有达到最初的业务目标,如果业务目标没有达到,那么就要考虑是否是数据不够充分或算法需要调整,一切都以业务目标为导向。

AI项目在产品开发过程和AI产品本身都需要一个“反馈循环”。因为人工智能产品本质上是基于研究的,所以实验和迭代开发是必要的。传统软件开发的输入和结果通常是确定的,而人工智能开发周期是概率性的。不管项目管理框架是什么,这都需要对项目的建立和执行方式进行一些重要的修改。5

5.7.5.1. 商业理解

海微购是一家从事跨境电商业务的创业公司,在前几年抓住了海淘的趋势,用户量和交易额都还不错。在新的财年,公司希望能在去年的基础上将GMV提高10%,并以此为目标制定新一年的工作计划。

5.7.5.1.1. 了解客户和确定业务目标

在内部,人工智能项目经理必须让利益相关者参与进来,以确保与最重要的决策者和顶级业务指标保持一致。

产品经理必须确保AI项目收集关于客户行为的定性信息。因为这可能不是直观的,需要注意的是,传统的数据测量工具在测量规模上比情绪更有效。对于大多数AI产品,产品经理对点击率(CTR)和其他量化指标的兴趣不如对AI产品对用户的效用感兴趣。因此,传统的产品研究团队必须与人工智能团队合作,以确保将正确的直觉应用到人工智能产品开发中,因为人工智能从业者可能缺乏适当的技能和经验。ctr很容易测量,但是如果您构建了一个旨在优化这类指标的系统,您可能会发现该系统牺牲了实际的实用性和用户满意度。在这种情况下,无论AI产品对这些指标的贡献有多好,它的产出最终都不会服务于公司的目标。

根据电商零售额公式(零售额=流量转化率客单价*复购率),公司认为:在获客成本较高的市场环境,以及本公司经营的海淘产品复购周期较长的情况下,应优先提高转化率和客单价两项指标。根据SMART目标制定原则,确定下一次迭代的产品目标为:猜你喜欢模块中的商品点击量需提高20%,交叉销售额提高10%。

如果你没有做适当的研究,你很容易将注意力集中在错误的度量上。我们采访的一家中型数字媒体公司报道称,他们的营销、广告、战略和产品团队曾经想要建立一个人工智能驱动的用户流量预测工具。市场营销团队建立了第一个模型,但因为它来自市场营销,所以该模型针对点击率和潜在客户转化率进行了优化。广告团队更感兴趣的是每潜在成本(CPL)和终身价值(LTV),而策略团队则与企业指标(收益影响和总活跃用户)保持一致。结果,很多工具的用户都不满意,尽管人工智能运行得很完美。最终的结果是开发了针对不同指标进行优化的多种模型,并重新设计了工具,以便能够将这些输出清晰、直观地呈现给不同类型的用户。

5.7.5.1.2. 确定数据挖掘目标

需要明确数据挖掘的问题是一个分类问题,聚类问题还是一个预测问题,以便于后续的建模阶段选择合适的算法。另外,还需要确定的是数据挖掘的范围,是针对所有用户大范围调整,还是先针对小规模的部分用户进行A/B Test,待验证成功之后再全面推行。

数据挖掘成功的标准是什么,例如:推荐的准确率要提高40%,或用户的流失概率降低20%等,通过可量化的指标评估整个工作的效果。

5.7.5.1.3. 制定项目计划

根据具体的,可量化的方案组织相关的干系人来评估工作量。根据工作量倒排项目计划表,将目标拆解到更小的时间颗粒度,并指定相关责任人进行任务跟进

../_images/AI_plan.png

Fig. 5.7.3 项目计划

在这个阶段需要明确各个环节的交付产物,并识别可能的项目风险,提前制定风险应对计划。

例如:本公司缺乏某方面的数据,需要从外部获取,或者相关人员配置不足,需要招聘或借调人力资源的支持等等。在项目进行的过程中持续监控,以确保项目的正常进行。

5.7.5.2. 数据准备

5.7.5.2.1. 数据探索和实验

人工智能项目的这一阶段费时费力,但能否完成是未来成功的最重要指标之一。产品需要平衡资源投资和在没有充分了解数据环境的情况下继续发展的风险。获取数据通常很困难,尤其是在受监管的行业。一旦获得了相关数据,理解什么是有价值的,什么是简单的噪音就需要严格的统计和科学。人工智能产品经理可能不会自己做研究;他们的角色是指导数据科学家、分析师和领域专家对数据进行以产品为中心的评估,并为有意义的实验设计提供信息。我们的目标是对存在的数据有一个可衡量的信号,对数据相关性有一个可靠的洞察,并对在哪里集中精力设计特性有一个清晰的愿景。

5.7.5.2.2. 数据处理和特征工程

数据处理和特征工程是每个AI项目中最困难也是最重要的阶段。人们普遍认为,在一个典型的产品开发周期中,数据科学家80%的时间都花在特性工程上。自动化和深度学习的趋势和工具确实减少了构建原型(如果不是实际产品的话)所需的时间、技能和努力。尽管如此,构建一个卓越的特性管道或模型架构总是值得的。AI产品经理应该确保项目计划考虑到所需的时间、精力和人员。

5.7.5.3. 数据理解

明确了业务目标之后,我们需要针对数据挖掘的问题收集相关的数据,并对数据进行初步的处理,目标是熟悉数据,探索数据与数据之间的内在联系,并识别数据的质量是否有问题。

用户画像,选择典型的主要客户——例如:最近有过购买记录,并且在一定时间内持续活跃的用户。而不能选择已经流失的,或者是从来没有购买记录的无效客户。

对于参与建模的特征,需要选择那些与业务目标息息相关的数据,以购买商品转化为例:从业务经验来看与之相关的数据有用户的月均消费额度、用户的商品偏好、商品的曝光率、好评率等等。

5.7.5.4. 构建产品

5.7.5.4.1. AI产品交互设计

AI产品经理必须从一开始就成为设计团队的一员,以确保产品提供所需的结果。考虑产品的使用方式是很重要的。在最好的人工智能产品中,用户无法分辨底层模型如何影响他们的体验。他们既不知道也不关心应用程序中是否存在人工智能。以Stitch Fix为例,它使用了多种算法方法来提供定制风格的建议。当Stitch Fix用户与人工智能产品交互时,他们会与预测和推荐引擎交互。他们在体验过程中与之互动的信息是一种人工智能产品——但他们既不知道,也不关心,他们所看到的一切背后是人工智能。如果算法做出了完美的预测,但用户无法想象佩戴所展示的物品,该产品仍然是一个失败的产品。在现实中,ML模型远非完美,因此更有必要确定用户体验。

要做到这一点,产品经理必须确保设计与工程同等重要。设计师更倾向于用户行为的定性研究。显示用户满意度的信号是什么?如何开发出令用户满意的产品?苹果公司通过iPod、iPhone和iPad产品开创的设计理念,即制造“可以正常工作”的东西,是他们业务的基础。这就是你需要的,你一开始就需要输入。界面设计不是事后添加的东西。

5.7.5.4.2. 建模和评估

人工智能项目的建模阶段是令人沮丧和难以预测的。这个过程本质上是迭代的,有些AI项目在这一点上失败了(原因很充分)。这一步之所以困难很容易理解:很少有朝着目标稳步前进的感觉。你不断地试验,直到有效果;这可能发生在第一天,或者第100天。当没有有形的“产品”可以展示给每个人的劳动和投资时,AI产品经理必须激励团队成员和利益相关者。一种保持动力的策略是推动短期的突破,以超越表现基线。另一种方法是启动多个线程(甚至可能是多个项目),这样一些线程就能够演示进度。

5.7.5.4.3. 原型及MVP

“不要一开始就试图设计和构建完美的系统。相反,快速建立和训练一个基本的系统——也许只需几天。即使基本系统与你能建立的“最佳”系统相去甚远,检查基本系统是如何运作的也是有价值的:你会很快找到线索,向你展示最有前途的方向,在那里投入你的时间。 9

Entrepreneurial product managers are often associated with the phrase “Move Fast and Break Things.” AI product mangers live and die by “Experiment Fast So You Don’t Break Things Later.” Take any social media company that sells advertisements. The timing, quantity, and type of ads displayed to segments of a company’s user population are overwhelmingly determined by algorithms. Customers contract with the social media company for a certain fixed budget, expecting to achieve certain audience exposure thresholds that can be measured by relevant business metrics. The budget that is actually spent successfully is referred to as fulfillment, and is directly related to the revenue that each customer generates. Any change to the underlying models or data ecosystem, such as how certain demographic features are weighted, can have a dramatic impact on the social media company’s revenue. Experimenting with new models is essential–but so is yanking an underperforming model out of production. This is only one example of why rapid prototyping is important for teams building AI products. AI PMs must create an environment in which continuous experimentation and failure are allowed (even celebrated), along with supporting the processes and tools that enable experimentation and learning through failure.

Qualitative data collection tools (such as SurveyMonkey, Qualtrics, and Google Forms) should be joined with interface prototyping tools (such as Invision and Balsamiq), and with data prototyping tools (such as Jupyter Notebooks) to form an ecosystem for product development and testing.

../_images/AI_MVP.png

Fig. 5.7.4 AI MVP

5.7.5.4.4. 数据质量和标准化

在大多数组织中,数据质量要么是工程问题,要么是IT问题;除非它阻碍了下游流程或项目,否则产品团队很少处理它。这种关系对于开发AI产品的团队来说是不可能的。“垃圾输入,垃圾输出”也适用于人工智能,所以优秀的人工智能pm必须关心数据的健康状况。

原则:

  • 小心“数据清理”方法会破坏数据。如果它改变了底层数据的核心属性,那么它就不是数据清理。

  • 寻找数据中的特性(例如,来自遗留系统的数据会截断文本字段以节省空间)。

  • 在计划和实施数据采集时,要了解糟糕的下游标准化的风险(例如任意词干提取、停止词删除)。

  • 确保数据存储、关键管道和查询都有适当的文档记录,具有结构化的元数据和易于理解的数据流。

  • 考虑时间如何影响您的数据资产,以及季节性影响和其他偏差。

  • 要理解用户体验选择和调查设计可能会引入数据偏差和人为因素。

5.7.5.4.5. 通过技术领导来加强AI产品管理

除了优秀的产品感觉、UI/X体验、客户知识、领导技能等,不太可能每个AI PM都拥有世界级的技术直觉。但不要因此而产生悲观情绪。因为一个人不可能是所有事情的专家,AI pm需要与技术领导者(例如,技术领导者或首席科学家)建立合作关系,后者了解技术的现状,熟悉当前的研究,并相信技术领导者受过教育的直觉。

找到这个关键的技术合作伙伴是很困难的,特别是在今天竞争激烈的人才市场。然而,并不是一切都失去了:有许多优秀的技术产品领导者伪装成有能力的工程经理。

5.7.5.5. 模型评估

开始最后的部署阶段之前,最重要的事情是彻底的评估模型,根据在商业理解阶段定义的业务目标来评估我们努力的成果。

5.7.5.5.1. 评估结果

数据挖掘没有达成业务目标的结果,也不一定意味着建模的失败,有多种可能性导致不成功的结果。

例如:业务目标一开始定得不够合理,与业务目标密切相关的数据未收集到,数据准备出现了错误,训练数据和测试数据不具备代表性等等。这时候我们就要回到之前的步骤,来检视到底是哪个环节出现了问题。

5.7.5.6. 结果部署

建模的作用是从数据中找到知识,获得的知识需要以便于用户使用的方式重新组织和展现,这就是结果部署阶段的工作。根据业务目标的不同,结果部署简单的可能只需要提交一份数据挖掘报告即可,也有可能复杂到需要将模型集成到企业的核心运营系统当中。

5.7.5.6.1. 部署前

不违反某些指标阈值是非常重要的。这些度量通常被称为护栏指标,它们确保了产品分析不会给决策者错误的信号,让他们知道什么才是对业务真正重要的。

拼车公司:人工智能产品可以轻易地减少来自难以到达地点的用户的请求,从而减少平均拾取时间。然而,这种行为会对公司的整体业务结果产生负面影响,并最终减缓服务的采用。

当一个措施成为目标时,它就不再是一个好的措施(古德哈特定律)。任何衡量标准都会被滥用。“让我们想想如何滥用拾取时间度量”

5.7.5.6.2. 制定部署计划

根据业务要求和运算性能的的不同,部署的模型可分为:离线模型,近线模型和在线模型三种

离线模型一般适用于重量级的算法,部署于大数据集群仓库,运算的时间需要以小时计,并且时效上通常是T+1的。

近线模型适用于轻量级算法,一般在内存和Redis(一种支持Key-Value等多种数据结构的存储系统,适用于高速消息队列)中进行,运算的速度以秒为单位。而在线模型则通常根据业务规则来设置,在内存中运行,运行的速度以毫秒计。

另外,部署还需要考虑不同编程语言对于算法模型的调取兼容性,在这个阶段算法工程师需要与原有业务的开发工程师进行联调协作,确保业务系统能够正确的调用算法模型结果。

5.7.5.6.3. 部署

与传统的软件工程项目不同,AI产品经理必须大量参与构建过程。工程经理通常负责确保软件产品的所有组件都被正确地编译成二进制文件,并按照版本仔细地组织构建脚本,以确保可再现性。许多成熟的DevOps过程和工具,经过多年成功的软件产品发布的磨练,使这些过程更加易于管理,但它们是为传统的软件产品开发的。在ML/AI生态系统中根本不存在类似的工具和过程;即使这样,它们也很少成熟到可以大规模使用。因此,人工智能项目经理必须采取高度接触的、定制的方法来指导人工智能产品的生产、部署和发布。

5.7.5.6.4. 模型监督和维护

对于AI产品,模型性能和应用程序性能必须同时监控。当AI产品执行超出规范时触发的警报可能需要以不同的方式传递;如果没有AI团队的支持,现场SRE团队可能无法诊断模型或数据管道的技术问题。

我们知道算法模型是基于历史数据得来的,但是在模型部署并运行一段时间之后,可能业务场景的改变,使得核心数据已经发生了变化,原有的模型性能下降,可能已经无法满足当前的业务需要。 7

例如,一款帮助服装制造商了解该购买哪种材料的人工智能产品将随着时尚的变化而过时。如果AI产品成功了,它甚至可能导致这些变化。您必须检测模型何时过时,并根据需要对其进行重新培训。

这就需要我们在模型部署上线的同时,同步上线模型的监督和维护系统,持续跟踪模型的运行状况。

该框架允许部署的模型不间断地运行,同时根据总体样本培训第二个模型。如果第二种模型的性能优于原来的,它可以简单地被替换掉——通常没有任何停机时间!

当发现模型结果在出现短期异常值时,排查异常的原因,例如:运营活动或者节假日等因素,当发现模型长期表现不佳时,则要考虑是否是用户和产品的数据构成已经发生了变化。如果是因为数据构成已经发生变化,则需要重新通过CRISP-DM流程构建新的模型。

优雅地处理产品故障:为用户提供一种立即重新标记数据以进一步改进模型的方法。举例来说,iPhone 的语音邮件转录服务对其低信度是透明的,并为用户提供了一个选项来帮助苹果通过提交语音记录来改进转录。8

5.7.5.6.6. 生成最终报告

最后,不要忘了向项目的相关干系人发送一份最终的项目总结报告。