Language agnostic &引用;“适当的”;让客户或经理对软件评估进行真实检查的方法

Language agnostic &引用;“适当的”;让客户或经理对软件评估进行真实检查的方法,language-agnostic,Language Agnostic,回顾我过去的项目,我经常会遇到以下问题: 一位客户或经理向我提出一项任务并要求估算。我估计是24小时。他们还会问业务分析师,据我所知,他们的经验大多是非技术性的。他们估计是16小时。最后,他们会考虑分析师给出的价值,即使我不提供一个估计,我已经向他们解释了技术层面的任务的可行性。他们将分析师的估计视为“生活中的事实”,即使它只是一个估计,而真正的价值在于实际任务本身。更糟糕的是,我看到一个模式,他们倾向于偏向于选择较低的值(例如,我提出了比分析师低的估计值,他们很快地考虑)与任务的可行性相比较。

回顾我过去的项目,我经常会遇到以下问题:

一位客户或经理向我提出一项任务并要求估算。我估计是24小时。他们还会问业务分析师,据我所知,他们的经验大多是非技术性的。他们估计是16小时。最后,他们会考虑分析师给出的价值,即使我不提供一个估计,我已经向他们解释了技术层面的任务的可行性。他们将分析师的估计视为“生活中的事实”,即使它只是一个估计,而真正的价值在于实际任务本身。更糟糕的是,我看到一个模式,他们倾向于偏向于选择较低的值(例如,我提出了比分析师低的估计值,他们很快地考虑)与任务的可行性相比较。如果你读过Peopleware,他们是那种给你一套工作时间的人,他们会尽其所能去缩短工作时间,尽管这是不可能的


你有没有以前用来避免这种情况的具体谈判技巧和策略?

如果我能帮忙,我几乎不会给出“24小时”这样的数字。这样做会产生几个隐含的假设:

  • 估计准确到一小时之内
  • 数字中的所有数字都是
  • 估算对您给出估算和工作完成之间可能出现的情况不敏感
  • 在大多数情况下,这显然是错误的。为了避免落入(1)的陷阱,请引用范围以反映您对估算准确性的不确定性:“3周,加上或减去3天”。这也涉及到(2)

    为了弥补第(3)条的漏洞,请明确说明您的假设:“3周,再加上3分钟或3天,假设Alice和Bob完成了泡沫部分”

    依我看,以这种方式明确你的假设将比分析员的观点显示出更深入的思考。我更愿意关注那些对这件事思考得更深入的人,而不是那些只是从空气中拿出一个数字的人,这肯定会给你的谈判带来好处。

    你可以比管理者更容易地“控制”客户,因为他们真正拥有的唯一权力是不把工作交给你(这很快就解决了错误估计的问题)

    但你只需要指出,不是分析师在做这项工作,而是你。没有人比你更善于判断你的时代

    支付工作费用的人(包括经理)会关注较低的数字,这是生活中的一个事实。很多时候,我都提交了适当的估算,包括下限(例如,10.000美元)和上限(例如,11000美元),并且收到回复邮件说,客户对我为工作报价1万美元感到非常高兴

    然后,出于某种原因,当我向他们开出10500美元的账单时,他们会大发雷霆。你必须事先弄清楚,估算是估算,不是保证。否则,他们不会支付时间和材料,而是支付固定价格(固定价格会更高,以弥补风险现在是你的,而不是他们的)


    此外,你应该在你给出的任何报价中包括所有假设和风险。这既可以涵盖你,也可以证明你的估计比一些简单的计算更值得重视。

    你没有一个工作分解结构来验证你的估计吗

    如果您的经理/客户不相信您的估计,您应该能够轻松地证明它超出了分析师的能力

    没有什么比他的估计更能说明你的估计是正确的了。例如:

    Gather Feature Requirements      (2 hours)
    Design Feature                   (4 hours)
    Build Feature
      1 easy form                    (4 hours)
      1 easy business component      (4 hours)
      1 easy stored procedure        (2 hours)
    Test Feature
      3 easy unit tests              (4 hours)
      1 regression test              (4 hours)
    Deploy Feature
      1 easy deployment              (4 hours)
                                    ==========
                                    (28 hours)
    
    然后你说“好吧,我想出了28个小时,告诉我哪里错了。告诉我你怎么能在16个小时内做到。”

    你以前有没有具体的谈判技巧和策略来避免这种情况

    不要为这样的人工作

    真的


    改变他们的行为是你无法控制的。

    随着时间的推移,你可以做一件事来解决这个问题,同时提高你的评估技能,那就是跟踪你所做的所有评估,并将其与实际花费的时间相匹配。如果你能回到你的老板那里,列出你和公司最近20个评估的清单,那么很遗憾,斯科特·亚当斯在这场辩论中做出了很多贡献

    迪尔伯特:“在一个完美的世界里,这个项目需要八个月的时间。但是根据这家公司过去的项目,我应用了1.5的不称职乘数。然后我应用了6.3的LWF。” 尖头发的老板:“LWF?”
    Alice:“说谎的黄鼠狼因素。”

    在任何情况下都不能给出一个数字,给出最好、最坏和最有可能的数字。如果你回答正确,那么下一个问题应该是“如何获得更准确的数字”,答案应该是更详细的需求和/或设计,具体取决于你在生命周期中的位置

    然后你会给出另一个更精确的最佳…最…可能的和最好的范围。这会一直持续到你完成为止


    这被称为“我已记不清与客户讨论估价时在白板上绘制估价的次数”。

    Hear Hear。根据我的经验,您几乎必须将这是一个大小为72的估价,红色闪烁文本(顺便说一句,在打印估价上获取闪烁文本是一项相当大的工作)我会避免说出时间范围。人们往往只记住较低的值。“3周,正负3天”对他们来说意味着“3周”。事实上,对大多数经理来说,3周正负3天,意味着12天:-)你不必非得拒绝工作(特别是在这个经济体中)