暨百度移动产品开发实践系列之总览篇后,本系列将从产品规划设计,研发模式的匹配,数据的验证等几个方向与大家分享百度移动产品的优秀实践。
移动产品研发的特点
1、产品涉及的部分比较多,NativeAPP(Android、IOS)、PC客户端、Web端、Server端等。
2、NativeAPP端有固定的发版周期,并且通常在1个月左右。
3、移动端产品的更新速度要求比较快,必须要让用户保持新鲜度,导致自动化测试成本较高,通常自动化的覆盖率都不太高。
4、随着平台化思维越来越流行,NativeAPP的合作方也原来越多,管理的复杂度在逐步增加。
移动产品研发的过程
1、确定版本主题、目标
2、产品设计、确定版本计划
3、确定A、B团队计划(适团队而定)
4、sprint开发:Kanban、站会、验收、功能测试、集成测试
5、小流量、效果验证、全流量(Android、IOS)
移动产品产品级敏捷模型
模型主要特点:
1、明确产品愿景、路标是第一位的,通常由PGM负责,如果没有PGM则由PM的负责人负责。
2、在需求产出和产品设计阶段,RD需要对PM提供技术咨询活动,以消除产品设计后技术不可行风险。
3、根据产品的愿景和路标制定版本的目标,从而确定Release计划,在制定Release计划时需要将产品需求、架构需求、运营需求、运维需求等都统一考虑。
4、在Release层面,关注Feature级别,Feature涉及多团队时,拆分Story给各团队,并在Release计划中明确Feature的配合计划。
5、团队根据Release计划的约束(发布计划、Feature多团队配合计划)制定团队的迭代计划,计划中也需要将技术Story放进去,例如预研、重构等。
6、对于外部依赖(公司内第三方、外部第三方)可以将其当作一个特殊团队管理,统一纳入计划和跟进。
对于该模型已经运作比较成熟,更进一步希望通过价值驱动,可以参考SAFe框架进行扩展。
移动产品单Release研发模型
模型主要描述了一个Release内从团队的视角研发活动的组织:
1、需求&规划部分明确本Release的需求列表、优先级等。
2、团队基于Release的发布计划进行总体的方案设计工作,Story层级不安排专门的设计环节,Story的设计、开发、测试都在迭代中完成。
3、在明确需求和总体设计后,需求被拆分成Story,启动迭代开发(迭代的典型标志是Story要在RD-PM-QA多角色间快速流动,达到功能测试完成)。
4、在迭代过程中需要进行开发、PM验收(含UE)、QA功能测试等活动,在迭代结束时功能性Bug都应该被发现并基本解决(部分低优先级可延后解决)。
5、在迭代结束后,需要预留时间进行集成测试,主要包括性能测试、兼容性测试、全功能回归等工作。
6、在集成测试期间,可以同步启动灰度发布(小流量)工作,并关注灰度问题闭环以及APP崩溃率。
7、IOS需要预留appstore审核时间,Android需要与BD沟通首发安排。
8、正式发布后需要观察线上反馈,如果发现严重问题需要及时响应处理。
预知后事如何,且听下回分解。
(本资讯于2016-04-18首次发布)