IBM的“软件危机”的概念被提出来了!

作者 | 万佳

1960 年代,IBM 开发了 OS/360 操作系统,这是第一个非常大的软件项目,非常复杂。当时一共有大约1000名程序员参与了该项目的开发,耗时5000人年,最终没能跑起来。项目负责人布鲁克斯博士后来写了一本关于软件工程的经典著作《人月的神话》。

IBM的经历并非孤例,它反映了当时软件行业面临的困境——随着软件越来越复杂、规模越来越大,在软件项目的开发和维护过程中不断出现问题:软件产品质量低劣、不断上涨成本、进度不可控、开发人员无限增加和繁重的软件维护工作量。于是,提出了“软件危机”的概念。

1 软件工程:企业“不能照他们说的做”

1970年代后期,在北大西洋公约组织科技委员会的一次会议上,为了应对和克服软件危机,首次提出了“软件工程”的概念。

软件工程定义:为了经济地获得在真实机器上可靠运行的软件而制定和使用的合理工程原则。

简而言之,软件工程就是以一种工程方法规范软件开发,按照步骤和流程进行软件开发,保证软件项目的顺利交付。

软件工程已经发展了几十年,从瀑布模型到敏捷开发。虽然“软件工程”现在已经成为软件行业的高频词,被很多企业视为标准,但很多企业“说是做,但不是做”。

2 软件研讨会,很多问题

软件工程的理念强调科学的方法、高效的管理和先进的工具,因此对企业的综合能力要求很高。现实中,受环境和各种条件的限制,很多企业不具备相应的能力和水平。他们主要以车间的形式开发软件,即软件车间。

软件作坊具有一些典型特征:团队规模小、过度依赖人工、开发效率低、流程不规范、软件产品质量低。

这种车间式软件开发的一个大问题是效率低下。

一位资深程序员说:“作坊式生产出现的原因有很多,比如缺乏专家指导、项目交付周期太短等等,所以很多公司直接用穿梭机起步。这种方式是存在的存在很多问题,如缺乏软件设计和架构支持,缺乏标准化流程,容易出现软件质量问题,一旦出现缺陷,很难跟踪解决。 “

作坊式软件开发除了效率低下,还有两大问题:一是软件或系统稳定性差,二是运维成本高。

某大厂资深程序员指出,即使在大厂里,如果管理不善,代码库也是一团糟。相比作坊式软件开发的“无规律”,大厂受制于规模,必须通过标准化指导和流程约束,才能保证软件质量。但是,实际效果取决于执行。

3 产品不保,后果会死人

更重要的是,以工坊形式开发的软件bug多,代码质量差,安全性低。一旦应用到生产环境中,小的会影响企业的业务,大的则会带来灾难。

回顾软件的历史,失败的软件项目数不胜数。据悉,电气和电子工程师协会(IEEE)有一个专门的网页,以墓碑的形式将过去十年著名的失败软件项目可视化。这些项目累计造成近700亿美元的损失。

除了直接的经济损失外,一些失败的软件项目还会危及人们的生命。

Therac-25 是由加拿大原子能有限公司 (AECL) 生产的放射治疗机。1985年至1987年间,美国和加拿大至少有6起与Therac-25相关的医疗事故是由程序漏洞引起的,导致部分患者受到比正常剂量高100倍的辐射,造成重伤甚至死亡.

2018 年,一架波音 737 Max 8 喷气式飞机坠毁在印度尼西亚的爪哇海,造成 189 名乘客和机组人员死亡。2019 年 3 月 10 日,一架埃塞俄比亚航空公司的波音 737 MAX 8 在飞往肯尼亚内罗毕的途中坠毁。这架飞机载有 149 名乘客和 8 名机组人员,但无一人幸存。波音 737 Max 在两次坠机后已被全球主要航空公司停止服务。坠机的一个重要原因是飞机的软件问题。

2021年,由于软件问题,西安一马通半个月内两次死机。据悉,12月20日,西安市“一码通”系统因交通拥堵而崩溃。2022年1月4日上午9时,西安易雅通第二次坠毁。那时,西安开始了新一轮的核酸筛查。不少西安网友反映,“西安一码通”系统再次崩溃,无法显示疫情防控密码。#西安一码通#话题一度冲上微博热搜榜首。于是,西安易才通“一夜成名”。

