找软件开发公司怎么选?甲方必问的 10 个问题
找软件开发公司是个高风险决策——选错了不只是钱的损失,还有时间和机会成本。本文从甲方视角整理 10 个必问问题,帮你在报价和承诺之外,识别真正靠谱的团队。
找软件开发公司是一个高风险决策。
和买普通商品不同,软件项目很难在付款前就判断质量——等你发现团队有问题,可能已经付了 50% 以上的款项,工期也拖了 2 个月。
很多甲方在选开发公司时,只看两件事:价格是否在预算内 + 公司是否看起来专业。但这两点完全不够,大量烂尾项目和三角债就是这样产生的。
本文整理了 10 个甲方在选开发公司时应该必问的问题,每个问题背后都有具体的判断依据。
问题 1:你们做过和我这个项目类似的系统吗?
为什么要问:不同类型的软件项目有不同的技术难点和业务理解。做过电商系统的团队不一定能做好医疗管理系统;擅长 App 的团队不一定能做好企业内部管理系统。
怎么判断回答:
- 好回答:列出 2-3 个真实案例,能说出项目背景、你们解决的核心问题、交付结果
- 警惕的回答:"我们什么都做过"(太泛);案例网站都打不开或显示为空(可能不真实)
追问:能不能让当时的项目负责人和我聊 5 分钟?
问题 2:需求分析和方案确认怎么做?
为什么要问:这个问题暴露了团队的开发模式。真正专业的团队在报价之前,会做一定程度的需求梳理——不梳理需求直接报价,要么价格不准,要么后期大量变更。
怎么判断回答:
- 好回答:会安排专门的需求分析阶段,输出需求文档或功能清单,经过确认后才进入开发
- 警惕的回答:需求先写在微信里,边做边改;或者"需求说清楚我们就能做"
追问:需求分析后会给我一份文档吗?我是否可以在确认之后再付款?
问题 3:整个团队有多少人?分别负责什么?
为什么要问:有些小公司实际只有 1-2 个人,报价时承诺"专业团队",实际上是一个人接单,发包给更便宜的外包。
怎么判断回答:
- 好回答:说清楚项目经理/产品、设计、前端、后端、测试的人数;能说出各自负责你项目的人是谁
- 警惕的回答:团队介绍含糊,"我们有技术团队";不能说出具体负责人
追问:我的项目会由谁负责?他/她参与了几个类似项目?
问题 4:源码会完整交付吗?部署在哪里?
为什么要问:源码是你最重要的资产。如果交付时没有完整源码,或者只能运行在对方的服务器上,你将永远被绑定在这个供应商。
怎么判断回答:
- 好回答:明确说"全部源码交付,包括前端、后端、数据库结构;可以部署在你自己的服务器或指定云服务器"
- 警惕的回答:"上线后给你查看权限";"代码是我们的知识产权";"部署在我们的服务器"
追问:合同里会写明源码归属吗?验收后是否给 Git 仓库权限?
问题 5:开发过程中如何沟通和汇报进度?
为什么要问:沟通方式直接影响项目能不能按时交付。很多项目出问题,不是技术问题,而是沟通断层——甲方不知道项目进展,等到验收才发现方向错了。
怎么判断回答:
- 好回答:有固定的周报或阶段性演示;使用项目管理工具(禅道/Jira/TAPD/飞书等);能看到任务分解和进度
- 警惕的回答:"随时可以微信问我们"(没有系统化跟进机制);"快好了"类的含糊回答
追问:我可以随时查看任务进度吗?每个里程碑完成时会怎么通知我?
问题 6:测试流程是什么?谁来做测试?
为什么要问:这个问题识别团队是否有基本的质量管控意识。很多小团队没有专职测试,功能做完就直接交给客户,导致上线后 Bug 大量出现。
怎么判断回答:
- 好回答:有专职测试工程师;开发完成后先内部测试,然后给客户测试,最后上线;有测试用例和 Bug 记录
- 警惕的回答:"你来验收就是测试";"我们开发经验丰富,Bug 很少"
追问:上线前我能拿到多长时间做验收测试?发现 Bug 怎么处理?
问题 7:上线后的维护期是多久?维护内容包括什么?
为什么要问:任何软件上线后都会有 Bug,也会有功能调整需求。如果合同里没有明确维护期,上线第二天你就变成了"付费用户"。
怎么判断回答:
- 好回答:明确说"上线后 X 个月内的 Bug 修复免费";说清楚维护包含什么(Bug 修复 vs 新功能开发);到期后的收费方式
- 警惕的回答:"有问题随时联系"(不是承诺);维护期含糊不清
追问:维护期内如果有 Bug,响应时间是多少?多大的问题算 Bug,多大的算新需求?
问题 8:如果项目超出预算或延期了,怎么处理?
为什么要问:这个问题是压力测试。靠谱的团队会有清晰的变更管理机制,而不是含糊承诺"一定按时按价交付"。
怎么判断回答:
- 好回答:说明需求变更的评估流程(变更申请→评估工时→报价→确认→开发);对延期原因分甲方责任和乙方责任
- 警惕的回答:"我们从来不超期超预算"(不现实);"到时候再说"
追问:如果因为你们原因延期,合同里有赔偿条款吗?
问题 9:你们有没有项目失败或烂尾的经历?怎么处理的?
为什么要问:任何团队都有不顺利的项目。愿意坦诚讲的团队,比那些"从来没出过问题"的团队更可信。同时,听他们怎么处理,可以了解这个团队遇到困难时的态度和能力。
怎么判断回答:
- 好回答:坦诚说有过哪种情况,以及当时如何跟客户沟通解决的;有反思和改进措施
- 警惕的回答:完全否认有过问题(不现实);推卸责任给甲方
问题 10:这个项目最大的风险是什么?你们怎么规避?
为什么要问:这道题是终极判断:对方有没有真正理解你的项目。不了解项目的团队说不出风险;懂行的团队会主动提示技术难点、需求不清晰的地方、可能遇到的数据迁移问题等。
怎么判断回答:
- 好回答:列出 2-3 个具体风险,比如"你们的数据迁移会比较复杂,我们建议先做评估";或"这个对接点对方 API 文档不完整,建议预留额外时间"
- 警惕的回答:"没什么风险,我们做过很多类似的";含糊带过
实用对比模板
把这 10 个问题整理成对比表格,同时问 2-3 家,横向对比:
| 问题 | A 公司 | B 公司 | C 公司 |
|---|---|---|---|
| 类似案例 | |||
| 需求分析方式 | |||
| 团队规模和角色 | |||
| 源码交付方式 | |||
| 沟通和进度汇报 | |||
| 测试流程 | |||
| 维护期承诺 | |||
| 变更管理机制 | |||
| 失败经历/处理 | |||
| 项目风险识别 |
最后一条建议:不要只靠口头承诺
以上 10 个问题,是筛选环节用的。但真正的保障来自合同条款——选定供应商之后,把上述关键内容写进合同:源码归属、维护期范围、里程碑和付款节点、延期赔偿、变更管理流程。
没有写进合同的承诺,只是销售话术。
如果你在看这篇文章,说明你正在选供应商或者有类似需求,也可以查看我们的软件开发合同审查清单,里面有 24 个合同签前必查的条款,可以直接对照使用。
相关阅读
有项目想聊?
20 分钟免费项目诊断