本文是敏捷开发产品管理系列的第二篇。(​​序言及设立迭代目标​​​,​​产品版本规划​​​,​​产品用户群规划​​​,​​新产品研发​​​,​​预估会议​​​,​​Product Servant​​​,​​Product Owner团队​​,产品线管理)

本文是一篇旧文,原名为《“迭代期内无变更”与敏捷开发产品版本规划》,因符合本系列内容,做相应修改后重新编排发出。

迭代期间无变更?

支持派说:对,如果经常变,我们怎么开发啊。

反对派说:不对,敏捷开发不能上来就确认了需求,要的就是在开发中逐步了解需求,怎么可能不变呢。

只在开发层面,这个问题无解。让我们站在产品版本规划的高度来看这个问题。

基于商业目标的产品版本规划

下个产品版本(或下个迭代)中到底应该有什么功能?最重要的功能?最基础的功能?当前可能实现的功能?已经弄清楚的功能?

这些角度都是基于技术活动而非市场目标来制定的,都有其局限性。

其实,每个产品的版本都是企业的一步棋:在某个时间,推出某些功能,满足某些需求,获取某些客户,打败某些对手,取代某些产品。

若认同了这一点,则早在产品版本规划的时候,就应该确认此版本中应该大致包含哪些功能,而非到迭代计划会议或迭代中才会确认,更不会在迭代中间发生变化

这样看来,“迭代期间无变更”指的是:“不应该到迭代开发已经开始了还没明确要开发什么功能”(What问题);而不是:“应该在迭代前把需求弄明确,一旦开发了就别改动了”(How问题)。

 产品版本规划步骤图

 产品立项 ------------------------------------------- 在这个时候大致规划出路线图,走多远,多久,走到哪里

    V1.0 --------------------------------------- 在这个时候明确规划处这个版本要做哪些功能(未必到达故事点的粒度)

        Sprint1计划会 --------------------------------- 在这个时候达到故事点的粒度,且从技术角度思考可以先做什么后做什么

            日常工作 ----------------------------- 细化做成什么样子,随时可以变,但基本不会大量扔掉或换掉什么功能了

        Sprint2计划会

        ……

        Sprint Release ----------------------- 在这个时候,无论技术顺序的先后,所有V1.0的功能都做完了

    V2.0 --------------------------------------- 根据市场反馈,调整产品路线图

    V3.0 --------------------------------------- 继续

从这一点上,敏捷产品版本规划的目标与设定迭代目标的初衷相同:在“事先计划防止返工”与“随机应变防止想太多没用上”之间找到平衡,降低浪费。