迭代期间无变动?ide
支持派说:对,若是常常变,咱们怎么开发啊。开发
反对派说:不对,敏捷开发不能上来就确认了需求,要的就是在开发中逐步了解需求,怎么可能不变呢。产品
只在开发层面,这个问题无解。让咱们站在产品版本规划的高度来看这个问题。it
下个产品版本(或下个迭代)中到底应该有什么功能?最重要的功能?最基础的功能?当前可能实现的功能?已经弄清楚的功能?class
这些角度都是基于技术活动而非市场目标来制定的,都有其局限性。基础
其实,每一个产品的版本都是企业的一步棋:在某个时间,推出某些功能,知足某些需求,获取某些客户,战胜某些对手,取代某些产品。技术
若认同了这一点,则早在产品版本规划的时候,就应该确认此版本中应该包含哪些功能,而非到迭代计划会议或迭代中才会确认。这样看来,“迭代期间无变动”指的是:“不该该到迭×××发已经开始了还没明确要开发什么功能”(What问题);而不是:“应该在迭代前把需求弄明确,一旦开发了就别改动了”(How问题)。总结
总结一下:di
产品 ------------------------------------------- 在这个时候大体规划出路线图,走多远,多久,走到哪里时间
V1.0 --------------------------------------- 在这个时候明确规划处这个版本要作哪些功能(未必到达故事点的粒度)
Sprint1 --------------------------------- 在这个时候达到故事点的粒度,且从技术角度思考能够先作什么后作什么
平常工做 ----------------------------- 细化作成什么样子,随时能够变,但基本不会扔掉或换掉什么功能了
Sprint2
……
Sprint Release ----------------------- 在这个时候,不管技术顺序的前后,全部V1.0的功能都作完了
V2.0 --------------------------------------- 根据市场反馈,调整产品路线图
V3.0 --------------------------------------- 继续