GO 后端开发流程 | 青训营笔记

133 阅读3分钟

GO 后端开发流程

这是我参与「第五届青训营 」伴学笔记创作活动的第 11 天

1 为什么要有流程

  • 个人开发者是不需要流程的
  • 超过一个人的团队就需要协作
  • 随着团队规模上升,会出现全新的问题

写一个hello world很简单,我们从想法到实现真的只差一个程序员但是随着团队规模和问题复杂度的上升,一个人搞定一切就不可能了,就好比大家现在在青训营做的一些项目,很小的团队,其实是不需要有什么流程的,大家干就完事了,但是如果真的要开发一个抖音,那就不是大家下去写一星期代码然后就能写出来的。

1.1 团队规模和流程的关系

复杂项目没有流程会有什么问题:

  • 需求阶段:每个人都有自己的想法,团队决策需要有一个过程
  • 开发阶段:多人/多端协作开发,每个人有自己的安排,相互配合需要有一个
  • 流程测试阶段:产物怎样交付,测试如何开展,BUG怎么修都需要流程
  • 发布阶段:怎样确保发布过程平稳丝滑,版本和流量如何控制,需要有规范
  • 运维阶段:线上问题如何应急响应,处理用户反馈和线上问题需要有流程

1.2 传统的瀑布模型

  • 工作流程的直观表达
  • 定义了标准的研发阶段
  • 以流程为本,理想化模型

1.3 敏捷开发

敏捷开发原则:

我们一直在实践中探寻更好的软件开发方法,身体力行的同时也帮助他人。由此我们建立了如下价值观:

  • 个体和互动高于流程和工具
  • 工作的软件高于详尽的文档
  • 客户合作高于合同谈判
  • 响应变化高于遵循计划

也就是说,尽管右项有其价值,我们更重视左项的价值。

特定:

  • 以小团队快速迭代
  • 团队成员之间的合作更加紧密
  • 以人为本,和用户沟通

1.4 The Scaled Agile Framework(SAFe)

SAFe是一套管理框架

  • 精益产品开发
  • 敏捷软件开发
  • 系统思考

现代的Scrum

  • 敏捷教练 Scrum Master
  • 产品负责人Product Owner
  • 敏捷团队Scrum Team
  • 敏捷发布火车 Agile Release Train

1.5 我们团队的流程

人员&名词解释

  • RD:研发
  • PM:产品经理
  • PRD:需求文档
  • UED:用户体验设计
  • QA:测试
  • Scrum1:敏捷团队1
  • P/P1:优先级0/优先级1
  • Backlog:规划列表

会议解释

  • 待办事项整理会议(Backlog Grooming Meeting)

    产品负责人描述下个迭代希望实现的用户故事,PM提出需求列表

  • 迭代计划会议(Sprint Planning Meeting) 选择迭代的任务和估算工作量

  • 每日站会 (Standup Meeting) 昨天你做了什么? 今天你将要做什么? 你有需要帮助的地方吗?

  • 评审会(Review Meeting)小组向产品负责人展示迭代工作结果

  • 反思会(Retrospective Meeting) 在每个迭代后召开简短的反思会, 总结哪些事情做得好,哪些事情做得不好