我总是在估算成品软件(或编程工作)的成本/价格方面遇到麻烦,所以这里有两个问题。
问题1 :
你被要求写一段现金代码(一旦你完成,代码的所有权利都属于买方)。你知道它需要的大致小时数(+ -25%)和近似的复杂程度(即你是否可以在睡眠中写下它或者一旦你完成就会遭受严重的精神倦怠)。产品是用编译语言(C,C ++等)编写的。
你(你会)为这份工作挑选价格吗?
问题2 :
假设你花了几个月写一些东西,这件事现在已经完成了,现在想(尝试)卖掉它。
产品将是非常“利基”,并且不可能将它出售给大量的人(它是SDK,游戏引擎,库或类似的东西,而不是文本编辑器 - 人数会希望它会很小)。 “开源”是不可能的。
您知道花费的大致小时数,文件总大小,LoC以及您拥有整个开发历史记录的存储库。
结果可以在有或没有源代码访问的情况下出售,用于商业或非商业用途,或者您可以(尝试)出售软件权利。
您如何确定以下价格:
答案 0 :(得分:9)
产品定价与成本估算无关,除非价格通常应高于成本。
定价更多的是:客户为此软件支付多少费用?定价是一项难以掌握的技能 - 如果你说价格且客户不眨眼你可能已经太低了......
因此,针对单客户(定制)软件的建议是将价格设置为您认为他们将支付的最高价格。如果编写软件的成本(以工时为准)高于他们支付的价格,请不要接受这份工作。
对于现成的软件而言,它就像你需要知道你的市场规模一样棘手。假设有1000个潜在客户,那么您需要知道有多少人会以特定价格购买您的产品。显然,随着价格的上涨,买家会减少。同样,定价与软件构建成本的多少无关,而是与人们愿意花多少钱相关。 因此,如果500人将以20美元的价格购买它,但只有200人将以30美元的价格购买,那么如何定价(*)就会变得更加明显。找到这些数字唯一绝对准确的是实际销售您的产品,但您可以进行市场调查(例如,询问您的潜在客户),以了解他们愿意支付的费用。 (与单个客户项目相比,您无法向客户询问他们愿意支付多少......)
因此,一旦您获得最优价格,您就可以计算出您的预期收益(预期销售数量乘以价格)。如果这低于您的成本,请不要编写软件...
(*)我应该说,了解市场规模在这里很重要。如果您询问市场上的20个人是否会以20美元的价格购买,10个人说是,那么您可以假设50%的市场会以20美元的价格购买。通过了解您的市场大约有1000人,您可以将其倍增,知道500人将以20美元的价格购买。在不知道市场规模的情况下,知道50%的人会以20美元的价格购买它是无关紧要的。
答案 1 :(得分:5)
你可以在Neil Davidson的一本(免费)书中找到一些有趣的见解:http://www.neildavidson.com/dontjustrollthedice.html
答案 2 :(得分:3)
你真的需要阅读Joel的[/ rant / humor / froth] http://www.joelonsoftware.com/articles/CamelsandRubberDuckies.html
答案 3 :(得分:2)
对于问题1,在您所在的区域找到正常的小时费率并不难,只记得添加您在项目上花费的所有时间,而不仅仅是花在编写代码上的实际时间... ...在估计实施软件项目需要多长时间时,始终牢记Hofstadter定律; - )
“即使考虑到霍夫施塔特定律,它也总是比你预期的要长。”
对于问题2,即使现在有点过时了,我仍然会发现Carl Shapiro和Hal R. Varian的“信息规则”是关于该主题的最佳书籍。这个问题确实没有简单的答案,但是这本书可以让你很好地理解在设定价格时应该考虑的因素。
Google图书:Information Rules