定价方式:我们如何度量软件的规模与价格

Mesterséges Intelligencia Központ Kft. 是一家位于匈牙利布达佩斯的软件开发公司。我们不根据估算的工时定价:我们以 COSMIC 功能点(ISO/IEC 19761)度量软件的功能规模,并据此编制报价和进度安排。

要点:我们先共同写明软件需要具备哪些功能,然后度量它的规模,再根据度量出的规模给出价格和进度安排。正因如此,我们不会凭第一通电话就报价,也不会公布价目表。

为什么度量规模,而不是估算工时?

工时估算反映的是估算者预期的工作量,而这取决于估算者的经验、谨慎程度和团队。对于同一项任务,两家公司给出的工时可能相差很大,而从外部看不出各自的理由。

相比之下,功能规模是软件本身的属性:它度量的是软件需要具备哪些功能,而不是由谁、以何种方式来开发。因此,它可以核查、可以重新度量,还可以用来比较两份报价。

什么是 COSMIC 功能点?

COSMIC 是一种经国际标准化的软件功能规模度量方法(ISO/IEC 19761)。它统计软件各个功能处理中有多少次数据移动。数据移动分为四种:

数据移动含义示例
Entry(输入)数据从用户或其他系统传入顾客提交订单表单
Exit(输出)数据传出给用户或其他系统系统发送确认信息
Read(读取)软件读取已存储的数据加载该顾客以往的订单
Write(写入)软件存储数据保存新订单

每次数据移动计为 1 个 COSMIC 功能点(CFP),软件的规模就是它们的总和。例如,一个简化的“录入订单”流程由一次输入、一次读取、一次写入和一次输出组成,即 4 CFP。这种度量与编程语言、技术以及由哪个团队来开发都无关。该方法的完整示例及其局限性,请见什么是 COSMIC 功能点,它与工时估算有何不同?一文。

规模如何转化为报价和进度安排?

  1. 规格说明:我们共同逐项写明功能、参与者和数据(参见我们的工作方式)。
  2. 度量:我们自己的、由人工智能辅助的工作流程通过多次相互独立的计数来度量各个功能组,再由一轮核对确保每个流程恰好只计算一次。
  3. 复核:我们审查度量结果,并澄清其中不确定的地方。
  4. 报价:价格由度量出的规模得出,并补充功能规模无法体现的部分(见下文)。
  5. 进度安排:我们也能看到每个功能组的规模,因此阶段、顺序和期限也以此为基础来规划。

如果过程中出现新的需求,我们也会用同样的方式度量,因此您始终能看到范围变化了多少,以及这对价格和进度意味着什么。

还有哪些因素会影响成本?

功能规模度量的是软件做什么,但并不涵盖所有需要投入工作的内容。度量时会单独标注以下因素,因此它们在报价中也不会被隐藏:

交付后的运行是单独的一项:包括系统运行、维护和后续开发,对于 AI 功能,还包括语言模型按使用量计算的费用。下面的问题中也会谈到这一点。

为什么这样就能比较两份报价?

如果两份报价都基于同一份规格说明和同一个度量出的规模,那么它们针对的就是同样的范围:可以看出两家公司为同样的内容各要价多少,以及哪些内容另行收费。工时则无法这样比较,因为工时并不是软件的属性。COSMIC 是一种公开的标准方法,因此其他人也可以核查我们的度量结果。不妨也问问其他报价方,他们的价格对应的是什么样的范围。

常见问题

为什么不在电话里报价?

我们不在电话里报价,是因为软件的价格取决于它需要具备哪些功能,而这无法通过一通简短的电话负责任地度量出来。首次咨询免费:之后我们会共同写明需求、度量规模,并据此给出报价。您可以在联系我们页面预约时间。

什么会让开发费用更高?

开发费用增加,主要是因为包含更多功能,也就是更多的数据移动。此外,上面提到的因素也可能推高费用:集成数量多或文档不完善、严格的性能和安全要求、定制美术、多平台,或者需要迁移大量数据。

系统运行需要多少费用?

系统运行的费用取决于其中包含哪些内容:主机托管和运行、更新、缺陷修复、后续开发,对于 AI 功能,还有语言模型按使用量计算的费用。我们会根据具体系统确定运行服务的内容;后续开发也会像第一次那样进行度量。更多问题的解答请见常见问题页面。