价值流、工作流和信息流的现状,如何优化,以及如何应用三流帮助我们的产品成功?网易资深PM给我们分享了这些经验。 三流是一个关于我们如何看待我们的工作的说法,在开始写这篇文章之前,我有过很多关于这方面的思考,但是都不太系统,最近这个思考逐渐明晰起来,于是就有了这篇文章。 一、什么是三流? 在精益的理论中,希望价值能够流动起来,当我们尝试着把精益的理论从制造业的背景中映射到互联网行业中时,会发现要一一映射价值流是有困难的。 互联网软件价值流的判断和制造产品价值流的判断之间的差别在于:制造出的产品在用户拿到的时候就获得了几乎全部的价值,而互联网软件不是。 互联网软件是一种服务,它的价值是在用户每一次使用这个服务的时候分别得到的,并且每一次得到的服务常常是不一样的。提供服务的不仅仅是生产部门(软件开发),而是几乎每一个部门都在提供服务,换句话说就是:用户体验是全公司的事情。 那么在这种情况下我们如何识别互联网企业在提供价值的过程中的"流"?三流就是从这样的背景下开始思考的。 1. 价值流 首先是价值流——用户是如何通过价值流持续获得软件的价值的? 以网易卡搭为例,网易卡搭是一个提供少儿STEAM教育的产品,产品本身包含了在线的课程、社区、校园、大赛,同时也包含了线下的营地、机构授权等服务。 以一个购买了卡搭Scratch课程的家长用户为例,用户的整个价值流是: 了解卡搭,通过卡搭发现了自己和孩子所需要的课程,找到了消除知识竞争带来的焦虑感的方法。 购买课程,通过课程的评测功能了解到孩子需要提升的地方,并且第一时间收到了如何学习课程的方法,了解了自身的情况又消除了对于未知事物的些许恐惧,增强了信心。 开始上课,通过上课学习到了新的知识和能力,获得了更多的竞争优势,并且培养了创造力和逻辑思维能力。 开始做作业,在做作业的过程中,重新回顾了所学的知识并且应用于实践,通过实践获得了成就感和满足感。 作业点评,通过点评获得反馈,从而了解自己的学习情况和对于知识点的理解,通过这样的反馈来获得提升。 公开课,拓宽了视野,获得了一些新的工具方法和认知。 结业总结,对于整体学习情况的总结,通过总结看到了自己的成长和变化,并且有一个值得炫耀的证书。 从了解卡搭到结业总结,用户在这个过程中的每一个环节都得到了不同的价值,这个链路就是价值流。 这只是一条简化的价值流的举例,实际上的价值流比这个例子丰富得多,并且一个产品往往有多种不同类型的客户,从企业到个人,再到不同的人群,为每种不同的客户所设计的价值流是不同的。 如何能设计一条价值流,让用户能够更快、更顺畅地通过价值流得到软件的所有价值,如何在现有的价值流中增加或减少环节为用户提供更多的价值,这些正是我们所需要考虑的。 2. 工作流 在设计好了价值流之后,我们就需要考虑我们如何能够支撑这样的价值流? 这就是工作流的作用。 在互联网企业中的工作流有很多种,最常见的一种就是产品开发工作流: 策划环节:产品策划人员从BD,运营等内部客户那里收到到他们的需求,然后再通过自己对于用户,产品和行业的认知设计产品形态。 交互环节:交互设计是收到了从策划那里来的需求稿开始做产品的交互设计。 视觉环节:视觉设计师收到了从交互那里来的交互稿开始做产品的视觉设计。 开发环节:开发人员收到了从视觉环节来的视觉稿和交互环节来的交互稿开始做代码的开发。 测试环节:测试人员收到了从开发人员那里来的代码开始做测试。 上线环节:运维人员从开发人员那里收到了上线的申请,开始做代码的部署。 从策划开始到上线,就是产品开发的工作流。 这个工作流,让用户能够在每隔一段时间都能够感受到不同的软件使用体验,比如更加美观带来的愉悦感,更符合使用习惯的交互设计带来的舒适感,更高性能的软件带来的顺畅感,新增加的咨询功能让用户在了解产品的时候更加便利,删除的资料填写功能让用户更快地就能开始使用产品获得产品的价值。 3. 信息流 在建立了工作流之后,就需要建立如何管理工作流的信息流。 工作流不可能自己运转起来,工作流的每个环节之间是需要衔接和信息同步的,工作流的目标、整体的效能提升和持续地优化是需要通信息流进行管理的。 信息流和工作流的关系,就像是FTP协议中的20端口和21端口的关系:一个传数据,另一个传递控制数据的数据。 我们常见的各种会议就是一种信息流,比如站会,我们在站会上同步昨天各项工作的完成情况,同步今天要做的事情,同步遇到的问题等等。工作状态的信息通过这个会议从一个人这里传递到其他人那里。 再举一个例子: 产品的战略层决定了方向之后,是如何将信息传递给中层管理人员的,中层管理人员又是如何把这些信息继续向下传递到执行人员的,最后的执行结果又是如何通过这些层反馈会战略层的——这些就是每天在发生的信息流。 信息流是控制工作流所必不可少的,没有信息流,工作流就会一团混乱,环节和环节之间就会脱节,层和层之间就会出现不一致的理解。 但是由于信息流本身不创造价值,因此信息流是需要考虑成本的,过多的信息流会造成许多不必要的浪费。 作为项目经理,在进入一个新团队的时候,切入点也常常是信息流,通过掌控信息流来控制工作流,从而影响价值流。 二、帮助产品成功 了解了什么是三流之后,我们要做的就是通过三流来帮助产品成功。 那么问题来了:我们如何通过三流来帮助产品成功? 商业的竞争最后都是如何有效利用资源的竞争,这种竞争体现在如何用现有的资源获取更多的资源,如何用现有的资源识别价值和创造更多的价值,这些就是我们所需要面对的。 三流中的价值流就是用来设计对用户有价值的路径,而三流中的工作流就是用来做资源利用的;我们通过优化价值流来提升用户得到的价值,通过优化工作流来提升资源的利用率,通过优化信息流来降低管理成本。 三、了解现状 在开始做优化之前,首先要做的事情就是了解现状。通过了解和分析现状,我们找到可以优化的点,然后再选择要优化的点做好优化的计划,接着按照优化计划实现整体的提升。 1. 价值流的现状 通过了解价值流的现状,找到可以优化的点,从而提升用户的价值。 了解价值流的现状可以分成三个步骤: 整理现有的价值流环节 选择和收集现有价值流的数据 收集现有价值流的感性认知 整理现有价值流环节 首先要收集和整理现有的价值流和价值流的每个环节,尽可能地细化: 客户购买卡搭线上课程的价值流。 STEAM教师使用卡搭校园的价值流。 授权机构购买卡搭授权的价值流。 …… 通过这些价值流的收集整理,我们可以 选择和收集现有价值流的数据 以前面的客户购买卡搭课程的价值流为例子,我们需要分析每一个环节的数据,通过数据来发现其中需要优化的点: 1.了解卡搭,数据的目的是了解用户在了解卡搭的环节是否获取了足够多的价值?用户都是通过什么渠道知道我们的?哪些渠道来的用户比较符合我们的预期?我们对于原有用户画像的设定是否符合实际?用户是怎么了解卡搭的?是否看到了我们希望用户看到的内容?我们原计划希望用户操作的路径是否用户是这么做的?我们设计的那些功能用户是否都用到了?页面的上信息用户看到了哪些? 等等。 用户是通过哪些渠道知道卡搭的?朋友推荐?广告?搜索引擎?公众号?还是其他渠道? 每个渠道卡搭投入了多少资金?每个渠道带来的用户量是多少?每个渠道的投入产出比是多少? 相同文案和设计的场景下,哪些渠道ROI更高?哪种文案的ROI更高? 用户浏览了哪些页面?每个页面的停留时长是多久?跳出率是多少? 用户浏览页面的路径是怎样的? 单个页面的热力图是怎样的?哪些功能是用户较为常用的? 滚动条滚到哪里了?哪些地方是用户会阅读的? 2. 购买课程,通过课程的评测功能了解到孩子需要提升的地方,并且第一时间收到了如何学习课程的方法,了解了自身的情况又消除了对于未知事物的些许恐惧,增强了信心。 访问卡搭的用户中有多少用户购买了课程,转化率是多少? 在购买课程的过程中,每个页面的跳出率是多少?(实际上,在购买课程的过程中有许多的页面,包括登陆,填写个人信息,下订单,支付等等),每个页面的停留时长。 购买课程的用户中进行评测的用户的比例? 进行过评测的用户完成所有课程学习的比例和没有进行过评测的用户完成所有课程学习的比例? 3. 开始上课,略。 4. 开始做作业,略 5. 作业点评,略。 6. 公开课,略。 7. 结业总结,略。 在笔者经历过的团队里面,数据分析的需求,优先级都是不太高,虽然我本人不太认同,并且也努力推动数据分析的相关功能的建立。 在我的观念中,数据收集和分析的相关功能属于功能的一部分,否则,新功能上线新服务推出,如何能知道效果咋样?不能知道效果咋样那怎么知道新功能或者服务起到了正向还是负向的效果?怎么知道下一步该做什么? 但实际在工作中,要有这么全的数据打点或者收集是比较难的,成本也是比较高的,因此我们就要根据当下的情况做出一些取舍,对于那些想要知道效果的功能实现数据收集和分析的功能,而对于不那么紧急的,自然也可以往后放放。 收集现有价值流的感性认知 这个就是用户研究的领域了,我们需要向用研部门提出需求,描述清楚我们所需要达成的目标,我们想要验证的现有软件的使用情况,和为未来设计的新功能点的用户接受程度等等。 2. 工作流的现状 通过了解工作流的现状,找到可以优化的点,从而提升团队整体效能。 了解价值流的现状可以分成四个步骤: 了解价值流的需求,整理工作流所要支撑的价值流 整理现有的工作流,列出主要的环节 选择过程数据指标 收集各个数据指标的情况 了解价值流的需求 价值流的需求是工作流的目标,因此了解价值流的需求很重要。 以卡搭在线课程为例,课程用户的价值流的目标是让用户在购买和使用卡搭产品的每一个环节都能够获得一定的价值,因此,对于工作流的需求就是: 能够持续地尽可能多地提供新的价值; 能够持续找到价值流的优化点,并且可以在2周左右的时间优化掉; 价值流的每一个环节不能出现错误让用户有价值的损失; 在用户上课环节能通过最好的课程和最优质的软件体验和班主任的服务让用户体会到尽可能多的收益和成就 …… 这些就是价值流对于工作流的需求。价值流定义了What,工作流就需要定义出How了。 整理现有的工作流 整理现有的工作流会对团队现有的工作方式有一个更全面的了解,这个工作流分成不同的环节或者步骤,工作流通过这些环节来支撑价值流。 以网易卡搭的课程线为例,为了支持价值流的需求: 能够持续地尽可能多地提供新的价值; 能够持续找到价值流的优化点,并且可以在2周左右的时间优化掉; 价值流的每一个环节不能出现错误让用户有价值的损失 产品开发团队的现有的常规工作流: 策划 交互 视觉 开发 测试 预发 上线 这个工作流常见得不能再常见了,但我们正是周期性地通过这样的工作流,持续地为价值流添加新的价值,持续地优化价值流的每一个环节,并且通过测试,预发这样的环节来保证质量。 当然,Scrum是反对把测试和开发区分得这么明显的,在Scrum团队中不应该有专门的测试人员,也不应该有一个专门的测试环节,这个问题我同意也不同意: 从生产力发展的角度来说,社会分工一定是越来越细致的,因此开发和测试两种不同思维方式的工作是会逐渐区分开的,只是测试人员的角色和定位可能会发生变化,不只是发现问题而是变成成果验收,并且从测试专家和测试工具提供者的角度为团队提供支持。 关于测试环节,并不是每一个团队都能一蹴而就立刻取消测试环节,从组织构架也好,软件架构也好,测试工具的完备程度,自动化测试用例的覆盖率,团队的成熟度,等等多个维度上来看才能判断测试环节是否在当下可以不要。 选择过程数据指标 常见可选的数据指标有以下这些: 过程时间 = 完成一个工序或者活动所需要的时间 交付周期 = 过程时间 + 等待时间 增值时间 = 实际花在增值活动上的时间 转换时间 = 从一个活动切换到另外一个工作的过程中所耗费的时间 需求速率 = 每次迭代开始的时候团队承诺的需求数量 可靠性 = 开发或者设计等工作依赖的环境的稳定性 可用时间 = 有效工作时间,换句话说就是真的是在工作的时间 错误率 = 也就是Bug率和需求评审,视觉评审,交互评审中的错误率,这些会影响返工的时间和延迟交付。 实际在选择指标的时候,并不是随心所欲的,往往受到条件的限制,比如增值时间是很难统计的,除非能够一直跟在相关人员身边记录。转换时间和可用时间也是比较难统计的,常常需要通过和不同的人进行交流后,根据他们的回答进行统计。 收集各个数据指标的情况 由于团队已经才有了固定迭代周期的方式,所以需求速率理论上应该是稳定的,因此对于需求大小的可以通过Story Point做一个简单的估计。 过程时间也是相对固定:策划,交互,是觉得时间为了配合开发测试的迭代时间,也是需要固定迭代的。 上图显示了每一个环节所需要花费的时间,可以简单的判断策划,交互,视觉花费的时间比较长。实际上笔者在收集时间的时候是用了更加细致的图,把开发团队的时间做了更细致的拆分和记录,然后把每一个环节都标上时间。 3. 信息流的现状 信息流是为对工作流进行管理的,为了能够让信息在不同环节和不同角色之间同步,让工作流更顺畅地工作起来的。因此了解了工作流的现状之后我们也需要了解信息流的现状: 整理现有的信息流 现有信息流花费的时间 现有信息流的覆盖范围 整理现有的信息流 理出所有的会议,邮件,IM群等等每个会进行信息传递的方式,并且列出每一个方式存在的目的。 会议 全员XXX会议:目的是和全员同步业务进展情况和重大成果和重大问题等,对全体员工有正向激励的效果。 XXXX双周会:同步策略执行结果,依据结果讨论方案,并且最后形成新的决策和下一步方案。 XXXXX周会:同步相关信息和问题,暴露问题,推进各项事情的进展。 交互评审:略。 视觉评审:略。 需求评审:略。 技术评审:略。 开发周会:略。 策划周会:略。 测试用例评审:略。 …… 邮件 部门邮件通知:重要事项的通知和同步。 上线邮件通知:告知所有人上线的内容,版本,注意事项,方便相关人员开展工作。 XXXX邮件通知:略 …… IM群 客服群:及时响应和解决客服人员收到的客户的重要问题 全员群:通知XXXXX 开发群:略 测试群:略 …… 现有信息流的覆盖范围 还需要整理出现有信息流的覆盖范围,因为可能会发现有部分信息流有遗漏关键人员,或者会发现相同目的的群重复覆盖了相同的人群。 现有信息流花费的时间 然后就是记录每个信息流所需要花费的时间,通过这些时间来判断信息流的投入产出比。和对于人员时间的占用。 四、分析优化 了解了三流的现状之后,我们急需要对现状进行分析,找到其中的问题或者优化点,然后针对性地提出解决方案。 1. 价值流分析优化 通过数据发现:课程用户购买课程的转化率不尽如人意,浏览课程页面的用户只有1%选择了购买,没有选择购买的用户几乎所有人根本就没有进入购买流程,也就是说用户浏览了购买页面之后就走了。 并且我们发现:大多数用户其实看完了页面上的信息。那么问题来了,为什么99%的用户连购买流程都没有进入?滚动条百分比显示大多数用户看完了,那是因为文案不好看?还是因为信息不充分?还是因为价格太高?是什么让用户没有获得充分的价值感? 根据这些分析,我们可以做一下尝试:调整价格,修改文案,增加更多的信息。 经过讨论,我们决定增加更多的信息,于是增加了试看课,让用户在这个环节得到更多的价值,这个价值帮助用户降低决策的风险。 在放出了试看课之后,我们也需要收集相关的数据:打开了试看课的用户比例是多少?看完试看课的用户比例是多少?增加了试看课之后,购课转化率是否有提升?根据这些结果来决定我们还需进一步做哪些优化。 2. 工作流分析优化 根据课程的产品开发流和每一各环节的数据,可以看到:前期的策划和和交互视觉时间是比较长的,占据了整个流程2/3的时间,需要能够缩短时间;同时,开发时间过短,测试上线预发的时间也过长。 对于策划交互视觉策划时间过长的问题,第一步就是要让这些觉得工作量可见,才能判断他们是否需要长么长的时间来完成相应的步骤,因此让所有的工作内容上JIRA就变得很重要,然后下一步才是根据JIRA上的数据来分析是否有可能对这部分的工作内容进行缩短。 当然,也需要和对应的负责人进行沟通,了解他对于这个问题的看法,是否能够达成共识并且推动实践的缩短。 对于测试联调预发上线时间过长的问题,我们进一步分析发现:在Bug上所花费的时间占到整体开发时间的1/3,而联调时间又比较长,测试环境也经常不稳定,由于质量不好导致测试等待时间也很长,上线过程,因此可以得出第一个结论:质量不好导致在代码提交测试之后花费的时间过长,因此第一步就是需要提升代码提交的质量。分析原因,是因为现在的新功能开发压力比较大,同时又因为插入的临时需求比较多,开发能用于设计和自己测试的时间不够导致的。因此解决方法就是:每个迭代给开发留出20%的时间,少做一点需求,少制造一点Bug,并且当有临时需求插入的时候也可以用这个20%的时间来做缓冲,不至于占用设计和测试的时间;如果没有用完这部分时间,那就把时间用于技术债的清理。 可用时间的延长要谨慎:并不是所有的时间都可以用于工作,高强度工作8个小时是非常累的,因此每个人都会选择其中一段时间休息一下——可能是去抽支烟,可能是喝咖啡,或者是站起来走走,或者和别人聊几句。 这些看起来都是不必要的事情,但是如果剥夺了这部分的时间,那么只会带来工作效率的下降。并且,每个人所需要的休息时间是不一样的,不能简单地一刀切规定每个人的休息时间不得多于多少时间。因此我们在考虑可用时间的目的是看我们实际可以用的时间是多少,而不是简单考虑增加可用时间。 从另外一个方面来看,我们也可以通过增加工作时长来达到增加可用时间的目的,这也是我们常用的方法。 实际上,这个方法有点类似于饮鸩止渴:刚开始的时候,可用工作时间可能会随着工作时间的增加而增加;但是由于疲劳的增加,可用时间的增加和工作时间的增加并不会成正比,会随着加班次数的增加,可用时间会渐渐减少到一个稳定水平;这个水平会比加班之前的可用时间多,但是会比期望的少。 如果加班是有成本的化,这个投入产出比显然是比较低的。 3. 信息流分析优化 通过信息流的数据可以发现,接收XXX邮件的人数是全员,但其实并不需要通知到全员——这封邮件只需要在邮件列表里面需要回复的人收到就可以了,否则所有的邮件和相关的回复都是全员收到,会造成大量的垃圾邮件,剩下的人只需要在上线的时候收到邮件即可。 通过信息流的数据可以发现:之前XXX会议的时间常常需要开3个小时,在会上大家会讨论许多问题;并且是所有核心成员都会参加的会会议,这样的化就偏离的会议的目的,并且花费的时间过多,导致了许多浪费。 4. 分析和优化的挑战 虽然我们通过分析得出了许多优化方案,但是要落地方案并不是那么容易的——有一些方案会受限于你所处的环境,受限于团队当下的状态而短期内无法实现,这些也都是你所需要面对的挑战,如何找支持,持续不断地努力来改变周围的环境,大概也是互联网项目经理常常在做的事情。 五、总结 通过了解三流的现状,然后分析和优化三流,我们用这样的手段来提升业务线的效能,从而能够在商业竞争中通过效能的优势胜出。 通过分析价值流,我们发现在各个环节的数据收集和分析是不够做决策的,因此我们把尽快提升数据覆盖作为了我们下一个阶段的目标。 通过分析工作流,我们看到了工作流中的问题,把提升可用工作时间作为我们研发团队的工作目标,从而能够尽快地完成产品的需求。 通过分析信息流,我们减少了会议的频率,取消了部分没有必要的会议,依据目标和组织架构调整了各个会议的参与人员,重新梳理了邮件列表,减少了邮件的打扰,合并了一些群,保证信息能够发送给所有需要的人,从而保证工作的每个环节的同步花费更少的时间,并且信息能够被传达到位。