2008-10-15 28 views
26

我目前在一家定制软件代理商工作。有没有人有如何赢得价格合理的工作经验?软件公司如何提供高质量的软件/赢项目?

似乎有来自离岸/卧室编程团队的竞争太激烈了,这些天成本极具竞争力。与预算方面的软件产品公司或内部IT部门相比,我觉得它有很大的不同。正如其他人之前所说的,我们只能真正使用我们软件的1.0版本,除非客户端足够大。在这种情况下,花时间制作软件是我们所能做到的最好的方式,这没有任何意义。这就像我们正在与内部IT人员一样完成相同的工作质量。也有很多客户不是技术专业人士,所以不会为他们不明白的东西付钱。

由于我们公司没有资金来拒绝工作,所以我们往往会花费太多的钱来完成复杂的工作。我在管理变化和保持严格的规格等方面已经有了很大的改进,但仍然很难。

编辑-----------------------

近3年从这篇文章,我可以列出我学到一些重要的教训自那以后。

请参阅下面我的回答

+0

你的问题在哪里? – 2008-10-15 17:54:41

+1

@进入空间:固定。 – Shog9 2009-05-22 16:46:18

+6

乔尔和杰夫在他们的播客中给出了他们的答案http://blog.stackoverflow.com/2009/05/podcast-54/(大约35分) – 2009-05-22 20:44:25

回答

9

如果您关心做太多的工作太少的钱然后每小时工作一次。是的,在大多数情况下很难销售。

也许你可以尝试两阶段的方法。如果可交付成果是非常具体的要求文件,成为客户的财产,那么首次参与度非常低。您必须冒险参与实际的开发,但是您不必承担项目定价过低的风险,因为您已经了解客户需要处理的内容以及应用程序需求。

一旦您以合理的价格赢得工作,然后使用mathieu建议的最佳实践来帮助确保质量和生产力,从而降低您的成本。

1

这是我的开发人员的角度来看:

  • 版本控制最佳做法:保持躯干清洁,不要提交代码无法编译,并经常犯
  • Continuous integration
  • Unit testing(与代码覆盖率)
  • 在测试服务器上自动部署
  • 应用
  • 自动化的自动包装,就像你可以:)

此外,聘请good developerstreat them well :)

+0

好的列表,但他们真的与敏捷无关(或者至少并不敏捷)。无论您的实际开发生命周期方法是什么(敏捷,srcum,xp,瀑布等),您列出的所有内容都是良好的实践。 – 2008-10-15 13:38:05

+0

woops,我的坏。删除这部分:) – mathieu 2008-10-15 17:46:50

5

你在你的帖子中描述过什么(不是你的问题),我认为首先是销售,管理和营销问题。

你说你的客户没有技术上的头脑,这需要有一个有凝聚力的销售,咨询和沟通策略,这不是关于编程技能。另外,如果贵公司不断接受对您的团队而言过于复杂或昂贵的项目,并且您交付的产品质量低劣,那么迟早会陷入困境。你会吸引你不想要的客户,而现有的客户会因为你的“无能”而被关闭,并且迟早会找到他们试图玩同一价格游戏的另一家公司。在我看来,这些客户是没有价值的。

你问'你怎么赢得价格合理的工作'?人们是社会动物,他们彼此交谈。如果市场认为你是一家不可靠的公司,人们和未来的客户迟早会知道。客户不关心你是否以非常低的价格向他们提供产品,时间太紧 - 这不是他们的错误,而是你接受它。所以我再次认为,整个考验是一种糟糕的商业行为。

我发现你的确需要在低预算的工作岗位上定义严格的规格,定义你将要交付的产品,告诉他们价格,阻止你的老板提供太多的长期客户折扣价格标签,因为他们也是如此害怕失去客户。当事情开始失控时,通常会提前进行沟通。撰写精确报价以获取更多功能。准确地写下来,不要依靠电话交谈(你:“这是额外的4小时工作”,客户:“好的”...... 4个月后,客户“又是什么?为什么我应该这样做?为此付出“)。

现在当然,降低价格的一个方法就是不要雇佣完整的白痴,这些白痴最初可能比更好的合格程序员便宜。这是一种目光短浅的方法,并会失败。

2

“离岸/卧室项目团队竞争如此激烈” - 听起来你们需要花一些时间进入网络。在一天结束时,人们喜欢与人做生意,而不喜欢与企业打交道。如果您在您的客户社区中广为人知并受到欢迎,那么您将成为领先者,您将从自己建立的信心中获得更好的价格。推荐将给你一个强大的优势 - 请他们。

“我们公司没有资金拒绝工作” - 很多公司都以此为出发点,但最终你必须通过这种方法你在这些类型的工作上花费的时间阻碍了取得成功。你需要决定你想要做什么类型的工作(以及谁是客户),同样重要的是你不做什么。

3

这是与您的客户的关系,将赢得额外的业务。一位开发人员实际上挺身而出,停止了一个项目,因为他的销售顾问基本上就我们的解决方案向我们撒谎。然后,开发人员在相同的预算内提供了一个简单直接的骨骼解决方案,并按时交付。

