9

我总是难以估计完成软件(或编程工作)的成本/价格,所以这里有两个问题。

问题1
您被要求编写一段代码以换取现金(完成后,代码的所有权利归买方所有)。您知道大概需要多少小时(+-25%),以及大概的复杂性(即您是否可以在睡梦中写下它,或者一旦完成就会遭受严重的精神倦怠)。产品是用编译语言(C、C++ 等)编写的。

你(你会)如何为这份工作挑选价格?

问题2
假设你花了几个月的时间写一些东西,这个东西现在已经完成了,现在想(尝试)卖掉它。

产品将非常“利基”,不可能向大量人出售(它是 SDK、游戏引擎、库或类似的东西,而不是文本编辑器 - 想要它的人的数量会很小)。“开源”是不可能的。

您知道您花费的大致小时数、文件的总大小、LoC,并且您拥有一个包含完整开发历史的存储库。

结果可以在有或没有源代码访问的情况下出售,用于商业或非商业用途,或者您可以(尝试)出售软件权利。

您如何确定以下价格:

  1. 那个软件的权利?
  2. 商业用途与源代码访问?
  3. 没有源代码访问的商业用途?
  4. 非商业用途?
4

4 回答 4

9

产品定价与成本估算无关,除了价格通常应该高于成本的事实。

定价更多地取决于:客户将为该软件支付多少费用?定价是一项很难做到的技巧——如果你说价格而客户不眨眼,你可能已经太低了……

因此,对于单一客户端(定制)软件的建议是将价格设置为您认为他们会支付的最高价格。如果编写软件的成本(以工时计)高于他们支付的价格,请不要接受这份工作。

对于现成的软件,它同样棘手,因为您需要知道您的市场规模。假设有 1000 个潜在客户,那么您需要知道有多少人会以特定价格购买您的产品。显然,随着价格上涨,您将获得更少的买家。同样,定价与您构建软件的成本无关,它与人们愿意花多少钱有关。
因此,如果 500 人会以 20 美元购买它,但只有 200 人会以 30 美元购买它,那么如何定价就变得更加明显(*)。找出这些数字的唯一绝对准确的方法是实际销售您的产品,但您可以进行市场调查(例如,询问您的潜在客户)以了解他们愿意支付的价格。(与您无法询问客户愿意支付多少费用的单一客户项目相比……)

因此,一旦您获得了最优价格,您就可以计算您的预期回报(预期销售数量乘以价格)。如果这低于您的成本,请不要编写软件...

(*) 我应该说了解你的市场规模在这里很重要。如果你问市场上的 20 个人他们是否会以 20 美元购买它,而 10 人说是,你可以假设 50% 的市场会以 20 美元购买它。通过知道您的市场大约有 1000 人,您可以将其乘以知道 500 人将以 20 美元的价格购买它。在不知道你的市场规模的情况下,知道 50% 的人会以 20 美元的价格购买它是无关紧要的。

于 2010-07-01T09:51:41.453 回答
5

您可以在 Neil Davidson 的(免费)书中找到一些有趣的见解:http: //www.neildavidson.com/dontjustrollthedice.html

于 2010-07-01T09:54:24.210 回答
3

您确实需要在此http://www.joelonsoftware.com/articles/CamelsandRubberDuckies.html上阅读 Joel 的 [/rant/humor/froth]

于 2010-07-01T11:49:33.510 回答
2

对于问题 1,找到您所在地区的固定小时费率并不难,只需记住添加您在项目上花费的所有时间,而不仅仅是编写代码的实际时间......另外,在估计如何实施软件项目需要很长时间,始终牢记霍夫施塔特定律;-)

“即使考虑到霍夫施塔特定律,它也总是比你预期的要长。”

对于问题 2,尽管现在有点过时,但我仍然发现 Carl Shapiro 和 Hal R. Varian 的《信息规则》是关于该主题的最佳书籍。这个问题确实没有简单的答案,但是这本书会让你很好地理解定价时应该考虑的因素。

Google 图书:信息规则

于 2010-07-01T10:00:53.773 回答