软件行业面临最终产品信息化瓶颈
如今,快递、外卖等行业通过信息系统实现了精准的产品和服务数字化管理。快递软件可以实时追踪每个包裹所在位置,调配最佳物流链路;外卖软件根据客户评价、菜品销量等数据持续优化产品和服务。这些成果都有赖于软件行业多年来对各行各业数字化建设的支持。 然而讽刺的是,软件行业自己最终的产出——源代码,几十年来一直是信息的黑箱。我们无法像查询图书数据库那样,快速准确地搜索代码内的内容。哪怕只是更改一个函数接口,也无法立即知晓会对项目造成什么影响。代码类似企业的“脑细胞”,它记录了每个项目的全部信息和知识,但我们没有建立代码的“神经网络”,来实现项目知识的有效流通。代码信息化:颠覆软件开发现状的一个出路
目前,软件开发中的各岗位人员在沟通和协作时,主要依赖的仍是需求文档。但文档往往在开发后就失去价值,很多细节必须依靠口头交流,沟通成本極高。敏捷开发强调“工作软件”大于“详细文档”,虽提高了开发速度,但代码知识流通的问题仍未解决。随着项目复杂度提高,信息孤岛已成为软件业的发展瓶颈。 如果实现代码信息化,其影响将是革命性的: 1)开发者能快速定位代码变更影响,不再依赖经验,开发效率可提高数倍 2)测试人员可以利用代码知识设计完善的测试方案,大幅减少软件Bug 3)项目经理可以直接分析代码评估进度和风险,不再“盲人摸象” 4)产品经理可以用代码数据做产品决策,快速响应用户需求 5)业务部门可以直接查询代码,不再重复提供需求信息 6)运维人员利用代码知识快速定位、解决故障当代码成为可搜索的知识库后,软件开发将真正实现“自动驾驶”。各岗位均可以自主从代码获取所需信息,开发生命周期将无缝衔接。人与人之间的沟通成本大幅降低,软件质量将达到新的高度。 代码信息化解决了当前软件业“失忆”的现状,知识无法有效流通与积累。它就像互联网连接了分散的计算机资源,软件开发将由碎片化协作进入快速流水线模式,释放巨大生产力。这是软件行业实现突破,颠覆现有开发模式的唯一出路。各方正积极尝试机器学习等新技术,让这一革命性变革快速实践。