这家伙和他的团队已经在我的公司进行了6年多的咨询。他的诚信和认真努力的工作性质是一个巨大的优势,他已经找到了优质的人为他工作,因为他的名声在增长。他的诚实价值比我在海外运输我公司的知识资产所获得的任何储蓄都要多。

0

销售固定价格,固定范围的工作,而不是小时工。这可以减轻客户的超额运行风险(您吸收所有风险,但无论如何您都会这么做),并且根据软件的价值来构建项目的框架,而不是进行这项工作的质量。

2

作为一名顾问,正是因为这个原因,我个人才转为小时率模式。我被太多的合同烧掉了,我感到你的痛苦。

最后,只有以最低价格提出建议的人才会为您的公司带来麻烦。虽然你不能这么挑剔,以至于你从来没有得到过项目,但你一定要避开那些支持管理层对于实际软件开发过程不可知的合同,他们只看最初的价格标签。通常,合同或规范中没有的内容会改变利润率和时间表。

无论如何,挑剔的方式而不是降低价格常常会让您感到最终成为麻烦的浪潮。在你的情况下,尽管RFP之间总是存在争议,但它并不像技术要求规范那样简洁,但应根据RFP的清晰程度将初始报价理解为一般估计。

我绝对同意kitsune,如果贵公司一直接受不符合贵公司开发专长或带宽的合同,那么所有这些都将导致管理费用和声誉不佳。

0

我们正在尝试构建产品并重新使用现有体验。与乌克兰(我工作的地方)的英国相比,薪水较低,但仍比印度高4-5倍。

到目前为止,最好的结果是获得两个新客户,这需要类似的解决方案,因此我们可以提供更好的定价,我们对我们的估算更有信心。

顺便说一句,我检查了whywaitdigital.com,似乎我们有一个产品,您的客户可能需要。我们做门户 - 编辑,B2C,地理启用产品目录,我们也使用ASP.NET MVC。您可以在我们的网站www.socialtalents.com上找到联系信息。

2

这可以看作是上述问题的快速指南。

提案文件

  1. 开始搭配建议文件,说明你的客户的理解,尽可能地需要。这可以在至少1-2页的写作中完成。它可以开始走向需求,但它应该比那更随意。

预算文件

  • 现在去到Excel,并列出你认为你将不得不做这个项目的所有任务。以天为单位放下时间,不得大于2(0.25,0.5等)。

  • 添加测试一列,并使其开发时间的百分比(20%-30%是正常的)

  • 现在添加用于管理的列(项目+帐户),并添加一段%为此(在前两列)。 20-40%是正常的。 (70-30分/ pm)

  • 为贵公司设置日费率。对于不同的用户功能,您可以变得更加复杂并且有不同的费率,但是至少设定一个费率,这意味着无论正在执行哪项工作,您都将获得良好的保证金。

  • 计算迄今为止记录的总天数的价值。然后在此基础上添加应急金额(对于固定价格工作)10-20%在此处是正常的,但可以根据客户的经验以及您习惯的更改数量进行更改。

  • 在这一点上,您可以打折总金额,这比降低本文件的其他部分要好,因为它可以向客户表明您并非神奇地让工作变得更快,而是将您的某些东西保证金。因此他们不应该期待你减少项目的时间。

  • **重要 - 在开发成本计算时分析客户的预算和业务。您将为大型企业设计的成本计算交给想要以经济高效地完成应用程序的伴侣是毫无意义的。同样,请确保您向适用于高端自由职业者费率的组织正确收费。

    想像一个商业分析师。它不仅可以帮助您在看到您的成本时让客户满意,而且可以让您更深入地了解他们的业务。如果他们想通过使用你的钱来赚钱,那么你很可能会成为赢家。如果你不能直接询问他们需要花多少钱,你可以通过询问他们有多少客户,他们收费,他们拥有多少雇员等等来解决问题。然后,你应该能够弄清楚是什么你提出的将是他们的盈利。**

    1. 回到你的提案文件,并添加一个表的设计,开发,管理等部分...您可以在某些情况下向客户展示您的成本计算表,但在大多数情况下避免复杂性会更好。它在那里作为备用,但你不只是咳嗽了一个数字。

    时间轴文件

  • 采取从预算的设计和开发任务的列表,并把它变成一个新的工作表(或项目,如果你像我这样的豪华)。在每个部分的开始和结束日期中添加大约30-50%的额外费用。

  • 在Excel中为天数添加一些图形表示,或使用Gantt template like this one

  • 返回您的提案文档并添加计时文档中的关键里程碑。

  • 提案阶段完成

  • 发送或呈现提案到您的潜在客户。希望他们对你提出的建议感到兴奋,并乐意进入下一阶段,全面收集需求。在随后的同一客户的项目中,您可以直接找到需求。
  • 要求阶段

  • 列表针对一个单独的ID每个需求,无论是1,2,4,5或1.1,1.2,1.3。这并不重要,但第二个可以帮助大型列表。

  • 有一些测试的要求,你可以尝试遵循这些,但有时他们不适用(一些要求可能是设计主导例如)。其中一些是:需求是否可测试,是否单一,是否清楚?我会尽力找到某个地方的链接。