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