软件开发执行方式 - SCRUM

在软件开发中很常听到 SCRUM 这个字,本身是待在软件业当PM公司没有跑到非常正规的 SCRUM ,因此上网查了一下 SCRUM 的相关内容,今天透过这篇来和大家分享。


SCRUM 到底是什麽?

如同标题是软件开发的一种方法,之前其实有和在硬体产业的PM讨论过,到底硬体公司是否适合跑 SCRUM,但其实硬体产业有些难度,原因是 SCRUM 的精神是透过高效的方式,提供有质量的产出,但硬体的开发本身就受到一些限制存在无法高效,因此在硬体产业中导入 SCRUM 会有很大的门槛。

核心概念

  • 强调 经验主义(Empiricism)和 精实思想(Lean Thinking)
    • 经验主义(Empiricism):知识的累计是透过经验和体察而来的。
    • 精实思想(Lean Thinking):减少不必要的浪费。
  • 透过迭代和增量的方式进行优化和控制风险。

角色

  • 产品负责人(Product Owner): 主导产品相关事务的人,包含使用情境、使用需求、上线时间等,并且协助做产品的优先级排序。
  • 敏捷教练(Scrum Master): 领导团队按照 SCRUM 的的方法进行软件开发,若是中间有遇到问题会从旁协助。
  • 开发团队(Developers): 协助把产品做出来的人,团队的组成是跨职能的,因此组成的成员包含产品经理、设计师、工程师、测试工程师。

产出内容

  • 产品待办清单(Product Backlog): 此清单包含需求的待办清单,还有工程端提出来的待办清单,因为在一次 Sprint 里面团队只会为了一个目标做冲刺,因此这两个待办清单要一起做排序。
  • 冲刺清单(Sprint Backlog): 此次 Sprint 需要做到的内容有哪些。
  • 燃尽图(Burndown Chart): 此次 Sprint 执行的阶段到哪边,还剩下多少时间能够冲刺。

会议

  • 冲刺计画会议(Sprint Planning Meeting): 此会议就是一个 Sprint 启动会议,会招集所有团队成员,由产品经理协助和大家说明此次 Sprint 要交付的价值是什麽,使用情境长怎麽样,每个情境的优先级排序,往下拆分此次 Sprint 的任务拆分。
  • 每日站立会议(Daily Standup Meeting): 每天早上都会进行这个站立的会议,每个人会在 3 分钟内快速分享一下以下的内容,让团队的所有成员知道目前 Sprint 的进度到了哪里是否在进度上。
    • 昨天做了什麽
    • 今天预计会做什麽
    • 目前遇到了什麽问题或是有需要协助的地方
  • 成果检视会议(Review Meeting): 通常在 Sprint 的最後一天会举办此会议,主要是展示这次 Sprint 产出的内容,同时确认是否和一开始 冲刺计画会议(Sprint Planning Meeting)里面的内容一样。
  • 回顾会议(Retrospective Meeting): 此会议就是一个 Sprint 收尾会议,会和团队一起回顾此次 Sprint 的整个执行过程,帮助团队在下次 Sprint 可以越做越好,回顾的内容会有以下几项:
    • 做得不错的地方: 在此次 Sprint 的过程中,是否有发现哪边执行的很棒,这些很棒的地方要一起带到往後的 Sprint 里面继续保持。
    • 待改善的地方: 在此次 Sprint 的过程中,是否有发现哪边执行的不太顺利有点卡卡的,下一个 Sprint 要想办法改善的地方,要注意 待改善的部分只针对事件不针对人。
    • 下次 Sprint 可以先改善的地方: 前向的待改善的地方有可能很多项,但其实在软件开发的过程中,很难一次改善所有的项目,因此需要先针对所有项目进行优先级排序,排序完後挑选 3 个项目要带到下一个 Sprint 里作改善,很有可能待改善的项目只有列出看到的问题是什麽,因此团队还要再进一不讨论可以改善的解法是什麽,这样才是完成一个回顾会议。

希望大家还喜欢今天分享的内容,因为公司内部没有跑到很正规的 SCRUM ,也很好奇大家的公司是否有跑 SCRUM ,非常欢迎大家在底下分享自身公司的经验。


<<:  Re: 新手让网页 act 起来: Day10 - React Hooks 之 useState (1)

>>:  ASP.NET MVC 从入门到放弃(Day20) -MVC模型(Model) Entity Framework

前端工程师也能开发全端网页:挑战 30 天用 React 加上 Firebase 打造社群网站|Day30 社群网站上线啦!

终於完赛了!感谢支持与追踪这一系列影片的朋友们!希望未来有机会可以再拍其他主题的影片和大家分享! ...

DAY2 安装 Docker

DAY 2 今天要来安装kubernetes,不过在安装k8s前我们需要先装docker,有关doc...

Transactions (3-1) - Weak Isolation Levels - Read Committed

前言 如果两个 transaction 没有接触到相同的资料,则它们可以很愉快的 并发 (concu...

[Day 30] Heroku Scheduler

架好服务器後,要订阅服务,就是要在一个时间点去捞设定资料并产生PDF并寄送email,写一个档案去做...

D9 文件系统核心开始 系统页面功能规划

今天先来规划一下後续的系统架构 先用文字版 等做完了再补上图片 首先使用者进入会先到首页 首页 使用...