开倒车重回文档化:软件工程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时代要求开发者适应以大模型为核心的全新开发理念,拥抱工具革命,构建详尽的知识体系和结构化文档,以实现效能的跨越式提升。
高质效交付
高质效交付
扫码关注公众号
还在用多套工具管项目?
一个平台搞定产品、项目、质量与效能,告别整合之苦,实现全流程闭环。
查看方案
高质效交付的其他文章
单测覆盖率:不要逼人造假
上级领导或者过程改进部门对单元测试的抓手往往是代码覆盖率这个指标。然而这容易演变成“做给上边看”。那应该怎么做呢?
LLM支持软件开发的窍要:喂什么,吐什么
要想在软件开发过程中用好大模型,让它靠谱地为你工作而不是胡扯,那就要提供给它合适的信息。这是喂什么。而另一方面,你和大模型也要一起协作,输出合适的信息,以便将来大模型使用。这是吐什么。
从早安营养卷到DevOps评估
1. 把图灵根香肠也塞到卷卷里。\x0d\x0a2. 不要番茄酱。\x0d\x0a3. 薯饼拿出来单吃。\x0d\x0a4. 薯饼皮和薯饼瓤分开吃。
太粗暴了!拿单测覆盖率当质量门禁
有的改进是自下而上自发的,有的改进是自上而下推的。拿单元测试的测试覆盖率当质量门禁这种简单粗暴的事儿,一准儿是后者。
AI加持的UI自动化测试:剧变前夜
AI对软件测试领域真正的颠覆是在自动化UI测试,而不是单元测试/接口测试。
加入社区微信群
与行业大咖零距离交流学习
PMO实践白皮书
白皮书上线
白皮书上线