这是我参与「第三届青训营 -后端场」笔记创作活动的的第2篇笔记
本堂课重点内容
WHY:为什么要有流程
WHAT:有哪些流程
HOW:如果执行流程
详细知识点介绍
WHY:
-
团队规模和流程的关系
- 个人开发者不需要流程
- 超过一人的团队就需要协作
- 随着团队规模上升,会出现全新的问题
-
传统瀑布模型
- 把整个软件开发按照各个阶段排成直线,前一个阶段完成之后进行下一个阶段
-
敏捷开发
- 以更小的团队,更快速地进行迭代
- 团队小,可以围绕具体目标开展工作,团队成员之间的合作更加紧密
- 以人为本,和用户沟通
-
实际的例子
- The Scaled Agile Framework(SAFe)
WHAT:
-
需求阶段
-
不要浪费时间讨论不应该存在的问题
-
MVP(最小化可行产品)思想
- 先给客户一个简单能用的产品,再根据反馈逐步升级功能,最终变成用户想要的产品
-
四象限法
- 重要
- 紧急
-
-
开发阶段
-
云原生
- 容器化
- 微服务
-
团队的分支策略
- git
-
代码规范、自测和文档
-
-
测试阶段
- 测试伴随着开发的全部过程,需要在写完每一段代码之后立刻测试这段代码
-
发布阶段
- 蛮力发布
- 金丝雀发布
- 滚动发布
- 蓝绿发布
- 红黑发布
- ...
-
运维阶段
-
止损:尽快让服务恢复功能
周知:让服务的上下游感知到出了问题
定位:定位问题
修复:修复问题
-
HOW:
- 怎样让生活更美好
- DevOps
- 全流程自动化
实践练习例子
1.敏捷宣言是什么?
个体和互动高于流程和工具
工作的软件高于详尽的文档
客户合作高于合同谈判
响应变化高于遵循计划
2.Grooming meeting 的作用是什么?
产品负责人描述下个迭代希望实现的用户,由 PM 提出需求列表
3.我们为什么需要进行集成测试?
为了把不同的功能合并在一起测试
- 不同人开发的功能合并在一起测试,相互之间的影响可能产生缺陷
- 迭代发布的所有功能合并在一起测试,确保发布的所有功能之间的影响不产生缺陷
4.遇到线上问题,我们要做的四个关键动作是什么?
止损->周知->定位->修复
5.DevOps 包含了哪些流程?
Dev:计划、编码、编译、测试 Ops:发布、部署、运行、监控
课后个人总结
PM?
Project Manager。项目主管或项目经理
PO?
Product Owner。产品或业务负责人