对软件时间估计的不同意见

时间:2010-10-14 13:18:33

标签: time-estimation

您如何处理与您的软件产品的时间估计值不同的客户?

我将描述一个不属于我的情景,但它可以捕获大致相同的问题。我是一家拥有编程部门的大公司的分包商。我们正在开发的软件项目位于该部门认为可以处理的领域,但由于他们的专业知识与我的非常不同,我们往往会得到不同的结果。

示例:在项目开始时,我提出了一种开发方式,他们将其视为不切实际的困难,并建议将不同的框架(他们熟悉的框架)与我们的编程语言集成在一起。使用(Python)获得或多或少相同的结果。

  • 他们对这种整合的估计:不到一周(他们之前没有完成整合)。
  • 我对整合的估计:超过两周。
  • 使用我建议的方式获得所需的结果(包括在项目中其他地方使用的其他库中使用matplotlib):45分钟。这不是估计,实际上是在45分钟内完成的。

示例:对于要与其内部系统集成的软件,他们需要提供Web服务供我使用。他们提供了一个破碎的,虽然它确实与他们的内部工具一起工作(不兼容.Net或Java主流包等)。他们坚持认为,整合花费的时间超过了估计的时间,这是我的错。

问题不是他们不知道,问题是他们对编程有足够的了解是危险的(在我看来)。是否有一些指导如何处理这种情况?期望管理的一种方式?或者可能是我不应该从一开始就参与这样的项目,在这种情况下有什么迹象?

4 个答案:

答案 0 :(得分:10)

如果客户对时间估计不满意,请不要做这项工作。如果他们认为他们可以做得更好或更快,请告诉他们继续。

我从不允许的一件事是我的估计被修改。在我的职业生涯早期,这些事情让我很开心,但我们吸取了教训。

如果客户擅长做这项工作,他们就不会雇用我。我只是指出他们雇用了我的专业知识,为什么他们无视这些专业知识。当然,如果他们允许项目的范围改变(即工作量减少),那将是另一回事,并且需要讨论。

如果您没有完全锁定 作为交易的一部分,那么它就是“他说,她说”的情况,不幸的是,客户控制着钱包字符串。然而,通常,你可以拥有的最大力量就是能够走开。

没有人说你来完成这项工作。


当然,上面提到的所有建议都值得你付出的每一分钱: - )

我不知道你的具体情况。

答案 1 :(得分:2)

  

或者我可能不应该从一开始就参与这些项目,在这种情况下,有哪些迹象?

我的答案肯定。如果你可以避免这些项目,那就去做吧。

有些迹象:当你猜不到时,人们会认为他们知道如何做事。 “哦,不,不要使用这个非常合适的工具,因为我不知道它”是这个人在技术上受到挑战的一个主要指标。

答案 2 :(得分:2)

首先,在这样的环境中玩起来并不好玩。 所以,如果你喜欢在工作中获得乐趣,而且你不需要因为经济上的原因而担任这份工作,那么就不要把这份工作当作不好玩的。

由于在许多情况下这很难实现,因此您将最终完成工作,并且需要尽可能地管理情况。一种方法是确保有一份文件记录,记录您的反对意见和对计划的关注。尽量不要公然否定,但要尽量建设性地提出有效的替代方案。在这里,您需要感受政治环境,确定“老板”是否会受到您的评论的赞赏或威胁,并采取相应的行动。

很多时候,管理层正在处理其他您不了解的问题。要小心这个事实,也许可以向管理团队询问是否属于这种情况,再次没有屈尊俯就或消极。

最后,如果您有替代方案,花费的时间少于讨论它们所需的时间,只需在沙盒中尝试,然后展示它。这将大大有助于“证明”你的观点。这里要小心的是,你可能被指责不是团队成员,浪费资源,或不遵循指示。确保通过在你自己的时间做这些类型的事情,或仔细考虑你花在这些事情上的时间以及你的老板对替代品的看法如何来减轻这种情况。

HTH

答案 3 :(得分:1)

  

我遇到了与集成相同的问题。示例:对于   他们需要与他们的内部系统集成的软件   为我提供网络服务......他们认为这是我的   整合花费的时间超过了估计的时间。

与我在客户端遇到的情况非常相似。我建议的最好的事情是保持良好的文档。到底是什么救了我。当谈到指点时,我按顺序收到了所有的电子邮件和事实,并准备为自己辩护。 我建议的一件事是分离目标/目标和估计。我不会改变我的估计,除非它涉及实际删除功能或显示的东西会使它更容易。告诉他们,无论如何,你都会尝试达到目标,并且你关心的是业务目标。但是,您的估计不会改变。如果它没有在哪里而且它们只是密集的那么微笑并点头并且如果它是唯一的演出就拿它。

只是在我的博客中写这篇文章 How to estimate the WRONG way