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