Scrum Learning#
- 概念
Scrum是迭代式增量软件开发过程,通常用于敏捷软件开发。Scrum包括了一系列实践和预定义角色的过程骨架。Scrum中的主要角色包括同项目经理类似的Scrum主管角色负责维护过程和任务,产品负责人代表利益所有者,开发团队包括了所有开发人员。虽然Scrum是为管理软件开发项目而开发的,它同样可以用于运行软件维护团队,或者作为计划管理方法:Scrum of Scrums。
- 特性
scrum过程
Scrum是一个包括了一系列的实践和预定义角色的过程骨架(是一种流程、计划、模式,用于有效率地开发软件)。Scrum中的主要角色包括同项目经理类似的Scrum主管角色负责维护过程和任务,产品负责人代表利益所有者,开发团队包括了所有开发人员。
在每一次冲刺(一个15到30 天周期 ,长度由开发团队决定),开发团队创建可用的(可以随时推出)软件的一个增量。每一个冲刺所要实现的特性来自产品订单(product backlog,我觉得翻译成“产品目标”更恰当), 产品订单(产品目标)是指按照优先级排列的需要完成的工作的概要的需求(目标)。哪些订单项(目标项目)会被加入一次冲刺,由冲刺计划会议决定。 在会议中,产品负责人告诉开发团队他需要完成产品订单中的哪些订单项。开发团队决定在下一次冲刺中他们能够承诺完成多少订单项。 在冲刺的过程中,没有人能够变更冲刺订单(sprint backlog),这意味着在一个冲刺中需求是被冻结的。
管理Scrum过程有很多实施方法,从白板上的即时贴到软件包。Scrum最大的好处是它非常容易学习,而且应用Scrum不需要太多的投入。
- 项目管理
客户成为开发团队中的一部分。(例如客户肯定对开发的结果真正感兴趣。)和所有其他形式的敏捷软件过程一样,Scrum有频繁的包含可以工作的功能的中间可交付成果。这使得客户可以更早的得到可以工作的软件,同时使得项目可以变更项目需求以适应不断变化的需求。频繁的风险和缓解计划是由开发团队自己制定。– 在每一个阶段根据承诺进行风险缓解,监测和管理(风险分析)。计划和模块开发的透明 – 让每一个人知道谁负责什么,以及什么时候完成。频繁的进行所有相关人员会议,以跟踪项目进展 – 平衡的(发布,客户,员工,过程)仪表板更新 – 所有相关人员的变更 – 你必须拥有预警机制,例如提前了解可能的延迟或偏差。没有问题会被藏在地毯下。认识到或说出任何没有预见到的问题并不会受到惩罚。在工作场所和工作时间内必须全身心投入。– 完成更多的工作并不意味着需要工作更长时间。
- 心得
scrum让我对团队合作的方式有了一个新的认识,以往的团队合作是存在于固化思维中的简单分工:往往由团队负责人向成员分配任务,成员各自独立完成,经常是缺乏讨论的僵硬合作。而scrum的角色扮演式合作,不仅让客户群体融入到开发团队中,使功能开发更生动贴切,并且认领式的任务分配显得有趣而人性化。
teamwork
- 生活在长大需求导向
- 宇宙探索特工队
团队成员:谢晗阳,阳湘云,沈薇,朱芷兰
团队会议(第一次):
- 线上讨论组讨论项目内容
- 分析需求
- 设计功能
- 分配角色
- 个人
我:用户代表
任务:需求把控,团队召集,github上的版本发布管理
计划:扮演用户角色,站在用户角度考虑需求,包括功能需求和界面需求,思考一个怎样的应用程序才让用户愿意并喜欢使用。把控需求,不是一开始就固化需求,在后面的各个阶段也要不断改进完善,对开发版本提出客观看法和意见
- 团队中实现scrum的计划:
认真从用户代表的角色角度思考需求,并与开发团队(团队伙伴)沟通交流。积极参与项目开发,对项目需求进行维护改善,在github上发布并管理项目应用的不同版本,可以收集用户使用感受向开发团队反馈改进意见
引用部分来自Scrum_百度百科