当前位置:首页 > 科技  > 软件

为什么预估软件项目总是很难成功

来源: 责编: 时间:2024-04-29 16:15:30 101观看
导读可以计划、策划、分割、折叠、旋转和扭曲一个项目无数个小时,但你仍然不知道在实际编写代码时会遇到的困难。本篇文章,我将会表达一些略主观的意见:对于任何具有重要意义的软件项目,准确预估是不可能的。现在,你们中有很多

可以计划、策划、分割、折叠、旋转和扭曲一个项目无数个小时,但你仍然不知道在实际编写代码时会遇到的困难。23X28资讯网——每日最新资讯28at.com

23X28资讯网——每日最新资讯28at.com

本篇文章,我将会表达一些略主观的意见:23X28资讯网——每日最新资讯28at.com

对于任何具有重要意义的软件项目,准确预估是不可能的。23X28资讯网——每日最新资讯28at.com

现在,你们中有很多人读到这句话会认为我疯了。也许我确实疯了,但总得有人说出我们都知道却不愿承认的事实。23X28资讯网——每日最新资讯28at.com

关于如何更好地预估软件项目,市面上已经有很多书讨论过,在预估软件项目时也一定举行了很多会议,购买了不少时间的咨询,写了很多博客帖子。我明白,我们都在努力工作,尽最大努力,试图安抚那些想知道新功能何时准备好的老板。我们总是根据会议日期而不是软件实际准备好的时间来设定截止日期。23X28资讯网——每日最新资讯28at.com

但实际情况是,我们根本做不到。好吧,我们相信我们可以做到——实际上,我们一直在这样做——但我们做得并不好。换句话说,我们的预估总是有或多或少的偏差。23X28资讯网——每日最新资讯28at.com

我的意思是,我们不断地花钱参加研讨会,阅读博客和书籍。我们请来高薪的顾问,他们表现得好像自己知道自己在说什么。但这项工作从未变得更好。我们在这件事上很糟糕,却总是认为我们可以改进,下一个流行趋势真的会是灵丹妙药。但我们不愿承认我们所知道的真相:我们根本无法对软件项目进行非常有信心的估算。23X28资讯网——每日最新资讯28at.com

我们都做过这样的项目,我们认为需要一定的时间,但最终却花了两倍或三倍的时间。你可能参与过一个项目,它比预期提前了一半的时间完成。但很少有项目能在原始估算的紧密窗口内完成。然后,当我们应用霍夫斯塔特定律(“它总是比你预期的要长,即使你考虑到霍夫斯塔特定律”)并将估算时间加倍时,往往最后预估时间还是有偏差。23X28资讯网——每日最新资讯28at.com

这种情况发生的原因有几个。最突出的,我认为也是大多数人最难接受的,是每个软件项目都是独特的,它有自己长长的“未知的未知”清单。你可以计划、策划、分割、折叠、旋转和扭曲一个项目无数个小时,但你仍然不知道在实际编写代码时会遇到的困难。一些你认为具有挑战性的事情最终可能很容易解决。但大多数时候,你会严重低估项目某个特定方面所带来的挑战。23X28资讯网——每日最新资讯28at.com

当然,这种情况发生的原因是,大部分的软件经理总是相信所走的路径将是一条平坦、笔直的高速公路,一路上天气都很好。而事实永远不是这样,需求会不断变化,这些变化的需求不会使项目所用时间变短。人们会意外地请假,会受到其他项目或优先事项的干扰,销售部门需要这个小调整来完成一笔大交易。从开始到结束,永远不会一帆风顺。23X28资讯网——每日最新资讯28at.com

我有一个拥有计算机工程学位的朋友,当我这么说时,他会非常生气,但真正的问题是,软件开发不是一门工程学科。相反,它是一个和充满了变化的人类欲望相互作用的状态,以及不断变化的客户需求、不科学的解决方案相互斗争的过程。软件开发是一个创造性的过程,而不是一个按部就班程序化的过程,创造性的努力不能被简化为可知的步骤和可重复的系统。23X28资讯网——每日最新资讯28at.com

当然,我知道这很难听。企业——我的意思是客户——不想听到“嗯,我们真的不确定什么时候能为你准备好。”他们会选择客户更愿意接受的话来与客户沟通或承诺,即使那完全是胡说八道。公司必须赚钱,为了做到这一点,他们需要尽快产生价值,新功能的演示实际上确实需要在那个特定的会议上发生。23X28资讯网——每日最新资讯28at.com