无论是 Therac-25 事件,波音 737 Max 事故,还是西安易财通空难,都在不断提醒我们,软件非常重要,它在人们的生产生活中发挥着巨大的作用,不容忽视.

自新冠疫情出现以来,软件变得越来越重要。对于人来说,进出小区要健康码,公共交通要健康码,上班也要健康码……没有健康码,根本就什么都做不了。健康码和电子核酸证明已成为堪比身份证的关键“基础设施”。一旦软件出现故障或死机,将严重干扰人们的正常工作生活和防疫大局。

从深层次来看,软件重要性的提升体现了社会数字化进程的加速,人们的生产生活对软件的依赖程度越来越高。新冠疫情爆发后,电子商务、在线教育、远程医疗、在线办公等新模式加速发展,数字化不断渗透到人们的工作和生活中。

从某种意义上说,软件已经成为数字时代的基础设施,就像工业时代的蒸汽机一样,它不仅改变了世界,还在改变着世界。

4 走出软件工坊,为数字经济打下坚实基础

由于软件的重要性日益提高,企业只有走出软件工场,真正践行软件工程的理念,才能开发出成功的软件,从而为数字经济打下坚实的基础。

然而,企业在当今软件开发中遇到了三大挑战:挑战一是与人有关。真正精通技术或能够解决关键技术的人很少。大多数技术人员或工程师主要做功能性的事情,即满足软件所要求的功能。然而,随着互联网的发展和技术的进步,用户对软件的需求不仅限于功能,还包括稳定性、质量和安全性。对于企业来说,很难找到合适的人。一旦业务快速发展,企业需要招聘更多的人,随着人员规模的扩大,企业面临管理问题。

挑战二与技术栈有关。今天,技术堆栈是多种多样的。从Web2.0到Internet+,技术赋能的形式正在快速迭代。几乎每三年,新概念就会成熟,技术栈也会相应地发生变化。具体到某个领域,比如前端,几乎每18个月就会有一次更新迭代。对于企业来说,技术栈的选择是至关重要的,一旦出现错误,系统设计可能就要大修。

第三大挑战涉及开发工具和投资资源。随着业务的快速发展和硬件资源的不断增加,“堆资源”的结果是硬件资源闲置,效率没有相应提高,也带来了管理问题。

针对行业问题,记者专程采访了新一代Java开发工具飞算SoFlu的开发者——飞算云智总裁陈定伟。在陈定伟看来,以上三个问题可以归结为一点——现在大多数企业面临的最大挑战是如何降本增效。

5 降本增效

事实上,企业只有走出软件工场,才能真正做到降本增效。否则,就一直处于作坊式软件开发阶段,企业效率无法提高,成本无法降低,将永远被困。

走出软件工场的核心之一就是提高效率。在我看来,提高效率不仅是业务的本质,也是软件开发的关键。

在商业史上,效率提升的代表人物是福特。作为美国汽车之父,福特大大提高了工厂的效率。核心措施之一是流水线作业。在装配线操作出现之前,汽车行业完全是手动的。一个人组装一辆车需要728小时。而在福特工厂,通过不断改进,在 1925 年,每 10 秒就可以生产一辆汽车。效率的提高使福特汽车的成本下降,价格下降,需求上升。1911 年,一辆福特 T 型车售价 780 美元。到 1916 年,T 型车的价格已经下降到 360 美元,福特的市场份额从 1911 年的 20.3% 增长到 1914 年的 48%。

除了流水线作业软件工程不想打代码,福特提高效率的措施还包括重新设计工厂,不断引进更先进的机器设备,即采用“先进的生产工具+先进的生产方式”来规范生产流程。

从业务到软件开发,企业如何降本增效?关键是提高效率,也可以称为提高研发效率。腾讯T4级专家茹炳生曾用一句话总结研发效率——更高效、更高质量、更可靠、更可持续地交付更好的商业价值。

无论是研发效率还是提高效率,最直接有效的方法就是使用新的生产工具(软件开发工具/平台)。

