• 代码信息化:软件业“第二次工业革命”的契机


    软件行业面临最终产品信息化瓶颈

    如今,快递、外卖等行业通过信息系统实现了精准的产品和服务数字化管理。快递软件可以实时追踪每个包裹所在位置,调配最佳物流链路;外卖软件根据客户评价、菜品销量等数据持续优化产品和服务。这些成果都有赖于软件行业多年来对各行各业数字化建设的支持。
    然而讽刺的是,软件行业自己最终的产出——源代码,几十年来一直是信息的黑箱。我们无法像查询图书数据库那样,快速准确地搜索代码内的内容。哪怕只是更改一个函数接口,也无法立即知晓会对项目造成什么影响。代码类似企业的“脑细胞”,它记录了每个项目的全部信息和知识,但我们没有建立代码的“神经网络”,来实现项目知识的有效流通。

    代码信息化:颠覆软件开发现状的一个出路

    目前,软件开发中的各岗位人员在沟通和协作时,主要依赖的仍是需求文档。但文档往往在开发后就失去价值,很多细节必须依靠口头交流,沟通成本極高。敏捷开发强调“工作软件”大于“详细文档”,虽提高了开发速度,但代码知识流通的问题仍未解决。随着项目复杂度提高,信息孤岛已成为软件业的发展瓶颈。
    如果实现代码信息化,其影响将是革命性的:
    1)开发者能快速定位代码变更影响,不再依赖经验,开发效率可提高数倍
    2)测试人员可以利用代码知识设计完善的测试方案,大幅减少软件Bug
    3)项目经理可以直接分析代码评估进度和风险,不再“盲人摸象”
    4)产品经理可以用代码数据做产品决策,快速响应用户需求
    5)业务部门可以直接查询代码,不再重复提供需求信息
    6)运维人员利用代码知识快速定位、解决故障

    当代码成为可搜索的知识库后,软件开发将真正实现“自动驾驶”。各岗位均可以自主从代码获取所需信息,开发生命周期将无缝衔接。人与人之间的沟通成本大幅降低,软件质量将达到新的高度。
    代码信息化解决了当前软件业“失忆”的现状,知识无法有效流通与积累。它就像互联网连接了分散的计算机资源,软件开发将由碎片化协作进入快速流水线模式,释放巨大生产力。这是软件行业实现突破,颠覆现有开发模式的唯一出路。各方正积极尝试机器学习等新技术,让这一革命性变革快速实践。

    软件开发模式亟需从理论上获得突破

    软件业拥有70年历史,开发模式从瀑布模型到敏捷开发已有巨大进步。但近10年来,低代码、无代码平台的兴起并未对行业发展造成根本性颠覆。因为它们更多是从工具层面降低编码门槛,而没有从本质上减少软件交付的复杂性。复杂的需求获取、设计、开发、测试、交付流程仍存。
    在全面实现了CI/CD之后,细微的流程改进已难以对软件开发产生量级影响。要获得突破,必须从理论上对软件业进行流程再造,而非仅就现有的工作模式进行优化。例如,针对代码信息化障碍的理论研究可建立起新的软件开发体系。
    如果代码成为可搜索的知识库,软件开发将焕然一新:需求可直接转换为代码,自动生成代码框架;设计者可通过组装代码实现模块,无需定制开发......。开发模式将从“手工制造”进入“大规模自动化”阶段。
    代码知识的连接流转,就像电力网络的建立,彻底改变了交付形式。各开发环节打通信息壁垒,软件产品从设计到交付进入自动流水线模式,开发效率提升数倍乃至更多。这将是软件业发展的又一次大潮。如同互联网连接起分散的计算资源,代码知识的有效组织连接也会释放软件开发的巨大生产力。理论研究应聚焦源代码信息化这一本质问题,揭开软件开发新的纪元。
  • 相关阅读:
    PYTHON用[有向图-邻接表]来描述社交网络中的[关注关系]
    CSP 202005-1 重复局面
    嵌入式硬件工程师与嵌入式软件工程师
    M1、M2、M3、M4、M5、M6、M7硅整流二极管、型号参数、如何判断贴片二极管的好坏?
    Python 教程之运算符(12)a += b 并不总是等价于 a = a + b
    pxb 使用物理备份恢复数据库
    Serverless冷扩机器在压测中被击穿问题
    DNS系统
    用友vs金蝶产品分析(云星空与YonSuite)
    01背包-采药
  • 原文地址:https://www.cnblogs.com/Chinese-xu/p/17681662.html