无论哪个行业,质量都是客户最关心的问题。我们的软件开发服务怎么保证质量?靠文字宣传显然是苍白的。十几年前,我们就提出“客户不满意无条件退款”的承诺,这项承诺透露出我们对质量的信心,我相信“免费终生质保”也一样。
大多数软件开发的过程应该是持续的。软件的质量问题大多并不在纯粹的代码或工程层面,而是在需求上,软件的使用环境不断变化,需求也会不断变化。一个需求边界清晰的固定价格项目,纯粹的软件质量问题即使很多,也可以改得过来,不用担心质保问题。这类项目跟建筑项目类似,一次性交付就完工了。现实中,真正需求边界清晰的软件项目,应该和体力劳动也没什么区别了。
ODC服务中,需求问题也在软件的质量范围内,只是ODC并没有把质量问题都推给供应商,客户也承担了成本。如果我们花时间去争论哪些是需求(变更)问题,哪些是代码质量问题效率就太低了,很多问题边界是模糊的,但客户看的问题(BUG)是清晰的。如果我们把需求都弄对了,代码却出了问题,就会很窝火,等于临门一脚踢臭了。把需求放在软件质量问题以内,我们的服务,无论ODC还是固定价格,对客户才有价值。换句话说,要在“客户价值”与“不变的需求”中二选一,我们只能选客户价值。那我们怎么对可能变化的需求做终身质保呢?
大多数固定价格客户认为自己的需求是清晰且不变的,所以要求质保是合理的,我们的免费终身质保当然更好。如果项目规模不大,我们也可以接受一个大致清晰的需求,和它可能存在的“修改”所带来的成本。一旦建立起长期合作,即使是通过终身质保建立起的,相互的信任就比较容易发生,客户满意度也会大幅提升。