“迭代期内无变更”与敏捷开发产品版本规划

作者:陈勇

出处:blog.csdn.net/cheny_com

 

迭代期间无变更?

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

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

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

 

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

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

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

若认同了这一点,则早在产品版本规划的时候,就应该确认此版本中应该包含哪些功能,而非到迭代计划会议或迭代中才会确认。这样看来,“迭代期间无变更”指的是:“不应该到迭代开发已经开始了还没明确要开发什么功能”(What问题);而不是:“应该在迭代前把需求弄明确,一旦开发了就别改动了”(How问题)。

 

总结一下:

 

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

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

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

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

        Sprint2

        ……

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

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

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

 

点击下载免费的敏捷开发教材:《火星人敏捷开发手册

 

posted @ 2011-03-08 17:09  Java EE  阅读(129)  评论(0编辑  收藏  举报