小型团队开发的软件质量更高?看看这份报告
“小型团队开发的软件结构性质量更高,而20人或以上规模的团队开发出的软件则不然。”- 全球软件质量分析与检测领域的领军企业CAST在其最新发布的《2017年应用软件健康度研究报告(2017 CRASH Report)》中如是说。
《2017年应用软件健康度研究报告》是CAST下属的CAST研究实验室(CAST Research Labs)就全球商业应用软件的结构性质量以及全球趋势发布的第四份年度报告。CAST Research Labs的负责人、CAST高级副总裁与首席科学家Bill Curtis博士表示:“这份报告是根据CAST对多层级、多种编程语言的商业软件分析得出的匿名数据,围绕软件的牢固性(Robustness)、安全性(Security)、性能效率(Performance Efficiency)、可变更性(Changeability)与可移植性(Transferability)这五个维度对软件质量进行的全面研究。”
CAST的研究人员对8个国家,329家商业机构,1850个软件,总计10.3亿行的海量代码进行分析后发现,使用Java EE编写的软件拥有最高的质量,而使用COBOL编写的软件则质量最差。由于COBOL在金融与保险行业的使用最为普遍,这些行业的应用软件健康度也是最低的。“当看到这个结果后,我立刻把存款从银行取了出来,放在了我的床底下,因为那里更安全。”Bill Curtis博士笑称。
另一个衡量软件结构性质量的关键因素是企业的CMMI等级,CMMI Level 1的企业在软件的结构性质量上表现最差。报告指出,CMMI Level 1的软件开发者往往被不切实际的交付日程表追赶,导致他们没有时间去跟踪并修复软件的Bug,使得软件质量大打折扣。研究同时发现,企业的CMMI等级越高,他们的软件质量也会相应得到提升。
借助敏捷开发(Agile)搭建软件架构也被证实是保证较高的软件结构性质量的一种手段。Bill Curtis博士建议:“软件的设计与架构应该更多采取Sprint Zero的方式,即在开发前期花更多的时间了解软件的设计与架构,从而保证后期不走弯路。”
软件质量检测工具的自动化程度与团队间的沟通也很大程度上决定了软件的结构性质量好坏。关于这一方面,Bill Curtis博士说:“目前的一些商业应用软件,其复杂程度已经超越了任何团队能够全部加以理解的范畴。比方说,一款软件可能由5到6种不同语言编写,拥有多个数据库与CRM系统,而其中的互相联系错综复杂。如果仅凭直觉,团队往往会妄下错误的结论。”他同时认为,使用先进的工具进行回归测试、静态分析与动态模拟是十分有必要的:“与以往不同,人们只有通过相应的工具才能驾驭日益复杂的信息系统。”
软件开发者还应该关注那些难以对付的代码,以及造成这些问题代码的原因。这样一来,软件维护自然就不成问题,对软件的改动也不会对软件产生灾难性的影响。“一些问题代码也许平时只是躺在那里,开发者对于它们也无能为力。但也许一次软件更新就能触发这些问题代码。”所以说,导致问题的通常不是软件更新本身,而是更新所带来的‘副作用’。
IT成本同样也是一个不小的问题,大型企业由于欠佳的软件质量,甚至会花费上亿的IT成本,而这些成本往往是不必要的。面对如此庞大的IT成本,头疼的不止是企业的CIO,而更多是CEO了。
Bill Curtis博士在全球领先的软件质量分析与检测工具软件公司CAST担任高级副总裁、首席科学家以及CAST研究实验室的负责人。他同时也是CMM (能力成熟度模型) 的创立者,曾先后在美国卡内基梅隆大学软件工程研究所(SEI)与美国IT软件质量联盟(CISQ)担任重要职位。在Bill Curtis博士的带领下,CISQ开展了软件计量与软件代码结构性质量特征的国际标准制定。
转载《2017年应用软件健康度研究报告(2017 CRASH Report)》全文,www.castsoftware.com
云表是一个免代码的软件开发平台,云表可以像excel一样进行普通数据处理,更像是一个神奇的魔方,完全可以设计像ERP这样的真正的管理系统,当然,不管用云表做什么操作都像画excel表格一样简单,普通excel用户都能轻松应对,比如说你想做一个进销存、WMS仓库管理软件、OA、薪资核算系统、设备管理系统、生产管理系统、物料需求管理系统、销售管理系统、CRM、BOM管理、MES、办公用品管理软件、PLM……那都不是事儿。
云表(也叫云表企业应用平台)
通过画表格开发管理软件的纯中文开发工具。
适应全行业各种场景应用,可以与主流信息系统无缝集成。
开发过程无需编程像搭建积木一样简便快捷、功能扩展同样方便。
非常适合软件开发者、软件代理商和企业管理精英用来开发个性化管理系统。