42 | 反面案例:盘点那些失败的软件项目
该思维导图由 AI 生成,仅供参考
什么样的软件项目算是失败的项目?
- 深入了解
- 翻译
- 解释
- 总结
软件项目失败并非偶然,而是源于多方面的原因。外部环境、技术管理、项目管理和组织文化等因素共同导致了软件项目的失败。政治因素、成本压力、技术不成熟、糟糕的项目管理决策以及组织文化等都可能成为软件项目失败的原因。具体案例分析了法国政府项目和美国联邦调查局的虚拟案件文档系统项目,展示了这些因素对项目失败的影响。了解这些失败案例的原因可以帮助我们避免类似错误,提高软件项目的成功率。文章还通过微软Vista项目的案例分析,结合软件工程知识,提出了解决失败原因的方案。综上所述,软件项目失败往往是多方面因素共同作用的结果,而总结失败原因并吸取教训是至关重要的。
《软件工程之美》,新⼈⾸单¥59
全部留言(11)
- 最新
- 精选
- 果然如此回复纯洁的憎恶:软件工程是过程控制的方法论,而产品设计才是保证伟大的产品,两者应该结合。
作者回复: 👍很有道理
2019-06-1012 - 纯洁的憎恶深深地感受到,软件工程不是为了创造最伟大的软件项目而存在,却是为了保障每一个项目的成本、质量、工期、目标等等可控而存在的。
作者回复: 谢谢分享,帮转发一下@果然如此 的回复,我也觉得有一定道理,供参考 :) ------ @果然如此 2019-06-09 19:54 回复纯洁的憎恶:软件工程是过程控制的方法论,而产品设计才是保证伟大的产品,两者应该结合。
2019-06-095 - freda对于多变,决策难产的领导怎么应对,目前应对就是暂缓2-3天执行。
作者回复: 遇到这种领导很难应对,决策难产还好,你可以帮助做一些方案,让他选择一个就好!最怕的就是多变,今天刚做好的决策,你还没开始设计开发,他那边明天又变掉了,这种什么软件工程理论都没用! 关键的是,你要有东西来“约束”领导的“多变”,这种约束可以是领导的领导、可以是流程、可以是漂亮的PM妹子,但你不解决如何约束多变的问题,后面的软件工程理论是无法开展的。
2020-07-0321 - Harold互联网项目大多数是失败的。六个原因中,我个人觉得最多的是:产品没有得到市场认可,没有人使用。
作者回复: 项目开发和产品推广其实算是两个领域,软件工程更多还是关注软件项目开发,至于产品如何得到市场认可,这可能超出了软件工程范畴:)
2020-03-301 - mithril老师的案例让我想起了美国现在的联合攻击战斗机项目,简直都是一个模子里刻出来的问题
作者回复: 特地去Google了一下你说的这个项目,不过没有找到好的分析文章,如果有机会,也欢迎分享:)
2020-03-27 - 神经旷野舞者老师,作为一个普通非管理的技术人员,在项目管理不科学的情况下,如何提高自己的软件工程水平和对项目产生积极的贡献呢?
作者回复: 作为普通程序员,看起来对项目影响有限,但是实际上一样还是可以利用所学软件工程知识做一些事情。 *首先是做好自己的事情* 作为程序员,每天主要工作都是写代码,但是怎么写其实很有讲究的。比如说: - 你在一个任务开始之前,是不是会做设计?哪怕简单的设计,设计做好了,会不会找同事评点你的设计? - 写代码的时候,代码质量是不是够简洁明了?对需求或架构有疑问是不是能及时去沟通确认 - 写完代码有没有自己测试?有没有写自动化测试,保证自动化测试代码的覆盖率? - 上线后,有没有观测上线的后的错误日志和数据,收集用户的反馈? - 对于技术债务,有没有去尝试优化解决 如果能把自己的事情做好,那么你已经对项目产生了很大的积极贡献,同时你也逐步建立了自己在团队中的影响力,让其他成员看到,软件工程可以帮助你把任务做好,把代码写好。 *然后是用好工具* 工具在软件工程中作用很大,同时引入成本也相对低,不需要领导审批,也不需要申请经费。比如说: - 项目管理工具,如果你们的日常任务都是口头说明的,那么可以借助任务管理跟踪工具,像Jira、禅道等,把日常任务跟踪管理起来,哪怕是你自己的、或者自己小组的任务。这样日常要做哪些事情,时间点,进度,可以一目了然。当你手头已经有很多任务了,产品经理还想给你塞需求,你就把项目管理工具上的任务给他看,让他清楚你当前已经没法做更多的事情了,除非等手头的事情忙完,或者推迟手头的事情。 - 源代码管理工具,git这种源码管理工具现在已经是标配了,如果没有用当然应该赶紧用起来,用了也可以借鉴一些成熟的开发流程,例如Github Flow (O网页链接 ) - CI/CD,持续集成持续部署似乎还不够普及,如果没有的话,要考虑做起来,花一点时间,把CI/CD环境搭建起来,用起来。用CI/CD结合开发流程,降低测试和部署的成本,降低代码集成可能产生的问题风险,把自动化测试覆盖搞上去,让QA可以及时测试到最新代码。 用好工具,可以提升开发效率提高项目质量,如果只是自己负责的项目用,相对阻力要小,可以从小的见效快的事情做起,比如自动化部署、自动化测试这些,然后再逐步扩大范围。 *最后就是影响更多的人* 要想让软件工程在项目中发挥大的作用,仅仅自己用是不够的,需要整个项目都用起来,都用好,才能最大化的发挥作用。所以终极目标还是要通过前面做的这些事情,改变大家的观念,引起大家的重视,让更多的人用起来。 从小事情做起,先在小项目作出试点,让团队成员知道怎么用,用了有什么积极的效果。这就像当年改革开放时的小岗村,几个人先做起来,作出成绩,然后就可以更大范围试点,更大范围推广。
2020-01-01 - 大王叫我来巡山政府单位干黄的项目,基本都是人祸,没有之一,决策者敢想,企业敢吹,出了问题敢捂,一层一层敢骗。2019-08-073
- aoe暗黑3为了避免游戏币崩溃,上线不久后就推出了拍卖系统,起初主要以游戏币交易装备。结果进一步加剧了外挂刷钱,金币瞬间通货膨胀,拍卖系统匆匆关闭。不要低估玩家对装备的渴望。2022-02-161
- ifelse其实软件项目失败并不可怕,最重要的还是在失败后,总结原因,吸取教训。--记下来2022-07-09
- williamcai开始与客户确定好了需求,快要发布了,客户突然要修改,前前后后不下10次,导致了2个月的工期硬生生的搞成了5个月,还要后期维护的成本也大大增加,总体l2020-08-26