俗话说:“工欲善其事,必先利其器”。优秀的软件开发工具不仅可以大大提高工作效率,让产品更快上线,还可以减少开发人员个人经验不足的影响,避免人员离职造成的交接不畅等问题。

在某种程度上,软件开发是一个由人和工具构建的世界。在这里,没有工具,不可能移动一英寸。据了解,写代码,业内有VS Code、IDEA、Vim、Emacs等工具;审查代码,业内有 GitHub PR;寻找特征或缺陷,业内有 GitHub issues 和 Jira 等工具;对于部署和监控,有 Kubernetes、Prometheus、Grafana 等工具。

这些是软件工程师的专业工具。随着技术的发展和工具能力的下沉,非专业开发者的工具应运而生,通常是低代码工具。

众所周知,低代码工具在去年开始流行。根据 Infolob 研究,低代码应用保持 40% 的年复合增长率,预计到 2022 年,低代码应用市场总额将达到 212 亿美元。研究公司 Gartner 预测,2024 年,65% 的应用软件开发活动将通过低代码方式完成,75%的大型企业将使用至少四种低代码开发工具进行应用程序开发。

与以前的软件开发工具不同,低代码工具抽象出基础设施的复杂性,允许非开发人员直观地构建和部署应用程序以加速业务开发。

但也有业内人士指出低码平台的诸多改进,“在当今很多企业的认知中,低码平台本质上只能解决简单的工作流,而很多低码平台都是基于BPM的。由流程引擎实现,将设计形式作为应用数据进行播放,无法实现复杂的功能和逻辑;开发的内容需要绑定现有的系统或系统软件工程不想打代码,通过低代码生成的服务或应用平台必须与平台绑定,因此很多功能只能依赖特定的低代码平台才能实现,这样在很大程度上无法保证系统的质量和安全;大多数低代码代码平台是前端,使用脚本语言。”

那么,行业中是否有结合低代码工具和传统软件开发工具优势的“新物种”呢?我们从中国一家大型国有企业的经验中观察到了一个答案。

2020年,公司组建了近100人的团队,开发电商平台。但项目启动后,系统运行稳定性不佳,信息安全存在隐患,功能优化亟待解决。这些问题不能在短期内仅靠 IT 团队的能力来解决。

据其负责人介绍,一方面,平台的修复工作量巨大,因为平台涵盖了产品推荐、下单、客服、秒杀等众多复杂单元,以及系统优化所涉及的开发量。很大; 另一方面,IT团队的发展水平参差不齐。一起。开发进度受团队能力影响,人工编码标准不统一,代码质量参差不齐,需要经常返工。此外,项目时间紧迫。由于电商平台是集团年度重点,线上需求迫切。

遇到的难题如何解决?他们尝试了一款全自动开发工具“飞栓SoFlu全自动软件工程平台”,仅用6人就完成了系统改造。在使用 SoFlu 的过程中,整个团队调整了思路,将原来的手工编码开发模式替换为可视化界面开发,可以清晰地遵循业务逻辑,最大限度地满足业务功能的开发需求,效率大大提高改进;同时采用标准化组件保证代码质量,使用平台提供的组件满足标准验收标准进行开发,杜绝人工编码带来的代码质量问题,为团队节省大量时间和成本审查代码并修复错误。

此外,该负责人还表示,之所以选择飞栓SoFlu全自动软件工程平台,也是因为它集成了符合三级保障要求的安全规范和管理模式,能够有效保障系统电子商务平台的健壮性和安全性。.

最终,一个6人的小团队在45天内完成了开发-测试-联调-上线的全流程,从源头上降低了系统维护的难度。

据了解,飞栓SoFlu全自动软件工程平台作为新一代Java开发工具,短短一年时间,已为八大行业的数百家客户提供了全自动软件工程服务,帮助客户走出了软件工场,实现软件工程。整个工程过程是自动化的。

6在最后

相比于被称为低代码元年的 2021 年,或许 2022 年很快将成为全自动开发元年。以SoFlu全自动软件工程平台为代表的全自动开发工具,将助力行业实现真正的降本增效,成为行业舞台中央的主角。

2022年初,从自动化工具入手,一起走出软件工坊!

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论