Language agnostic &引用;“适当的”;让客户或经理对软件评估进行真实检查的方法
回顾我过去的项目,我经常会遇到以下问题: 一位客户或经理向我提出一项任务并要求估算。我估计是24小时。他们还会问业务分析师,据我所知,他们的经验大多是非技术性的。他们估计是16小时。最后,他们会考虑分析师给出的价值,即使我不提供一个估计,我已经向他们解释了技术层面的任务的可行性。他们将分析师的估计视为“生活中的事实”,即使它只是一个估计,而真正的价值在于实际任务本身。更糟糕的是,我看到一个模式,他们倾向于偏向于选择较低的值(例如,我提出了比分析师低的估计值,他们很快地考虑)与任务的可行性相比较。如果你读过Peopleware,他们是那种给你一套工作时间的人,他们会尽其所能去缩短工作时间,尽管这是不可能的Language agnostic &引用;“适当的”;让客户或经理对软件评估进行真实检查的方法,language-agnostic,Language Agnostic,回顾我过去的项目,我经常会遇到以下问题: 一位客户或经理向我提出一项任务并要求估算。我估计是24小时。他们还会问业务分析师,据我所知,他们的经验大多是非技术性的。他们估计是16小时。最后,他们会考虑分析师给出的价值,即使我不提供一个估计,我已经向他们解释了技术层面的任务的可行性。他们将分析师的估计视为“生活中的事实”,即使它只是一个估计,而真正的价值在于实际任务本身。更糟糕的是,我看到一个模式,他们倾向于偏向于选择较低的值(例如,我提出了比分析师低的估计值,他们很快地考虑)与任务的可行性相比较。
你有没有以前用来避免这种情况的具体谈判技巧和策略?如果我能帮忙,我几乎不会给出“24小时”这样的数字。这样做会产生几个隐含的假设:
此外,你应该在你给出的任何报价中包括所有假设和风险。这既可以涵盖你,也可以证明你的估计比一些简单的计算更值得重视。你没有一个工作分解结构来验证你的估计吗 如果您的经理/客户不相信您的估计,您应该能够轻松地证明它超出了分析师的能力 没有什么比他的估计更能说明你的估计是正确的了。例如:
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天:-)你不必非得拒绝工作(特别是在这个经济体中)