我们需要找到方法接受和适应这一特征。我这么说是因为我认为,作为一个行业,我们一直在寻找软件预估的圣杯,而且我们永远都会这样做,虽然我们永远不会弄清楚。直到我们接受这一点,我们将继续挣扎和挣扎,并继续告诉自己一些我们知道根本不是真的的事情。23X28资讯网——每日最新资讯28at.com

我没有解决方案,我怀疑甚至根本就没有解决方案。接受这一点是解决问题的第一步,这个问题永远也不会消失。23X28资讯网——每日最新资讯28at.com

23X28资讯网——每日最新资讯28at.com

原文标题:Why we suck at estimating software projects23X28资讯网——每日最新资讯28at.com

原文作者: Nick Hodges23X28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-86506-0.html为什么预估软件项目总是很难成功

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 首届AI方程式大赛,8圈开了一个小时

下一篇: 请尽快升级你的 jQuery!

标签:
  • 热门焦点
  • 7月安卓手机性价比榜:努比亚+红魔两款新机入榜

    7月安卓手机性价比榜:努比亚+红魔两款新机入榜

    7月登场的新机有努比亚Z50S Pro和红魔8S Pro,除了三星之外目前唯二的两款搭载超频版骁龙8Gen2处理器的产品,而且努比亚和红魔也一贯有着不错的性价比,所以在本次的性价比榜单
  • 6月iOS设备性能榜:M2稳居榜首 A系列只能等一手3nm来救

    6月iOS设备性能榜:M2稳居榜首 A系列只能等一手3nm来救

    没有新品发布,自然iOS设备性能榜的上榜设备就没有什么更替,仅仅只有跑分变化而产生的排名变动,毕竟苹果新品的发布节奏就是这样的,一年下来也就几个移动端新品,不会像安卓厂商,一
  • K6:面向开发人员的现代负载测试工具

    K6:面向开发人员的现代负载测试工具

    K6 是一个开源负载测试工具,可以轻松编写、运行和分析性能测试。它建立在 Go 和 JavaScript 之上,它被设计为功能强大、可扩展且易于使用。k6 可用于测试各种应用程序,包括 Web
  • 从 Pulsar Client 的原理到它的监控面板

    从 Pulsar Client 的原理到它的监控面板

    背景前段时间业务团队偶尔会碰到一些 Pulsar 使用的问题,比如消息阻塞不消费了、生产者消息发送缓慢等各种问题。虽然我们有个监控页面可以根据 topic 维度查看他的发送状态,
  • Flowable工作流引擎的科普与实践

    Flowable工作流引擎的科普与实践

    一.引言当我们在日常工作和业务中需要进行各种审批流程时,可能会面临一系列技术和业务上的挑战。手动处理这些审批流程可能会导致开发成本的增加以及业务复杂度的上升。在这
  • 使用Webdriver-manager解决浏览器与驱动不匹配所带来自动化无法执行的问题

    使用Webdriver-manager解决浏览器与驱动不匹配所带来自动化无法执行的问题

    1、前言在我们使用 Selenium 进行 UI 自动化测试时,常常会因为浏览器驱动与浏览器版本不匹配,而导致自动化测试无法执行,需要手动去下载对应的驱动版本,并替换原有的驱动,可能还
  • 得物宠物生意「狂飙」,发力“它经济”

    得物宠物生意「狂飙」,发力“它经济”

    作者|花花小萌主近日,得物宣布正式上线宠物鉴别,通过得物App内的“在线鉴别”,可找到鉴别宠物的选项。通过上传自家宠物的部位细节,就能收获拥有专业资质认证的得物鉴
  • 腾讯盖楼,字节拆墙

    腾讯盖楼,字节拆墙

    来源 | 光子星球撰文 | 吴坤谚编辑 | 吴先之“想重温暴刷深渊、30+技能搭配暴搓到爽的游戏体验吗?一起上晶核,即刻暴打!”曾凭借直播腾讯旗下代理格斗游戏《DNF》一
  • 华为发布HarmonyOS 4:更好玩、更流畅、更安全

    华为发布HarmonyOS 4:更好玩、更流畅、更安全

    在8月4日的华为开发者大会2023(HDC.Together)大会上,HarmonyOS 4正式发布。自2019年发布以来,HarmonyOS一直以用户为中心,经历四年多的发展HarmonyOS已
Top