# 定制软件还是现成方案（SaaS）？

位于匈牙利布达佩斯的软件开发公司 Mesterséges Intelligencia Központ Kft. 认为，现成软件（SaaS）能覆盖企业流程时就已足够；当企业的运作方式与常规不同，或者软件本身就是业务优势时，定制软件才更划算。

> **要点：**如果某款现成产品无需开发就能覆盖企业的大部分流程，而且企业可以接受去适应它，那么现成方案是更快的途径。如果企业的运作方式与现成产品所依据的模式不同、需要连接许多系统，或者对数据和后续开发的掌控是一个战略问题，那么定制开发更划算。很多时候，正确答案是两者兼用：以现成产品为基础，再加上定制的补充。

## 什么是定制软件、现成软件和 SaaS？

这三个概念回答的是两个不同的问题：一是软件是为谁开发的，二是软件以何种方式到达用户手中。

- **定制软件：**根据某家企业的需求、受委托开发的程序。它具备客户在规格说明中要求的功能，按照该企业员工的工作方式运作，后续开发的方向也由客户决定。
- **现成（套装）软件：**面向众多客户开发的产品，企业购买其使用许可，通常在自己的计算机或服务器上安装和运行。它可以通过设置进行调整，但运作逻辑由厂商决定。
- **SaaS（Software as a Service，软件即服务）：**由厂商在自己的云端运行的现成软件，企业以订阅方式，通过浏览器或编程接口使用。编程接口（API，application programming interface，应用程序编程接口）是两个程序无需人工参与即可交换数据的连接点。

