现在我们公司软件开发使用的是 2 周一个版本的固定迭代,对于技术人员来说,每个迭代最开始要做的事情就是需求评审。
为什么要需求评审?发现自己以前虽然思考过这个问题,但并没有系统的去总结为,今天我就来总结一下。
软件开发本质
Ron Jeffries 在《软件开发本质论》:“软件就像熔岩,而且往往似乎并没有安全的落脚之地。书中认为,存在于熔岩之中的不只是零星的草地,还有一条阴凉的绿色之路。即构建软件有一条自然之路,而且它对所有人都适用。并且相信这条自然之路建立在如下的简单理念之上:尽早提供价值,经常提供价值。”
更概括的来说,类似《软件开发本质论》的副标题一样:“软件开发就是追求简约,体现价值,逐步构建的过程。”
而需求评审就是大家一起寻求价值,并在当前迭代确定并选择价值的过程。
需求评审
需求评审的第一个要关注的问题就是,需求的价值是什么?
选择价值,就是选择那些对我们重要的东西。
所谓价值,就是我们想要的东西。
那么如何衡量价值呢?可以借鉴以前分享的一篇文章 《如何衡量价值》中所表达的。
我们希望会有一个简单的衡量标准,但是没有。相反,更好的做法是与开发人员和项目干系人坐在一起。考虑要做的事情。将所有人都认为最有价值的事情作为接下来要做的事情。这样做的意义在于学习怎样达成共识。
总结一下,需求评审本质就是与开发人员和项目干系人坐在一起,沟通学习达成共识,将所有人都认为有价值的事情作为接下来要做的事情。
需求评审并不是终点,接着,实现选定的功能特性,并尽快交付,让后倾听用户的意见,再重复上述的过程。