以前有个小朋友,特别有好奇心,也喜欢动手捣腾。有一天,他做出来了一个圆圆的,会滚动的东西,感到特别兴奋,到处去向别人展示自己的"新发明"。结果他发现别人一点都不稀奇,原来这个东西叫做“轮子”,早在几千年前就有了,现在已经发展出了上百种的不同规格、材质、样式,自己的这个相比之下太不完善了,根本不能算是什么发明。这个小朋友,现在就藏在我们的心里,尤其是经验不够丰富的程序员身上。 几年前我曾经做过一个项目,经过长时间的挣扎之后,项目依然失败了。主要的原因之一,就是我们重复发明了太多的轮子。事情是这样的,时任项目核心开发人员的 同事很有钻研精神,也相当自信,当时客户提出的一些基本功能,譬如用户管理、输入验证、......
1. 明确范围 如果说要把整个项目(假设持续2个月,分为4次迭代)的范围,在一开始就明确下来,对我们、对客户都很困难,因而这个期望不太现实;更可行的办法是把范围的明确,也拆分成更小的单位,譬如按照每个迭代(每两周)来明确;我们双方只要保证,对这两周要提交的内容,有明确的共同认识即可;然后不断循环; 明确下来的范围,要有个Task List或者Plan来作为以后判断是否发生范围改变的依据; 2. 范围变更 如上所述,如果每两周一个迭代,每次迭代都有明确的Task List或Plan;那么在这个过程中,任何不在这个List和Plan中的任务,都可以视为需求变更、范围变化; 这种变更,需要在客户刚提出来时,就进行评估,明确告诉客户这个改变所需要的额外时间,......
浏览:11753次
更多