软件项目最怕的不是报价高,是签完才发现做不出来,或者做出来的东西跟你想的不是一回事。判断对方到底能不能做,有几招可以用。
一、让他先说实现思路,别急着报价
一个成熟的做法是,谈需求的时候先不给预算,让对方讲讲打算怎么做。
真做过项目的,会把你的需求拆成几块,说清数据从哪来、怎么存、给谁看、在哪一步做计算。他甚至会指出你说的某个流程在系统里要换个顺序才好实现。这些内容装不出来,必须是真想过。
反之,如果对方只会回答能做、没问题、这个简单,让他说说怎么做又说不清,那你就要小心了。报价单上的每一项都要有对应的实现路径,说不清路径的项,后面都可能变成加钱的理由。
二、问难点在哪里,看他的答案
没有任何一个软件项目是没有难点的。说全部简单的,要么没看懂,要么想先签下来再说。
可以这样问。这个需求里你觉得最麻烦的是哪一块、为什么、打算怎么解。好的回答会具体到一个环节,比如某个数据每天要同步一次、量大了会慢、所以打算分批处理。这种回答说明他已经在脑子里跑过一遍了。
如果他反过来说,这个没有难点、我们做过太多了,那就要多问几句。做了很多的项目,一定有一堆踩过的坑,讲不出坑的,可能没真做过。
三、要一个能看的原型或者小样
对规模稍大的项目,可以要求先做一个原型。原型不用真的能跑,把界面和数据流画出来就行。
这一步的价值在于,它把口头描述变成能讨论的东西。你会看到对方理解的流程和你想要的是不是一致。很多分歧在这一步就能暴露出来,比等到开发完再返工划算太多。
愿意做原型的团队,通常对自己的理解有把握。连原型都嫌麻烦的,要么是不重视前期的公司,要么是打算边做边猜。
四、工期和人力要说得出依据
问工期的时候,别接受一个孤零零的天数。
让他说清这个工期怎么来的。几个人做、分别做什么、哪一段是关键路径、哪些可以并行。一个真实排过的工期,能拆成这个样子。拍脑袋报个二十天,往往经不起追问。
还可以侧面问一句,这个项目由谁负责、他手上现在有几个项目。人力是有限的,一个团队同时开五个项目,再怎么承诺也快不到哪去。
五、用付款节奏给自己留后手
前面几条都通过了,最后还可以用付款方式兜个底。
分阶段付款,每个阶段验收通过再付下一笔,是最常见也最稳妥的方式。这样即使中途出问题,损失也可控。一次性付全款,等于把主动权全交出去了,风险太大。
真有实力的公司不怕分期付款,因为它的交付是有把握的。坚持要一次付清的,通常自己心里也没底。
一句话判据,让对方把最难的那部分讲三分钟。讲得出细节的,基本能做。只会讲态度和承诺的,先别急。
