tonybest 2011-04-28
客户满意是所有项目开发的最终目的。
但是客户的主管意见很容易改变,随着客户对项目的深入了解,如看到原型、例子、其他系统、开发中间产品等等,都有可能导致客户改变初衷,还有就是客户接口人员变化(人数增删),客户的领导的意见都会导致客户改变初衷最终导致超出了预定的项目要求,导致项目开发不断在修改中度过,项目进度延时,导致项目成本不断攀升,最终可能导致客户不满意,项目开发人员怨声载天,甚至项目流产。
那我们要怎样才能保证项目能令客户满意,又能保证项目成本。我总结以下几点:
1、需求分析阶段
这个非常重要,这个阶段必须划分清楚那些是项目应该做的,那些是不应该做的,这个阶段必须出系统原型。
首先需求分析人员要熟悉客户的业务,如果不熟悉业务则必须到现场办公,深入了解业务,然后想成需求分析详细说明文档。
这个时候最怕的是你有问题,但客户没空理你,这就要求需求分析人员和客户搞好关系,同时必须有牛皮膏精神,无论用什么手段都要搞到清楚,哪怕和客户有些小摩擦都可以,事后再和客户解析清楚、请请客倒下谦修复关系就好。
将所有主要业务界面都用原型展现出来,这样能更好的限定范围,同时也能更好的让客户知道他即将要求的系统是什么样的。
对应B/S系统,原型可以是HTML,简单点的直接有VISIO话也行,尽量避免用图片,不便修改,对以后的设计用途也远没前面两个大。
所有的客户确认最好以email方式确认,当然文档更好,保留“罪证”。
2、系统设计阶段
这个阶段必须出概要设计说明书,编写是可以充分利用需求分析阶段的系统原型,而且也是限定开发范围的最有效手段。
3、开发阶段
要向成员充分贯彻业务,对于分组开发的项目要分好大模块,再有组长具体分配。
必须有“高手”每天review代码,保证质量,尤其要避免低级错误,尤其是开发初期和新加入成员,这个“高手”可以是组长。
开发初期,需要“高手”共同制定开发规范包括开发格式,工具,编码格式等,对数据库设计要求定好表名规范,表名最后统一全部大写或小写,开发基类,公共库,基础框架等,这个很重要。对JAVA来说基类一把分别DAO,SERVICE,BEAN,ACTION的,对应eclipse开发工具,可以制定eclipse格式配置文件,大家导入即可保证格式统一。
4、开发中
开发中定期将开发结果和客户沟通,保证项目符合客户要求
5、测试
单元测试、功能测试、集成测试、UAT等,应该有奖惩机制,对应犯低级错误的次数多的必须提出警告甚至惩罚。
6、交付