开倒车重回文档化:软件工程3.0时代的重要特征
版权声明
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
高质效交付
扫码关注公众号
扫码阅读
手机扫码阅读
文章主旨:
通过将隐性知识显性化,并采用结构化文档与流程化工作方法,大语言模型(LLM)可以显著提升软件开发效率,推动软件工程从2.0迈向3.0时代。
关键要点:
- 当前大语言模型对软件开发效率提升有限,主要原因是缺乏隐性知识。
- 隐性知识在软件开发过程中至关重要,包括业务知识、代码架构、需求细节等。
- 解决方案是将隐性知识显性化,通过详尽、全量且结构化的文档,让大模型高效获取相关信息。
- 软件工程3.0要求流程和工具的重要性增加,文档必须具备结构化且清晰的特性。
- 软件工程3.0代表着软件开发方法理念的重大改变,是对软件工程1.0和2.0的一次范式升级。
内容结构:
-
【写在前面】
作者介绍了朱少民教授的《软件工程3.0》一书,并引用其中对软件工程1.0(经典软件工程)、2.0(敏捷/精益/CI/CD/DevOps)和3.0(大模型加持)的概念划分,为文章内容奠定基础。
-
一. 现实很骨感:大模型提效有限
尽管大模型在软件开发领域备受关注,但调查显示其效率提升仅17%。这远未达到最初的预期,问题主要在于大模型无法掌握开发过程中的隐性知识。
-
二. 原因:大模型不掌握隐性知识
大模型的短板在于缺乏记忆和隐性知识积累,这种知识包括业务背景、代码架构、需求细节等,是人类通过长期经验积累获得的,而大模型只能依赖prompt的内容来进行回答,导致其在复杂任务中的表现受限。
-
三. 解法:隐性知识显性化
要发挥大模型的潜力,就需通过以下措施将隐性知识显性化:
- 需求文档要细致清楚,明确开发和测试依据;大模型可参与需求评审与规范化。
- 维护全量版本的需求文档,而非仅有条目化增量内容,以便于完整理解软件当前状态。
- 文档需具有良好的结构,包括层级结构、参考链接和知识图谱,帮助大模型高效学习和工作。
- 设计文档、代码库说明、测试用例等均应实现结构化和清晰化,大模型可协助生成和维护这些文档。
-
四. 小结:软件开发方法理念的重大改变
软件工程3.0强调详尽文档和规范流程的重要性,以方便大模型高效工作。这一范式升级是工具革命驱动下的螺旋式演进,将隐性知识显性化作为核心理念,与软件工程2.0的“轻文档”原则形成对比。
文章总结:
软件工程3.0时代要求开发者适应以大模型为核心的全新开发理念,拥抱工具革命,构建详尽的知识体系和结构化文档,以实现效能的跨越式提升。
高质效交付
高质效交付
扫码关注公众号
还在用多套工具管项目?
一个平台搞定产品、项目、质量与效能,告别整合之苦,实现全流程闭环。
查看方案
高质效交付的其他文章
太粗暴了!拿单测覆盖率当质量门禁
有的改进是自下而上自发的,有的改进是自上而下推的。拿单元测试的测试覆盖率当质量门禁这种简单粗暴的事儿,一准儿是后者。
代码评审:很多情况下都没必要
测试的核心追求目标是用最有效率的方式让质量达到一个合适的程度。以此来衡量,不论青红皂白,评审所有的代码改动,真不一定是一个合适的策略。
GOPS演讲实录:AI4SE修炼之道——从小工到专家
在软件开发过程中,如何让大模型从当前像小工一样的辅助角色,变成高质高效开发的资深专家?这需要把隐性知识显性化。上个月末GOPS大会闭幕大咖秀环节讨论了这方面的内容。本文做了整理,以图文的形式展现出来。
分支方案分析设计的利器:按层次来
来到一个项目,怎么设计一个适合它的分支方案?又或者,拿到一个分支方案,怎么能看出来它合适不合适?从何处着手去分析它?
从软件工程到AI工程
软件开发需要软件工程,AI开发需要AI工程。
加入社区微信群
与行业大咖零距离交流学习
PMO实践白皮书
白皮书上线
白皮书上线