Hacker News 中文摘要

RSS订阅

数万亿美元投入,大型软件项目仍频频失败 -- Trillions spent and big software projects are still failing

文章摘要

文章指出,尽管全球IT支出在过去20年增长了三倍,但软件开发失败率并未显著改善。软件故障普遍存在于各国及各类型组织中,且随着软件普及,失败带来的商业和社会成本持续攀升。这反映出IT管理在吸取教训方面存在重复性错误。

文章总结

软件失败与IT管理的重复错误

核心问题
过去二十年,全球IT支出从2005年的1.7万亿美元激增至2025年的5.6万亿美元,但软件项目的成功率并未显著提升。软件故障不分国界、规模或行业,其带来的商业和社会成本随着软件渗透到生活各个领域而持续增长。尽管AI工具和编程助手被寄予厚望,但在可预见的未来,AI难以解决大型IT项目中系统工程、财务管理与组织政治等复杂问题。

典型案例:加拿大Phoenix薪酬系统
2016年上线的Phoenix系统耗资3.1亿加元,旨在整合105项工会协议和80,000条薪酬规则,却因以下管理失误酿成灾难: - 过度乐观:团队试图以低于供应商预算60%的成本完成任务,削减了关键测试和人员配置。 - 持续影响:九年间,43万公务员中70%遭遇薪资错误,甚至导致一名员工因财务压力自杀。截至2025年3月,仍有34.9万笔错误未解决,政府承诺的整改期限一再推迟。

失败的根本原因
1. 重复错误:Phoenix是加拿大政府第二次薪酬系统改革,首次失败(1995年)的教训被忽视,管理者声称"项目特殊性"使其豁免于历史经验。 2. 风险低估:牛津大学研究表明,IT项目是成本风险最高的领域。美国企业每年花费5200亿美元维护遗留系统,80%的高管承认旧技术阻碍创新,但替换成本更高且风险巨大。 3. 方法论局限:尽管敏捷开发(Agile)和DevOps被广泛采用,但前者失败率据称达65%,后者90%未达预期。成功实施需要领导力、文化变革和持续投入——这些恰恰是组织长期缺乏的。

系统性顽疾
- 管理幻觉:IT管理者常以"项目独特性"为由拒绝借鉴经验,导致类似凤凰系统的"财务飓风"频发。 - 伦理缺失:算法自动化决策的失败案例(如美国密歇根州失业系统误判、澳大利亚Centrelink福利系统错误指控)暴露了对技术的盲目信任,后续补救中官僚体系推诿责任。 - 成本忽视:项目评估极少考虑用户因系统故障承受的财务与情感压力,加剧了社会代价。

解决路径
1. 管理变革:高层需正视软件开发的复杂性,提供充足资源并建立问责制。 2. 风险透明化:诚实地评估风险而非合理化,对供应商承诺保持警惕。 3. 伦理前置:在AI等新技术整合中,必须优先考虑对人类的影响,推行"以人为本的设计"。 4. 创新失败观:允许探索性失败,但杜绝因傲慢导致的重复错误——正如西塞罗所言:"犯错是人之常情,执迷不悟才是愚蠢。"

结语
IT行业亟需从"软件危机"(1968年提出的概念)的循环中跳出。若不改变,随着AI与关键系统深度融合,失败代价将呈指数级增长。真正的进步不在于避免所有错误,而在于不再重蹈覆辙。

评论总结

评论内容总结

1. 项目失败的原因分析

  • 领导力与责任缺失:多位评论者认为项目失败主要源于领导层缺乏责任感和决策失误。

    • "Hot take: It's not technical problems causing these projects to fail. It's leadership and accountability (well, the lack of them)." (apercu)
    • "Software projects fail because humans fail." (0xbadcafebee)
  • 架构与需求复杂性:部分评论指出过度定制和需求膨胀是根源。

    • "Phoenix project executives believed they could deliver... 80,000 pay rules spanning 105 collective agreements." (x0x0)
    • "Managing software requirements... is by far the hardest part." (nacozarina)

2. 行业共性问题

  • 重复错误与经验忽视:软件行业缺乏对历史教训的总结,硬件领域则更注重传承。

    • "While hardware folks study past failures, software folks do not." (BirAdam)
    • "SV’s endemic ageism... shuns experience." (ChrisMarshallNY)
  • 方法论争议:评论者对敏捷开发、工具和流程的有效性持不同看法。

    • "The lesson isn’t 'better methodologies'... it's 'don’t do big software projects'." (MattRogish)
    • "Universal style enforcement delivers results." (exabrial)

3. 技术与管理的矛盾

  • 技术理想 vs. 现实约束:开发者追求完美,但业务需求导致妥协。

    • "Devs see code as artwork... hard to have critical conversations." (exabrial)
    • "Enterprise software sucks because it adapts to oddball requirements." (MattRogish)
  • 资金与干预问题:高预算项目易受非技术因素干扰。

    • "Big money makes stakeholders feel entitled to get in the way." (John23832)

4. 未来与解决方案建议

  • AI的潜在影响:部分评论担忧AI加剧问题,少数认为可优化管理。

    • "AI won’t make this better, but worse." (mdavid626)
    • "Use AI to replace managers, not developers." (amai)
  • 监管与标准化:提议通过法律或规范约束项目质量。

    • "Create laws with consequences to ensure project success." (0xbadcafebee)
    • "Software lacks professional licensing like engineering." (oldandboring)

5. 少数乐观观点

  • 软件质量进步:有评论认为当前软件整体可靠性显著提升。
    • "Software today is the highest quality ever... I trust my phone as my sole payment method." (827a)

关键分歧点

  • 失败主因:技术复杂性 vs. 管理失效 vs. 人类固有缺陷。
  • 解决方案:加强流程管控 vs. 限制项目规模 vs. 引入外部监管。
  • AI角色:风险源头 vs. 管理优化工具。

(注:所有评论均无评分数据,故未纳入认可度分析。)