从需求到上线全流程| 青训营笔记

112 阅读2分钟

这是我参与「第三届青训营 -后端场」笔记创作活动的的第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:发布、部署、运行、监控

Snipaste_2022-05-17_15-58-06.png

课后个人总结

PM?

Project Manager。项目主管或项目经理

PO?

Product Owner。产品或业务负责人