当时提出敏捷开发的这个人或者这个群体,
提出来的是敏捷开发的四个价值观:
- 以人为本:重视个体间的合作互动
- 目标导向:我们最终交付的是“可使用的软件”,而不是一堆繁重的文档
- 客户为先:理解客户需求,与客户合作
- 拥抱改变:客户会在不断变化需求的过程中明晰真正需要的,因此敏捷需要拥抱变化
了解Scrum 是什么很重要

Scrum的主要角色
Scrum 主要定义了三个角色:Scrum Master,Product Owner,Development Team 。
Scrum Master 不是Project Manager, 他的主要的工作是要保证这个团队执行 Scrum 的顺畅。Product Owner 是真正对产品负责的人。如果我们是做产品研发的话,产品经理就是Product Owner。如果我们是做项目开发,客户就是Product Owner,这也体现了我们刚刚提到,我们并不是和客户去谈判,而是真正把客户放在我们的这种流程中,真正与他合作。第三种 Development Team 就是干活儿的。
所以 在Scrum 里面没有管理者的概念 。另外,Scrum 里面实际上所有的真正为最终产出的软件付出的,都叫Development Team。这个地方也体现了一个Scrum 的观点,就是它希望能够打造Cross-Functional Team,即在这个团队中的所有人可以做所有的事情,每个人都是Development Team。
Scrum的开发流程
Step1. 需要一个 Vision
真正Scrum 的流程是什么样子的?首先,我们需要有一个Vision ,就是我们所做的产品或者所做项目的愿景。这个需要所有Team Members,包括Product Owner 一起确定,然后大家朝着同样的目标前进。
在产品开发中,我们可以以每个迭代为一个Vision。
Step2. 维护Backlog(计划)
Vision 出现后,Product Owner 会维护一个Scrum 中我们提到的第一个文档,即 Backlog。它可以理解成我们从产品当中,从各个角度收集的需求, Product Owner 要做的事情就是维护Product Backlog,并且将Backlog 一条一条的按照优先级排好顺序。Product Owner 是唯一有权利维护这个列表的人。
Step3. 拆分Sprint(迭代)
随后我们会针对这个Scrum 把它拆分成一个个的Sprint ,就是开发周期。然后将 Backlog 里面的项目添加到Sprint 中去,成为Sprint Backlog。每一个Sprint 开始的时候,需要进行一个Sprint Plan。
Step4. 运行Sprint Plan
Sprint Plan 就是整个团队一起,通过Backlog 从优先级最高的这个item 开始挑,挑出Product
Owner 对Backlog 进行介绍。紧接着的是,大家将Backlog 拆分成单个的Task,每一个成员在每一天的工作当中领Task,完成Task。
由此可见,在完美的Scrum 里面,是没有任务指派一说的。每个成员会根据任务、完成度,去及时更新任务的状态。为了让大家了解整个项目的进度,Scrum会引入白板(在墙上或者在板子上钉好多的小纸条,让大家明确项目进度和任务完成情况)。
Step5. Daily Scrum
在Scrum run 起来之后,还有一件事情是Daily Scrum 。在 Daily Scrum 中,每个成员只需三件事情:
- 昨天我完成了哪些事情
- 今天我打算做哪些事情
- 我有遇到哪些问题,如何解决
Daily Scrum 一般来说会控制在15分钟之内,而且所有的成员必须要站着开会。
Step6. Sprint Review
当Scrum 结束后,我们会产出一个产出物。这个产出物在Scrum 里面,可以是一个可以运行的软件,也可以是一个可展示的功能。之所以这么说是因为有一个Sprint Review 的阶段,我们需要通过Demo 在Product Owner以及其他的Stake Holders 面前,现场演示你做好的东西(而不是给大家讲你做了什么)。
Step7. Retrospective
在Sprint Review 结束之后就是Retrospective。我们整个团队的人都要坐下来聊一聊,我们的Sprint(迭代)做得好不好,有哪些地方需要修改。
整个过程都结束了,接下来干啥?
这时候我们可以选择发布新版本、获取用户反馈、规划新功能或者修复bug。持续性的发布、学习、再建,这一系列过程让敏捷在管理方法中异军突起。
比起单纯的靠产品需求清单来执行项目,在敏捷指导下,我们可以通过不断发布新版本来看看客户的反馈。相比花一年时间来开发和发布,然后发现缺失核心功能的传统方法,敏捷能在每次迭代后迅速发现问题,并在下次迭代中及时调整。
研发团队如何使用敏捷
在Scrum中,产品经理和项目团队紧密协作,一起定义目标、梳理产品需求清单。清单中通常会包含产品特性、修复bug、非必要功能需求以及其他要在交付时完成的工作。
有了产品清单,产品经理就会开始确定需求优先级,研发团队通常会在接下来30天左右的迭代中产出“潜在可交付版本”。当研发团队制定了迭代清单后,除了团队成员外,任何人都不能再加入需求。当一轮迭代完成后,全员再次分析需求清单、划分需求优先级,然后进入下一轮迭代。
我团队应用Scrum所收获到的
- 团队工作效率提高。
- 任务分工明确。
- 有效的避免了迭代出来的东西无法符合产品需求。
- 团队之间配合默契度有所提高。