我对Ai Coding的几点认知:软件开发周期的变化
一、写在前面的话:
随着Ai Coding的普及,传统的软件开发生命周期和参与进来的人员角色会发生很大的变化。
结论1:
涉及到人为沟通的部分会锐减,甚至消失。
结论2:
涉及到开发领域不同角色之间的协作会聚合到一起,边界会变得模糊,甚至不再存在。
通过研究软件开发的生命周期,我们会发现,它主要是为了解决两个问题:
1.复杂事情的拆解问题,目的是为了让更多的人能参与进来,然后加快整个事情的完成速度。也正因为如此,才产生了不同的开发角色,比如:架构师,开发人员,测试人员等等。
2.人与人沟通和协作的问题,因为引入了更多的人参与进来,这种个体差异势必会导致沟通和协作存在问题,这就产生了围绕这部分事情的标准sop,工具和专门的协调人。
在Ai Coding引入之后,我们发现了一个很明显的事情,“Ai 很强大,具备很强的能力,它成为了一个全能型选手,可以一个人做很多事情!”
如此以来,我们想加速软件的产出,是完全没有必要让更多的人参与进来。这就会导致下面的结果:
结果1:软件行业里面涉及到人的沟通和协作的环节会锐减,甚至消失!
结果2:软件生命周期里面不同节点环节会统一,聚合成一个,只留下入口和出口。
二、传统的软件开发方式

软件生命周期各阶段角色职责
1. 需求分析阶段
产品经理:负责收集并文档化用户需求。
UI设计师:设计界面原型并参与需求评审。
质量保证:制定需求评审标准。
2. 系统设计阶段
架构师:定义系统架构与技术选型。
项目经理:协调资源与制定里程碑。
数据库管理员:规划数据库模型与性能指标。
3. 开发实现阶段
开发人员:按模块编码并提交代码。
UI设计师:实现视觉组件。
质量保证:制定开发阶段测试点。
4. 测试验证阶段
测试人员:执行功能与回归测试。
质量保证:制定测试用例并监督执行。
运维人员:参与灰度发布环境搭建。
5. 发布运维阶段
运维人员:部署上线并监控运行状态。
项目经理:跟进发布后反馈。
质量保证:收集生产数据并推动持续改进。
三、Ai Coding后的软件开发方式
特别说明: 这里是笔者个人的推演!

产品负责人:
来源可以是新加入行业的新人,原来的产品经理、需求分析师、架构师、开发人员、测试人员这些。
对他们的要求是能够借助Ai完成需求拆分、设计和验收的能力。
Ai开发者:
来源可以是新加入行业的新人,原来的架构师、开发人员、测试人员、运维人员这些。
对他们的要求是能够借助Ai 实现功能,识别开发阶段的产品质量好坏,保证交付,维护存量代码。
特别说明:
如果你对这部分内容感兴趣的,欢迎你在留言区进行交流!
夜雨聆风