在我接触的软件定制开发类客户群中,较少提“选模板开发”,更多是“选模块进行二次开发”。“选模板开发”好像是淘宝上那些卖小程序商城的商家的说法,价格特别便宜,本质上是让企业客户选一套前端模板,即界面长什么样,这种方式基本上不需要卖家有编写代码的能力,仅是在他们的后台通过可视化拖曳的方式给客户创建一个小程序,能实现怎样的功能无法改变。
对于“选模块进行二次开发”,这种情况是软件商已开发出很多功能模块(即代码写好了)给到客户去试用评估这个模块能不能用、还有哪些不尽人意的地方等,由客户自行评估及提出现有模块未能满足的功能。软件商根据新功能需求进行软件开发(要写代码+文档),通常报价单内会列明现有功能卖多少钱,新功能开发需要多少钱。这种形式是市面上绝大部分“软件定制开发服务”的形式,这种形式要求企业客户懂得评估和提出新的功能需求,通常还需要客户向已开发完成的功能进行妥协及接受。
市面上存在部分从零进行软件定制开发的客户,这形式是软件商从零开始对客户需求进行调研,客户方面一来对业务需求(business requirement)理解比较深刻,二来极端重视软件商的交付能力和软件质量。能达到快速且高质量交付要求的软件商,通常会有如下特征:采用敏捷开发方式、重视流程、极端重视软件自动化测试等。

总结一下二者的区别:
“选模板开发”的交付期极短(通常不到1个月)、费用低廉(几千到几万,不会超5万)、后期几乎不能迭代(增加新功能);“选模块进行二次开发”包括客户自评估和软件商开发到交付上线,1-3个月不等,费用中等,迭代费用与首次购买差不多;
从零进行软件定制开发的交付周期较长(1.5个月起),费用和选模块进行二次开发差不多(偶尔会略低),迭代费用反而会越来越便宜。