荒诞不经的十个软件工程真相

文摘   科技   2024-05-01 08:25   美国  
01


软件界的炒作也不差!工具和技术改进总被夸大成天翻地覆的变革,可实际效能和品质提升也就是5%35%。引入新工具和技术就像培养一颗小幼苗,得经历一段学习期,期间可能会损失一些效能和品质。唯有耐心等到学习期结束,才能见到正面效果。所以,引入新玩意儿得三思而后行,得看看能不能给你带来实实在在的回报才好下定决心


02


有些开发人员天天吹嘘各种工具,说什么公司非得买这买那,但真正在项目中用到的却寥寥无几。这不是叶公好龙是什么


03


软件估算常常在错误的时间(项目前期,需求及方案不明确)由错误的人(管理人员、市场人员而非开发人员)进行,所以往往是不靠谱的。而且,在项目进程中,这些不靠谱的估算往往不被及时纠正,而偏离了估算目标被管理层视为严重的失误。


04


大家都在谈论软件复用,却很少有人知道复用的“三法则”:开发可复用模块的投入是开发单应用模块的三倍;可复用模块在发布前,需要在三个不同应用中被成功使用。


05


修复生产环境中发现的需求错误需要付出巨大的代价,而修复开发前期发现的需求错误则是最经济的。然而,大部分需求错误都是在部署和使用过程中才被发现的


06


需求转设计时,往往会暴露出大量隐含的扩展需求。一个需求条目可能对应多达50个设计条目,可我在评估时看到的设计文档规模常常和需求文档规模差不多。缺乏领域知识的开发人员在开发这样的设计时,大概率会造成遗漏需求的错误。


07


研发认为被充分测试过的程序,其实也就是跑了60%左右的逻辑路径。如果用些自动化测试工具支持,如覆盖分析工具,路径覆盖率也许能提升到90%。所以,别轻易相信逻辑路径100%的测试覆盖。


08


严格、有效的技术评审可以清除90%植入的缺陷,也就是说测试只需要发现10%的Bug。然而,90%以上的中国CMMI五级企业,在评审中发现的缺陷不到总数的一半。


09


软件维护占据软件总成本的大约60%,然而在开发过程中,维护需求往往被忽视。

CMMI中针对维护的实践似乎被置于一边,成了被遗忘的角落。


10


项目软件工程开发做得好,后面会带来更多产生价值的维护。许多人并没有理解二者之间的关联关系。


谢谢许多书和文章的作者,祝大家劳动节快乐!


推荐阅读
1. 我的软件项目是固定合同,为何敏捷让我如此痛苦?
2. 颠覆认知:你不一定知道的CMMI评估那些事
3. 我这辈子最自豪的事
4. CMMI十大怪象,自己品,不解释
5. 醍醐灌顶的QA十个认知

三尺讲桌就在这小小二维码,长按二维码“识别”关注 


老丛讲桌
这是一个小小学习园地,老丛会介绍一些有趣的计算机相关故事(如人物,历史,事件等),也会分享一些专业知识和个人感悟。
 最新文章