V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
1000copy
V2EX  ›  程序员

软件危机提出 60 年,如今解决了吗?

  •  
  •   1000copy · 138 天前 · 1095 次点击
    这是一个创建于 138 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大局上来说,显然没有。

    我们在这 60 多年的历程中,有了不少新的工具和方法,比如结构化设计、面对对象设计、项目管理 WBS 、需求工程,数以千计的计算机语言,瀑布方法和敏捷系列的几十种方法,UML 和相应的软件过程方法,大量的关系数据库和非关系数据库,优良的操作系统。

    但是软件危机依然大量存在。

    当年提出的软件危机的问题包括:

    • 项目运行超出预算。
    • 项目运行超过时间。
    • 软件质量低落。包括软件通常不符合需求,项目无法管理,且代码难以维护

    现在还是这样。

    行业的标杆企业微软可以说明很多问题。2000 年前后,微软出版了一批项目管理的书籍,可以让外人看到微软内部的项目状况,我知道很多 MS 的软件都饱受软件危机的折磨。最典型突出的就是 Vista ,历时五年,出来一个广受诟病的 OS ,Vista 被寄以厚望的若干大的特性,都没有发布或者阉割发布。

    有赞的白呀说他们的系统做了十年,有 2 万个功能,每一个功能都是需要的。引入一个新的功能,解决了 5%的客户的需求,但是让 95%的用户感到难用。

    我知道很多企业也是这样的。

    某公司的一个商业软件,从 2011 年开发到 2022 年,已经完全重写 4 次,每 2.5 年重写一次。每一次的理由都是一样的。就是维护不下去了。,每一次都说先赶出来再说,并且每一个功能都是需要的。然后赶出来后就快速的进入报废的循环。

    原因很简单,之前维护不下去的产品的原因没有解决,因此就会一再重犯相同的问题。

    很多产品代码都存在的大函数,一个函数几千甚至几万行。这样的函数显然缺乏任何的结构化,也没有任何的面向对象化这样的分而治之的方法,和现代程序设计无缘。所有软件危机提出以来,为了解决软件危机而引入的方法,实践在在这样的产品设计中没有任何体现,当然也就不可能度过软件危机。

    所以,尽管工业和教育界有不少的发明创造,但是实际上很多项目根本没有利用过这些创新,所以,软件危机继续广泛存在。

    或许某天软件行业不存在了,比如被 AI 吃掉了,软件危机才会真的消失。

    11 条回复    2024-06-26 20:20:17 +08:00
    wellCh4n
        1
    wellCh4n  
       138 天前
    软件危机不会消失,只会以另一种方式存在。假如被 AI 吃掉了,那么可能会出现 AI 软件危机。
    showB1
        2
    showB1  
       137 天前
    解决?以现在的状况过来看是加剧了。每换一个 leader ,方向变一次,技术栈换一套,系统重做一遍。问问现在的中台天天都在干啥?都是从重构到重做。拉屎谁都会,吃屎可就难了,吃屎还能在屎中汲取营养的就是高手高高手了。
    1000copy
        3
    1000copy  
    OP
       137 天前 via iPhone
    @showB1 哈哈话糙理不糙~~
    1000copy
        4
    1000copy  
    OP
       137 天前 via iPhone
    @wellCh4n 这是能量守恒的意思吧😜
    showB1
        5
    showB1  
       137 天前
    就像你思考的这个问题,咱们的国情下没人会从这个角度思考的,自然规律让步领导意志。什么软件危机、什么技术债,干不出来就是菜😂😂😂😂😂😂。
    1000copy
        6
    1000copy  
    OP
       137 天前 via iPhone
    @showB1 你这一句话捅到根本上了😄不管喜不喜欢,事实如此。真的就是你说的这样。大形势下不做无谓的小挣扎
    B1acKy1in
        7
    B1acKy1in  
       136 天前
    国外不知道咋回事,但是国内,我觉得应当按照工业软件的标准流程搞,先弄好需求调研再做好开发规划,剩下的变动只能是修复性的变动。敏捷开发这种碰到领导大于天的环境,只能是徒增负担
    1000copy
        8
    1000copy  
    OP
       135 天前 via iPhone
    @B1acKy1in 你说的就是瀑布模型。敏捷这种节奏要求更高,无论是对团队协作还是技术实力。领导不喜欢的话那确实难以做起来
    B1acKy1in
        9
    B1acKy1in  
       134 天前
    @1000copy 领导不喜欢只是个小问题,如果是领导看完敏捷开发,就觉得这是个他能随时随地瞎 jb 提需求的好机会,这就是个灾难了,事实上大多数时候都是灾难
    1000copy
        10
    1000copy  
    OP
       132 天前 via iPhone
    @B1acKy1in 哦,你说得是关于拥抱变化的。如果领导看到这条误解为可以随时提需求那委实麻烦。
    1000copy
        11
    1000copy  
    OP
       132 天前 via iPhone
    @1000copy 所以说如果瀑布都没有做好的,敏捷就更难了我觉得
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1245 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 121ms · UTC 23:12 · PVG 07:12 · LAX 15:12 · JFK 18:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.