根据美国国家标准与技术研究院（NIST）对云计算的定义，在 SaaS 模式下，用户使用的是服务商运行在云端的应用，并不管理其背后的基础设施（网络、服务器、操作系统、存储），甚至也不管理各项应用功能，至多只能进行有限的、针对用户的配置设置（[NIST SP 800-145](https://csrc.nist.gov/pubs/sp/800/145/final)）。这既是 SaaS 的优势，也是它的局限：厂商替企业卸下了运行的负担，但产品中改变什么、何时改变，也由厂商决定。

## 第三条路：以现成产品为基础，加上定制补充

这种决策很少是“非此即彼”。对许多企业来说，可行的做法是：会计、邮件、办公事务等常规任务继续使用现成产品，只在企业的运作方式确实与众不同的地方进行定制开发。混合方案最常见的形式有：

- **集成：**由定制程序通过 API 或 Webhook 把各个现成系统连接起来，数据就无需再手工复制。Webhook 是一个系统在某个事件发生时向另一个系统自动发送的通知，例如在收到新订单时。
- **定制模块：**在现成系统旁边开发一款自有应用，用于现成产品无法覆盖的流程，例如某种特殊的定价规则、生产排程或某个行业特有的登记簿。
- **在现成系统之上构建自有界面：**客户或外勤员工获得一个简单、贴合其任务的界面，后台则由现成系统运行。

混合路线的优点是，企业只需为真正独特的部分支付开发费用。缺点是，定制部分必须跟随现成系统接口的变化而调整，因此集成中需要日志记录和错误告警，而且必须有人负责其维护。关于系统互联和重复性工作的自动化，我们在[流程自动化](https://www.mestersegesintelligenciakozpont.hu/zh/services/process-automation)页面中有专门介绍。

## 决策要素一览表

| 要素 | 倾向于现成软件（SaaS），如果…… | 倾向于定制开发，如果…… |
|---|---|---|
| 与流程的契合度 | 流程比较常规，企业也接受去适应软件 | 企业的运作方式与常规不同，并希望保留这种差异 |
| 竞争优势 | 该领域并不能让企业有别于竞争对手 | 软件本身就是业务优势，或是业务优势的载体 |
| 集成数量 | 需要连接的系统不多，并且有现成的连接器 | 需要连接许多系统，或者没有现成的连接器 |
| 数据与退出 | 厂商提供完整的、机器可读的导出，退出条件清楚明确 | 数据模型和对系统的掌控是一个战略问题 |
| 用户与许可模式 | 用户少，人数可预测 | 用户多或增长迅速，按用户收取的费用举足轻重 |
| 启用速度 | 需要尽快投入使用，现成功能也已足够 | 启用可以等待开发完成，或者可以分阶段启用 |
| 由谁维护？ | 没有自己的 IT 力量，厂商的维护就已足够 | 有人负责运行：自己的团队或签约的开发方 |
| 数据位置与合规 | 厂商的数据存储地点和合同符合要求 | 数据必须保留在指定地点，或须遵守严格的行业规定 |

并不需要每一行都指向同一边。如果大多数要素倾向于现成产品，就值得从现成产品起步。但如果分量最重的几行，即契合度、竞争优势和集成，指向定制开发，就值得更深入地规划，并至少针对一个功能组做具体的对比。

## 总拥有成本取决于什么？

总拥有成本（total cost of ownership，简称 TCO）是软件在整个使用期内的全部投入，而不仅仅是起步的价格。两条路线的成本结构不同，因此只比较一年可能会产生误导：应着眼于计划的使用期。

对于现成软件和 SaaS，成本通常由以下因素决定：

- 订阅费，往往随用户数量和所选套餐一同增长；
- 附加模块和更高级的套餐，如果某项所需功能只在其中提供；
- 实施、配置和员工培训；
- 集成和个性化调整，通常由另外的合作伙伴完成；
- 退出：一旦需要更换，数据的导出和迁移。

对于定制软件：

- 开发，主要取决于软件的功能规模；
- 运行：主机托管、监控和安全更新；
- 随着企业需求变化而进行的维护和后续开发；
- 知识的留存：文档和完整的源代码，让系统不依赖于某一个人。

如果对范围进行度量，而不是凭感觉估算，定制开发的成本就可以规划。我们以 COSMIC 功能点（ISO/IEC 19761）度量开发工作的功能规模，并据此编制报价和进度安排；具体方法见[定价方式](https://www.mestersegesintelligenciakozpont.hu/zh/pricing)页面。从长远看哪条路线花费更少，取决于用户数量、变化的频率和集成的数量。这个问题没有通用的答案，只能针对具体情况进行计算。

## 厂商锁定与数据可携性

厂商锁定（vendor lock-in）是指改用另一款产品困难或代价高昂到企业实际上无法退出的情况。其原因可能是封闭的数据格式、不完整的导出功能、大量只与该产品绑定的设置，或者难以解除的合同。

欧盟的《数据法案》（Data Act，[条例 (EU) 2023/2854](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32023R2854)）自 2025 年 9 月 12 日起适用，并以单独一章规范数据处理服务之间的切换；其序言把 SaaS 也列入这类服务。该条例的文本规定的内容包括（2026 年 10 月 17 日核实）：

- 切换条件必须在书面合同中写明，启动切换所需的通知期最长不得超过两个月（第 25 条）。
- 应客户请求，必须在没有不当延误的情况下、在最长 30 个日历日的过渡期内实现切换，其间服务必须继续运行；如果这在技术上不可行，服务商可以说明理由，另定一个最长七个月的过渡期（第 25 条）。
- 合同必须逐项列出可迁移的数据，并为取回数据提供至少 30 个日历日的期限（第 25 条）。
- 自 2027 年 1 月 12 日起，服务商不得就切换过程收取费用；在此之前只能收取降低后的费用，且不得超过其与切换直接相关的成本（第 29 条）。

一个重要的例外是：关于费用的规定和部分技术义务，不适用于其主要特性在很大程度上是为单一客户量身定制、且不在广泛范围内提供的服务（第 31 条）。如果现成系统受企业委托处理个人数据，《通用数据保护条例》（GDPR）同样对服务商具有约束力：服务结束时，服务商应按照数据控制者的选择删除或返还全部个人数据（[GDPR 第 28 条第 3 款 (g) 项](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32016R0679)）。以上内容仅供参考，不构成法律意见。

法律改善了条件，但退出仍需企业自己规划，最好在选型时就开始。值得核查的有：

- 全部数据能以什么格式导出，例如 CSV（逗号分隔的文本文件）、JSON（机器可读的结构化文本格式）或数据库备份，其中是否包括附件、备注和修改日志；
- 是否有文档完善的 API，可以持续提取数据；
- 能否通过一次试导出来确认数据可以导入另一个系统；
- 合同对解约、切换费用和数据删除有何规定。

## 源代码归谁所有？

对于现成软件和 SaaS，企业购买的是使用权：源代码留在厂商手中，产品的未来（新功能、价格变化、产品停止服务）由厂商决定。只要产品稳定、数据可以导出，这本身并不是问题。

对于定制开发，源代码和使用权问题由合同规定，因此值得明确写明代码归谁所有、客户是否获得完整的源代码和文档，以及系统能否由其他开发方继续开发。在我们这里，源代码和使用权同样由合同约定。关于合同中的其他要点，请见[如何选择软件开发公司？](https://www.mestersegesintelligenciakozpont.hu/zh/knowledge-base/how-to-choose-a-software-development-company)一文。

## 不同类型的系统，权衡的重点也不同

上述要素是通用的，但在不同类型的系统中，其分量各不相同。对于企业资源计划系统，个性化调整与可升级性之间的关系是决定性问题，详见[定制 ERP 还是经个性化调整的现成 ERP？](https://www.mestersegesintelligenciakozpont.hu/zh/knowledge-base/custom-erp-vs-off-the-shelf-erp)一文。对于客户关系管理系统，独特的销售流程和按用户计费的许可影响很大，参见[什么情况下值得开发定制 CRM？](https://www.mestersegesintelligenciakozpont.hu/zh/knowledge-base/when-is-a-custom-crm-worth-it)一文。对于网店，租用式平台的快速上线与自由扩展的能力相互权衡（见[网店：租用式平台还是定制开发？](https://www.mestersegesintelligenciakozpont.hu/zh/knowledge-base/hosted-webshop-vs-custom-development)一文）。关于企业系统开发的总体情况，请见[企业软件](https://www.mestersegesintelligenciakozpont.hu/zh/services/business-software)页面。

## 决策检查清单

对以下问题的回答，通常就能自然地指明方向：

1. 我们能否把流程描述得足够详细，以便在现成产品的演示中逐项核对？
2. 现成产品无需开发、仅通过设置能覆盖流程的多大部分？
3. 这个领域能让企业有别于竞争对手，还是在每家企业中的运作方式都大同小异？
4. 需要连接多少个系统，是否有厂商支持的现成连接器？
5. 几年后会有多少用户在系统中工作，订阅费会因此如何变化？
6. 我们能否获得完整的、机器可读的导出，是否已经通过试导出验证过？
7. 数据存储和处理在哪里，这是否符合企业的数据保护要求和行业要求？
8. 由谁负责系统的运行和后续开发，如果这个合作伙伴退出会怎样？
9. 距离启用还有多少时间，系统能否分阶段启用？

## 典型错误

- **比较功能清单而不是流程：**两款产品可能承诺同样的功能，差别在于它们如何契合企业的日常工作。最好在演示中用企业自己的真实案例逐一走一遍。
- **只比较第一年的成本：**订阅费会随人数增长，而定制系统的运行和后续开发则是在多年中陆续产生的。
- **忘记了退出：**数据导出应该在选型时就核查，而不是等到解约时。
- **对现成产品做过多的个性化调整：**超过一定程度后，升级一个经过大量个性化调整的现成系统，比维护一个边界清晰的定制模块更费工夫。
- **一次性替换所有系统：**分阶段切换（先换一个模块，再换下一个）比一次性的大规模切换风险更小。

## 常见问题

### 什么情况下值得开发定制软件？

当企业的运作方式与现成产品所依据的模式不同，并希望保留这种差异时；当需要连接许多系统，而又没有现成的连接器时；或者当软件本身就是业务优势时。如果某款现成产品无需开发就能覆盖大部分流程，那么它通常是更快的途径；在首次咨询中，我们也会如实告诉您。

### 从长远看，定制软件更贵吗？

不一定，但也不会自动更便宜。现成软件的订阅费会随用户数量和套餐一同增长，而定制系统的运行和后续开发则是持续性的成本。哪一种花费更少，取决于计划的使用期、人数、集成和变化的频率；最好针对具体情况进行计算。

### 如果我们取消 SaaS 订阅，数据会怎样？

这首先取决于合同，因此在选型时就值得核查。根据欧盟《数据法案》，合同必须逐项规定可迁移的数据，并为取回数据提供至少 30 个日历日；根据 GDPR，个人数据在服务结束时必须按照数据控制者的选择予以删除或返还。实践中，一次试导出就能显示这些数据在另一个系统中有多大的可用性。

### 两者可以结合使用吗？

可以，而且对许多企业来说，这正是可行的路线：常规任务继续使用现成系统，由定制集成把它与其他系统连接起来，再为企业与众不同的地方开发定制模块。前提是现成系统可以通过文档完善的 API 进行访问。

### 源代码将归谁所有？

对于现成软件和 SaaS，源代码归厂商所有，企业获得的是使用权。对于定制开发，源代码和使用权由合同约定，在我们这里也是如此。

## 我们如何提供帮助？

Mesterséges Intelligencia Központ Kft. 开发定制软件，并把各个现成系统连接起来，在能真正节省工作量的地方也借助人工智能：我们把 OpenAI（ChatGPT）、Anthropic（Claude）和 Google（Gemini）的语言模型接入现有系统。首次咨询免费，届时如果现成产品就已足够，我们也会如实告诉您。如果需要定制开发，我们以 COSMIC 功能点度量其功能规模，并据此编制报价和进度安排。可应要求签署保密协议（NDA），交付后我们还承担运行与维护工作。源代码和使用权由合同约定。

详情请见[定制软件开发](https://www.mestersegesintelligenciakozpont.hu/zh/services/custom-software-development)页面。如果您想和我们谈谈自己的情况，请通过[联系我们](https://www.mestersegesintelligenciakozpont.hu/zh/contact)页面上的联系方式给我们写信。

## 参考来源

- [NIST: SP 800-145, The NIST Definition of Cloud Computing](https://csrc.nist.gov/pubs/sp/800/145/final)
- [EUR-Lex：条例 (EU) 2023/2854（《数据法案》）](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32023R2854)
- [EUR-Lex：条例 (EU) 2016/679（《通用数据保护条例》，GDPR）](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32016R0679)
