Scrum in 5 minutes
srum: An introduction
Sprint: a fucosed effort for a 30-day period toward fixed goal[为固定目标的、以30天为周期的集中式努力]Scrum is based on Sprint.
Product owner: Product Owner 复责编辑产品计划中的变化,并其对可能功能进行优先级划分。[A PO compiles all the changes planned for the product and prioritizes the possible functionalities.]
Product Backlog: Product Owner 的工作结果就是一个Product Backlog。Product Backlog是To-do 列表, 并且这个列表的会经常被重新排列优先级。在每一个Sprint之前, 优先级最高的goals会被添加到Sprint 的Backlog当中去。
Scrum Team:和用户一起, 由5-9人组成的Project Team组成一个Scrum Team。并且在同Product Owner的讨论当中, Sprint的目标将被设定[determined], 并且已经优先级排列的功能被进一步划分、减弱[broken-down]为更叫详细的Task.这个小组是完全自组织的, 他们共同完成目标以达到预期的结果。【The team is self-organized and the members have a joint responsibility for the results.】
Scrum Master: 负责指导这个开发team, 清除任何可能的障碍和经常性的工作来保证整个team有一个进可能好的环境, 来实现Sprint设定的目标。
在每一个Scrum的Sprint的过程当中, 产品的市场价值不断的被增强, 同时不断的添加新的功能, 和对已有功能的改进,最后生产出一个可以交付用户的一个迭代产品。
三 Roles
The scrum team: 实际问题的解决者和设计者。 通常由5-9人组成,这个人数数字是由实践和研究证明最适合这种类型的工作。Team成员觉得任务将被如何安排, 以及这些任务如何被分派。这里没有Set 工程角色:每一个成员都应该和同组的人交换工作。同样的,这种交换也不会限制个人对某一个领域情有独钟~~。
The Product Owner: 他代表了客户的意愿并且保证Scrum Team的工作人员从商业的角度来做正确的事情。PO管理一个Product Backlog:该Product Backlog是一个正在使用的to-do list,它从每个产品的预计获利来描述产品的规格说明。该BAck log是对全部组织开发的,用以使得每一个成员来时刻意识到产品发布后的价值期望是什么。Product Owner可以是Customer的角色,同时他也是一个内部组织的一个有机部分,这项工作要求Product Owner拥有渊博的知识:工程、市场和商业知识。
Scrum Master:scrum Master拥有多重职责,他是team的coacher,fixer和gatekeeper。Scrum Master采用简要会议的形式与组内成员会面和交流,称之为Daily Scrums.当组外人员由于有重要的问题需要与组内成员讨论的时候, Scrum Master需要保证组内的设计者们工作上的干扰达到最小化。
Scrum Master在工作上采用Here-and-how 观点。该观点的核心在于如何保证组内成员在最好的环境下来实现Sprint阶段设定的目标。在每个Sprint阶段的结束后, Scrum Master通常会和所以组内成员举行一个评价会,称作Sprint Retrospective.在会议期间,主要是回顾Sprint间的经验和总结。其主要目的是对本组的知识水平的评价以及加深对下一阶段Sprint的目标的理解。
四 过程Process
1 Creating A BackLog
Product Owner 编辑所有的请求和规格说明,这些成为产品变更的基础,如功能变化和修复bug。当这些目标被定义清楚以后, 整个产品的整体被细化成小的segments。每一个Segment都有各自设定的商业价值以及都可以被部分交付(sub-delivery)。
一个优先级列表在此时也要制定出来, 由Product Owner个人来完成这个任务。包括这些更改应该以什么的样的顺序来进行和交付。其结果就是一个根据市场的需求和客户的请求来安排的to-do list。当一个新的Sprint开始的时候, Product Owner冻结该to-do list,同时召集Scrum Team开会。
2 The Sprint Phrase:
在Sprint的30天的周期里, 首先,是要创建一个Sprint Backlog, 当工作和时间安排已经被决定以后, Product Owner的这一阶段的工作结束。到现在,Scrum Team独立工作,他们的工作是自组织的[时间,任务调整是自己制定,在满足Sprint goal的前提下。]
3 DAily scrum:
每天固定的时间段, Scrum Master和Scrum team一起举行一个简短的会议,目的是消除阻碍小组进度的障碍。每个成员需要以某种方式回答三个问题:
A 从上次会议到现在,你做了哪些工作
B 从本次会议结束到下次会议工作,你准备做哪些工作
C 在你计划完成的工作当中,你预计会有什么问题会阻碍你的工作完成。
前两个问题目的是让会议的参加人员对整个project的进度有个更加完整的认识,第三个问题提供了一个解决问题的基础,范围很广,可以是小到新的鼠标问题,大到公司组织结构的变更。
任何人都可以来参加该会议,但只有Scrum Master和Teamer允许发言。
4 Demonstration和Evaluation。
每个Sprint 结束的时候都会有一演示, 它是在更大范围的成员面前,如在product owner, 用户,公司管理层的代表等。这是评价会议的基础,而评价之后就是下一个Sprint的开始。
五 敏捷开发方法:
Scrum被划分为敏捷开发的一种方法。 敏捷开发是一组工作方法和工具盒的集合, 目的是:
A 提高对来自于市场的请求和需求的快速反应能力
B 消减被浪费和等待的时间周期
C 在减少雇员的压力的同时, 增加生产力。
那些坚持敏捷开发的开发者都拥有着极高的工作热情。敏捷开发哲学被浓缩在以下:
重要:
过程和工具
详细的文档
合同协商
符合计划{following plan}
更加重要:
个人和交互作用。
功能软件。
与客户的协作。
对变化的适应。
具体来说, 敏捷开发是对过程的及时反馈,这些过程在理论上合理有效, 在实践当中却很难被支持下去。敏捷方法是被描述成实践型的,它整体基于那些被证明是正确的实践经验和工作方法。
敏捷方法的中心概念是适应外部因素变化的能力, 而从前的方法是基于预测的, 并且试图预测未来的需求, 而敏捷方法是适应的并且可以快速适应新的需求的,它坚持“怀抱变化”箴言。唯一的检测标准是产品的功能。
另外,敏捷方法的另外一个重要准则,是简单化和偏向思考(lean thinking)。
其它敏捷的方法:
XP极限编程是除Scrum之外另外一个闻名的敏捷开发方法。同SCRUM相比, XP是不同的方法,它更像是一个用来处理如何在project中工作的方法。十二个实验构成了它的基础,包括成对编程和测试生成在编程前(test case production before coding).
另外一个敏捷开发方法是:Lean Development。它起源于制造行业的Just-in-time和Lean-production concepts. Lean development 更多时候是处理如何在管理层次上组织整个公司开发活动的问题。
总的来说,这几个开发方法间是互补的关系:
Lean Development考虑的是适用于整个开发组织的统一的原则
Scrum是处理一个Project如何组织和计划。
XP处理的是如何编程的问题。