敏捷开发是以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。
通俗来说,敏捷开发是一个软件开发流程,是一个采用了迭代方法的开发流程
简单来说,迭代就是把一个大产品拆分出一些最小的实现单位。完成不同的迭代就最终完成了产品,但因为迭代很小,可以边开发边验证
一个产品需要研发6个月,在第一个月就会拿出一个产品来,当然,这个产品会很不完善
会有很多功能还没有添加进去,bug很多,还不稳定,但不停地优化,根据反馈去调整下一个迭代的内容,最终可以达到比较好的产品效果。
实际迭代流程
有了基本概念,下面让我们看看项目实际迭代的流程
需求评审是整个研发迭代流程中非常重要的一环,对于产品经理来说,尤其要重视这个环节。
这也是产品经理参与最多的环节。需求评审一般分为产品内部需求评审和项目组正式需求评审。
1)产品内部需求评审
❑ 确保与产品整体设计一致
❑ 确保需求完整清晰
❑ 确保逻辑正确
❑ 先于开发一个月前准备好需求
2)正式需求评审
❑ 参与人:项目的相关负责人,产品经理、项目经理、开发、测试等实际参与项目的人员。
❑ 按照需求级别确保评审形式,遵循最小化原则。
❑ 评审结果双方确认,共同负责。
需求更改必须确认并修改文档。
❑ 评审的需求上需求系统,全生命周期记录。
(2)迭代计划
迭代计划是由项目经理在需求评审后针对迭代给出的详细计划。通常包含以下内容:
❑ 产品特性列表给出需求优化级。
❑ 综合考虑特性工作量、市场情况、开发力量,制定迭代计划。
❑ 确定体验、提测、上线时间点,各方确认。
❑ 协调资源,保障实施,及时调整。
❑ 风险评估,提前做好风险管控。
- 项目的全景图
产品经理根据用户反馈、市场需求、用户调研的结果制定需求,并提交到项目经理排期
产品研发的有两个需要保障的原则,一是质量,二是效率。
产品经理是一个产品的设计师和舵手,所以产品经理了解敏捷研发流程并具备一定的迭代思维
可以协助项目经理和研发经理实现版本管理,做好质量和效率的保障,也有利于更好地融入研发团队,跟进产品实现、团队沟通以及提前规划产品节奏
前面我们介绍了一个典型敏捷开发的互联网产品的开发架构和开发流程。
产品经理了解流程能更好地进行产品推进和团队沟通协调
很多没有做过产品的同学会疑惑,那么多功能特性是怎么加入研发版本的?难道是老板说做哪个就哪个?
怎样才能拥有一个有效的组织管理方式?坦白地讲,在很多创业团队也许还真是老板说做哪个开发就干哪个了,但这样会带来一些问题:
❑ 需求的优先级不明确,根据个人喜好也许把不重要的优先实现了(敏捷但干了无用功)。
❑ 需求会有遗漏导致产品的主流程有缺失,开发完成后产品不能使用(这种也不少见)。
❑ 后续版本管理不明确,开发和其他团队相关成员一直是在无序的忙碌中。
所以一般有经验的产品研发团队中,产品经理都会采用以上的产品规划“四步法”,梳理敏捷迭代下不同特性的版本管理
第一步:罗列特性
所谓的罗列特性,也可以称为整理特性。通过前面的分析研究,通过团队内的讨论及头脑风暴,其实在进入开发前,
一个产品经理的“小本本”里面已经记录了很多特性,但这些特性在没整理前,还只是一些思路,一些想法,所以第一步是把这些特性都正式地罗列下来
第二步:特性分类
特性分类是整个过程中比较考验产品经理功底的一项任务——根据那么多纷繁罗列的特性,给他们分类并做好逻辑梳理
把特性整理成为有逻辑的列表。
比较常用的逻辑整理是按产品的操作流程或场景模块来梳理
第三步:排优先级
有了完整的功能列表,下面就是讨论特性优先级的时候了
我们会把优先级按P0到PN排列,其中数字越小优先级越
高(P0优先级高于P1),结合敏捷的特点,优先级的判断标准如下:
1)主流程不能残缺:产品主流程的功能模块不能有缺失
2)优先级高的特性尽量少:由于考虑敏捷,如果都是P0,那版本就变得非常臃肿了
所以我们要适度地把特性拆在其他优先级中,这里有时候会有些争议,怎么判断哪个更重要,一般由产品经理根据实际情况来判定,如果有争议的话让老板拍板
尽量有版本层次:尽量让某个版本有亮点或聚焦地做透某类事情
第四步:版本节奏
前面已经把特性的优先级排列好了,剩下的就是把特性放置在相应的版本中
产品生命周期的3个阶段
了解了如何做产品规划后,我们还需要理解产品的生命周期
初创阶段
初创阶段包含新创和拉新。这个阶段是产品初期研发,形成产品特点,获取种子用户的过程
成长阶段
成长阶段包含活跃和营收。这个阶段产品的主线方向已经确定,并且已经有了核心用户和核心体验流程
所以更需要关注的是如何提升活跃用户的活跃度,如何实现产品的商业模式。这个阶段的迭代版本需要兼顾版本质量和效率
一方面版本不宜过快,而是以稳定为主,保障用户体验。另一方面则需要将用户痛点扩大,利用不断更新来黏住核心用户
成熟阶段
成熟阶段包含留存和回流。产品到了这个阶段,主线需求、商业模式已经比较成熟,用户规模也趋于稳定
在这个阶段的产品需要做细致活,追求用户体验的极致,同时需要做好用户关怀和流失用户回流
互联网公司开发中,稍微规范,有成型团队的公司,都会用敏捷开发模式去迭代产品
就是先实现一个小的,去验证,跑通流程,然后在逐渐迭代,最后一步一步优化