编程那点事编程那点事

专注编程入门及提高
探究程序员职业规划之道!

把开发细节列入合同

在项目开始阶段就不断变幻需求,对一些细节锱铢必较的人可能以“项目不符合要求”为由不付足项目款,对这种人需要尽可能把开发细节列入合同,按合同结项,以防对方增加额外的任务量。在合同内容中,尽量以容易量化的目标或成效作为验收标准,如每完成一个阶段的目标就给客户看相应的成果并予以确认,这类容易量化的目标既容易被客户理解也容易打动客户。

当然,前提条件是,在签订合同前,你应该拥有专业的知识与丰富的经验对项目的进度情况进行评估(客户一般是愿意配合评估的),并给出合理的新的目标值。另外在软件开发方案书中,也要把详细的开发细节写得清清楚楚,并且要和客户说明,项目结算验收以该文档为标准。有时,客户的思想总是在变,如果不按文档为开发标准,很有可能你就成为该客户的终身免费维护和技术支持了。

本人在实际接单中也遇到过项目失败的情况,而导致项目失败的原因大部分都是因为合同没有签好。首先,项目合同和项目技术协议是不相称的。这种不相称主要体现在技术协议书上核定的项目范围和项目合同书上的项目进度要求及项目开发经费上。项目范围很大,而项目进度要求却很急,项目开发费用太少。如有一次我们接了一个大项目,项目的费用为200万元,工期为一年时间,自以为是可以大赚一笔。但实际做下来,要完全实现技术协议要求的功能至少需要6个熟练程序员工作两年的时间,项目开发费用应在300万左右。这是造成项目进度和成本失控的主要原因。

其次,合同中的技术协议对功能的描述太模糊。当然,不可否认部分功能的描述是很清晰的,然而大部分功能的模糊描述都有些模棱两可。如对线损分析的描述仅停留在概念上,作为技术协议并没有真正反映用户需求。以某模块为例,技术协议上的描述均为公司产品功能,且没有超出产品的功能范围。然而当我们向用户演示产品该模块功能时遭到用户强烈的拒绝,导致我们不得不从新调研,之后发现用户的要求远远超出协议书的范围,最后这部分内容成为我们和客户争议最多的内容,先后调研了4次,历经一年时间(用户一直没有提供详细需求,我们也很不想去实现他们的要求,原因是成本太高且他们不答应单独立项实施),后来该模块没有按照用户最初的需求去做(成本太大且没有详细需求),仅实现了另外一个难度稍小一点需求,用户也比较满意。

未经允许不得转载: 技术文章 » 项目管理 » 把开发细节列入合同