乐于分享
好东西不私藏

我对Ai Coding的几点认知:软件开发周期的变化

我对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 实现功能,识别开发阶段的产品质量好坏,保证交付,维护存量代码。

特别说明:

如果你对这部分内容感兴趣的,欢迎你在留言区进行交流!