[这是我参与「第三届青训营 -后端场」笔记创作活动的的第4篇笔记】 why为什么要有流程
what 有哪些流程
how怎样执行流程
1.1团队规模和流程的关系
想法------>产品
个人开发者是不需要流程
超过一个人的团队就需要协作
随着团队规模上升,会出现全新的问题
1.2传统的瀑布模型
工作流程直观表达
定义了标准的研发阶段
以流程为本,理想化模型
\
1.3敏捷开发
1.4The Scaled Agile Framework(SAFe)简介
需求阶段
不要浪费时间讨论不应该存在的问题
特斯拉进行生产线自动化的时候,又一个零件的安装自动化总是出问题,特斯拉的工程师为了优化这个自动化流程,投入了大量的资金和精力。
后来马斯克问他们的技术人员,为什么需要这个零件,结果发现大家居然并不清楚。最后证明其实在电动车上,根本不需要这个零件。
所以围绕着这个不应该存在的问题,进行了大量的投入,造成了很多浪费。
mvp(minimum viable product,最小化产品)
开发阶段
2.2云原生下的开发
传统虚拟机
在屋里主机中虚拟出多个虚拟机,每个虚拟机拥有自己的操作系统
运维人员维护和交付虚拟机
每个虚拟机中都要安装相应的依赖环境
容器化
容器是在操作系统中虚拟出来
通过cgroup,namespace和Union Mount等技术实现了容器之间的相互隔离,同时容器只有很低的开销
应用和其依赖作为一个整体,打包成镜像交付
2.3团队的分支策略
2.4代码规范,自测和文档
测试阶段
发布阶段
运维阶段
流程怎么优化
技术的发展会带来质量和效率的同时提高
将质量保障融入到流程,将流程自动化
从需求到上线全流程自动化,同时提高质量和效率