“我们决定下个月28号进行验收”,客户很轻松地在不经意之间和我说了这句让我朝思暮想的话,这句话使历时三个月的验收日期终于定下来了。回顾这三个月,我可是费了不少心力。日期虽然定了,但是和合同规定的日期足足晚了三个月。

  我所负责的这个软件开发项目开始做得还算比较顺利,测试工作也早早已经完成。但客户迟迟不肯验收,原因是客户卡在一个小问题上,说此问题查清后再验收。这个小问题在大多数情况下是不会出现的,只有在特殊的操作下才会出现。由于一直无法找到重现此Bug的规律,故这个小问题一直没有很好的解决彻底,结果使到项目验收一次又一次被搁置。再这么拖下去,我真不知如何给公司交待了。

  为什么客户迟迟不肯进行验收?

  一般来说,当软件开发项目到了具备验收的各项条件之后,开发团队会着手准备验收阶段的工作。但如果这时发生客户不愿意验收的话,这是一个让开发团队很头痛和很普遍的问题。原因是多方面的,主要有如下几种情况:

  (1)开发团队没有摆正心态:这只是小问题吗?

  一个软件项目完成测试和修正后,但卡在一个小问题上客户不肯验收,这是平时我们经常说的“小问题,大学问”。也许,许多开发人员不明白:不是一个小小的问题吗?为什么要小题大作?实际上这样的想法是因为许多开发团队只会站在自我利益为第一位。因此,当出现有小问题时,认为多一事不如少一事,主要需求和功能能完成行了。

  因此,作为开发团队要摆正自己的位置和心态,不是说只要完成了合同中规定的内容,完成了合同书规定的工作,并且按合同测试了可以验收了。表面上看是客户仅仅由于他们发现的一些小小的BUG,小题大作不肯验收。实际上,当客户不同意在此时验收时,他们的判断往往不是招标书、合同、技术协议、需求规格说明书等文档。而是开发团队不能给客户足够的信心,客户不满意开发团队对BUG的处理态度,客户认为这不是小问题,所以不肯验收。

  (2)没有抓住领导意图,客户满意度不够

  我们在软件开发验收过程中得到很多的经验教训,常见的问题是在开发过程中没有抓住客户的关键负责人或重要领导的意图,没有了解客户看重的是什么。而等到开发团队提出要验收的时候,客户又总是觉得这也不满意那也不满意,总之是不愿意验收。主要原因是开发过程中与客户的关系没有提升,没有使客户真正的满意。例如,对客户反馈问题时服务不到位,当要求客户验收时才再发现问题仍未得到及时解决,会让客户心存担忧,或让客户失去信任。

  (3)开发流程不规范,验收标准没有达成一致

  在项目开始的时候没有和客户在验收标准达成一致,导致客户总是拿项目的小问题说事。实际上,验收标准是很重要的,这需要与客户进行详细的沟通,明确验收前需要完成的工作。验收标准中不光要有需要完成的工作内容和任务,还需要有一个相对固定的工期,使双方都能朝着这个方向去努力,防止无限制的拖延。

  (4)没有处理好问题跟踪记录

  由于许多开发合同上规定的只是一个大概的框架,再加上在开发之前没有与用户进行比较具体的交流和讨论,没有清晰的了解清楚客户心目中的产品究竟是什么样子。结果是双方对需求都有不同的理解,例如某些需求并不是客户真正想要的,而很多潜在的需求在项目初期却没有提出来。再由于在开发过程中,没有写好备忘录和问题跟踪记录,时间一长,双方也忘记了很多承诺和约定,到了验收的时候可能重新翻出来。这种事情是让开发团队头痛的,明明说可以先不做的内容终验收的时候又成了必要条件。这样后要验收时,大家非常容易卡在一些理解差异的问题上了。

  (5)客户因资金原因推迟验收

  有时,客户迟迟不肯验收或故意推迟验收,有可能客户是以推迟验收而推迟结算和要支付的款项。对于有这种想法的客户是让开发团队为难的了。动用法律吧,担心破坏了长久建立的关系;不动用法律吧,还真有这么不客气的客户。

  什么是软件开发项目验收?

  (1)什么是软件开发验收?

  项目验收,也称范围核实或移交。它是核查项目计划规定范围内各项工作或活动是否已经全部完成,可交付成果是否令人满意,并将核查结果记录在验收文件中的一系列活动。软件开发项目验收是每个开发团队乃至每个开发人员都想要的结果,因为一旦验收通过可以收验收结算款了,项目也可以告一段落。验收作为开发项目的后一个环节,不但是对软件开发质量和软件的可交付性起到“一锤定音”的作用,而且它关系到开发团队能否收到结算款和实现利润的标志之一。