在自由软件开发中,公司在错过最后期限时应受到什么样的处罚?[关闭]


12

我在和一个联合开发人员聊天。

他有一个客户想要确保他按时交货。客户希望对错过的最后期限产生影响。

虽然我不从事自由职业,但我无法给出答案。

所以,我的问题是:

如果您错过交付期限(除了被解雇),您(自由职业者)会与您的客户达成什么协议?


2
他会很愚蠢地接受任何处罚,至少没有基于不断变化的要求的离职条款。在考虑变更管理之前,最佳情况下,任务估计几乎是不准确的。基本上。运行
马特·d

4
因此,让您错过最后期限会给客户带来经济利益吗?听起来不是一个好主意。这只有在您迟到时客户也蒙受了巨大的经济损失时才有意义(例如在MainMa的示例中)。
布朗

2
这对我来说似乎完全可以接受。我对这些评论感到非常惊讶。您是否希望人们为工作付费,而没有最后期限,也没有动力去完成最后期限?“任务估计非常不准确”-不必如此。
NimChimpsky

@DocBrown大概客户对在截止日期之前有更大的财务兴趣,因此在截止日期前付款。我发现程序员有时不喜欢截止日期和结构。想象一下,如果要安装一个新的厨房,而商店说oooooo,不,我们不能告诉您什么时候完成,而是按小时收费。我要跑一英里。编程在质量上与任何其他项目都没有不同。
13年

5
如果您要安装新的厨房,则会按照规范要求为您报价。如果您开始更改切割面,瓷砖,水龙头和水槽材料,那么您将需要为浪费的材料和所花费的时间额外付费。很容易理解在这种情况下为什么要向您收费,这是一种身体上的关系。不断变化的软件需求通常并不具有相同的理解,并且任何需要您按X交付X的合同都要求麻烦。事情将会改变,无法解释这一点是愚蠢的。
Matt D

Answers:


25

最有效的方法之一:按天延迟付款。对于大型项目也是如此,有时每天的罚款为数千美元。

如果确切的截止日期很重要(例如,如果为奥运会开发了一款可处理2014年赛事转播的网络应用,则截止日期将是2014年奥运会的开始),那么有效的措施可能是:如果项目迟到,公司根本就没有得到报酬,也应该支付罚款。

如果这样的严厉措施不合适,那么只要项目迟到,高薪客户就会离开的唯一事实就可以解决问题。

给客户的提示:

  1. 许多延误是客户自己的错。原因可能有多种:

    • 没有SRS,而是两段描述了客户所想象的需求(当然,由于这一步骤浪费了时间,客户不想为收集需求付费)。

    • 在最后期限之前的两周到来,并说该项目直到现在才用Java完成并使用Oracle都没有关系:必须用Python重写该项目并使用MySQL,因为客户昨天已经读了一本杂志告诉那些技术是未来。

    • 在每次会议上提出一组新的要求。奖励点是,这些要求与到目前为止几乎所有给定的要求相抵触。

  2. 良好的沟通对于一个好的项目至关重要。

    其他许多延迟是由于缺乏沟通造成的。客户几个月来一直与公司没有任何沟通并且希望仅在产品完成和抛光后才与客户联系的做法会带来灾难。

  3. 你得到你所付出的。

    有一些特定的程序可以帮助保持项目的组织性,实际上,大型项目的编程只需要10%到15%的时间,而中型项目的编程只需要15%到20%的时间。这些项目也应该由知道自己在做什么的人来完成。

    在实践中,客户不愿意为分析架构和软件设计的分析师支付800美元/天的费用,并且他们也不想为其他步骤付费。一个新手阿尔巴尼亚程序员很高兴以每天50美元的价格工作,这似乎更具优势。

    当您只准备为灾难性项目付费时,请不要抱怨该项目是一场灾难。

  4. 不要协商完成工作所需的时间。

    我经常遇到这样的讨论:

    开发人员:鉴于需求,我可以在四个月内交付。
    顾客:不可能。该项目应在两个月内完成。
    开发人员:好吧,除非您取消了某些功能...
    客户:我不会!所有功能都是必需的。你为什么不能在两个月内完成这项工作?我联系了一位印度编程人员,他是我的一个朋友,他可以在一个半月内交付,只索要一半的价格!

    谈判时间是灾难的根源。

  5. 了解您的优先事项。

    考虑90%完成规则。当项目管理不当时,通常会看到开发人员告诉他们在启动项目后一个月就完成了90%的项目。然后,一个月后,仍然是90%。一个月后。

    这可能有两个原因:

    • 当项目未正确完成时,即100%的时间专用于编程,这将0%留给了需求收集,体系结构,设计和测试,这是程序员不知道要做的事情,他们发现项目整个生命周期中的新任务。准备项目将有助于对应该完成的所有任务有更多的了解。

    • 当客户急忙时,对于一些公司来说,快速提供一些废话,然后花费大量的时间来解决bug并不罕见。一些公司只是这样工作,这有助于他们保持竞争力,并说他们在三周内完成了给定的项目,即使后来,他们花了三年时间解决了问题。

    通过优先考虑优先事项并要求正确完成项目,有助于从候选人名单中淘汰那些公司。


3
“当您只为灾难性项目付费时,不要抱怨该项目是一场灾难。” 我可以用吗?顺便说一句,这是一个很棒的帖子,很好地总结了双方的风险。
Matt D

+1非常好点。另外,很高兴阅读:)
Radu Murzea

5
@MattD:Stack Exchange上的答案已根据知识共享署名-相同方式共享3.0许可,因此可以。另外,请随时阅读我的​​博客上的相关文章:量化时间和成本:为什么我们总是会出错?,以及我的问题在这里的答案:programmers.stackexchange.com/q/158640/6605
Arseni Mourzenko 2013年

为什么该博客帖子没有第4、5、6等部分?
Radu Murzea
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.