`
eyejava
  • 浏览: 1268210 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

《硝烟中的Scrum和XP》导读及笔记

阅读更多

导读大部分文字来自ohmygodlzl 的PPT http://www.iteye.com/topic/468525 ,其实 应该叫做导读的导读.

 

 

文字描述还是过于平淡,动动手才能加深Scrum过程的印象,greenhopper是一个不错的工具,周末再整理一个Greenhopper实施Scrum过程的文档。

 

 

导读:

---------

 

 

scrum不能解决问题,解决问题靠开发团队自己

出色的团队最重要的是有良好素质的团队,这些素质包括进取心、责任心、良好的习惯、热情,其次才是技术、流程

scrum提供了一套实践方法,帮助软件团队养成良好的习惯

 

scrum原理

1.目标驱动,在统一的软件交付目标下组织团队

2.依靠团队的智慧做项目评估、计划乃至设计、开发、测试(?)

3.抓住项目的最基本开发属性:周期+质量

周期用T表示,质量用B表示(bug数目量化),scrum有助于T*B 尽量小,

 

scrum的角色和职责

1.产品负责人(product owner),定义开发目标、需要实现的features和优先级

2.scrum master,保证团队高效而不受打扰的工作,优化工作条件、过程

3.团队(team),自组织的完成项目开发,使用一切可行手段保证进度和质量

外围有user,customer,Management

 

scrum过程:

前期:产品负责人整理业务需求,形成product backlog库

执行:以sprint为单位进行迭代完成sprint backlog,每日例会+issues,sprint结束时交付可运行的产品

后期:sprint完成后通过sprint回顾发现问题和改进点,制定下个sprint要引入的新的实践(?)

 

scrum的精髓:

以上过程也没什么特别的,和UP的迭代几乎一样。

精髓在于“检查并适应”,在三个角色、三种仪式(sprint计划、sprint回顾、每日例会)、三种制品(backlog、sprint backlog、燃尽图)的基础上,可以根据公司和项目情况,因地制宜的引入任何有利于缩短开发周期、提高产品质量的实践。

 

具体细节:

sprint前: 产品负责人收集需求,形成backlog,backlog以统一格式定义,重要的属性有:名称、重要性、估算时间、简单描述、如何演示等,详细的需求可以在其他需求文档中定义。产品负责人可以通过任何渠道、方式获取和确认需求。

sprint启动会议: 一个sprint周期为两周,一次sprint会议约一个下午,参与人员为3个角色都参加,scrum master主持会议。会议内容详细沟通产品负责人选定的重要性高的产品backlog细节,确保团队对需求的理解无误。团队根据需求理解将backlog拆分成任务,并给出每个backlog的估算时间,产品负责人和团队根据sprint内可用的人天和backlog的时间估算,选定需要排入本次sprint的backlog,scrum master和团队分派任务,制定sprint计划。

sprint中: 整理一面任务墙,将sprint内的backlog和任务按照未开始、进行中、已完成等状态进行归类(任务单位以小于等于1天为宜),同时展示sprint的燃尽图

scrum master每天早上固定时间组织团队的每日例会 (站立会议,控制时间为10-15分钟),确认每个成员前一天完成的工作、当天要进行的工作、工作中碰到的问题、并更新任务墙。任何需求变更都进行实时评估,超过规划人天的backlog视情况进行拆分或者推迟其他重要性低的backlog。任何完成的backlog都需要演示给产品负责人和QA后才能提交测试。

sprint后:

scrum master召集、组织sprint回顾会议。回顾会议以头脑风暴的方式review sprint过程和结果,发现和列举存在的问题,与会人员投票决定需要在下个sprint中解决1-3个问题,探讨解决方案,确定实践方式。

 

scrum精神

1.团队目标终于岗位职责

2.团队工作优于独立作战

3.高效沟通强于标准化的文档

4.高能动性、自组织的团队胜于角色划分清晰的流水线

5.务实的解决问题的方法好于经典理论

6.快速实践、快速反馈、持续优化

 

 

笔记

--------

 

 

2.我们怎样编写产品backlog

 

backlog:需求、故事、特性组成的列表,按重要性排序,包含了客户想要的东西,用客户的术语加以排序

backlog条目 的要素:ID,name,重要性,初始评估的工作量,how to demo(类似use case中的场景描述,按步骤描写,test case可以以此为基础编写),注释。

 

如何让产品backlog停留在业务层次上:

“给Events表添加索引” 应该 被 “提高后台系统中搜索事件的响应速度” 代替

添加索引只是一种解决方案,而且还未必能真正解决问题,回归到问题的原始出发点,这个可以用《你的灯亮着吗》来指导

 

3.我们怎样准备sprint计划

在 sprint 计划会议之前,要确保产品 backlog 的井然有序。

ƒ  产品 backlog必须存在(你能想象到这一点么?)。 

ƒ  只能有一个产品 backlog和一个产品负责人(对于一个产品

而言)。 

ƒ  所有重要的 backlog 条目都已经根据重要性被评过分,不同

的重要程度对应不同的分数。

 

其他人也可以添加backlog条目,但重要性必须由产品负责人决定。

 

4.怎样制定sprint计划

scrop,importance,estimate 三个维度,但质量是前提,特别是内部质量(系统设计的一致性,测试覆盖率,代码可读性等)

sprint会议要是没达成全部sprint的目标则按已达成的部分开始sprint(这也行?)

sprint会议开始前需要定一个大致的时间计划,

每个sprint的目标要有一个概要的描述,

团队成员名单以及每个人的投入程度,

一个sprint包含多少故事由团队决定,而不是产品负责人或其他人,产品负责人只能通过修改故事范围、优先级来让团队选择哪些故事进入sprint,

定义完成:放入测试环境可以测试

时间估算:团队所有成员对故事进行估算,包括测试人员、开发人员,集合大家的估算确定最终确定

故事力求在1-5人天完成

故事拆分成任务,故事是可以交付的,任务是不可交付的

技术故事:需要完成但又是不可交付的东西,比如安装持续集成服务器,编写系统设计概览。

技术故事不由产品负责人管理,如果产品负责人可以对技术故事的优先级进行评估为什么都交给他呢?

bug: 如果开发完的功能被测试出bug,bug用jira进行了管理,也有优先级,建议将bug当做是sprint backlog的一部分,按照优先级进行评估是否进入sprint,

 

5.怎样让别人了解我们的sprint

我们要让整个公司了解我们在做些什么,这件事情至关重要。否则其他人就会发出抱怨,甚或对我们的工作做出臆断。 

使用sprint信息页,将sprint列举出来,将sprint信息放到wiki上,邮件通知到家

 

6.怎样编写sprint backlog

一块白板,记录没开始的故事,今天开始的故事,这个sprint完成的故事。故事用白纸,任务用黄色贴纸,

燃尽图:横坐标是日期(去掉非工作日),竖坐标是工作量,story point,可以用人*时表示,

 

7.怎样布置团队房间

让团队坐在一起,

 

8.怎样进行每日例会

团队每个人自觉更新sprint backlog的状态,

 

9.怎样进行sprint演示

所有sprint都结束于演示

快速演示,演示我们实现了什么而不是我们怎么实现的,

 

10.怎样做sprint回顾

这是改进的最佳时机,

你不需要在回顾会议上得到什么好点子,在家中的浴盆里就能做得到!

轮流发言,scrum master最后总结

哪些做法可以保持,哪些做法可以改进,具体改进的想法,

 

11.sprints之间的休整片刻,

在启动新的 sprint 之前,每个人都应该至少度过一个不需要考虑 sprint 的夜晚。更好的是sprint结束在周五,这样就一个周末,最好结束在周四,周五大家搞一个LAB Day,(lab day也是要准备的。。)

 

12.如何制定发布计划,处理固定价格的合同

 

13.我们怎样组合使用 Scrum和 XP

Scrum 注重的是管理和组织实践,而XP 关注的是实际的编程实践。

CI:把这一切搭建起来需要大量工作,但付出的每一分钟都物有所值。

 

14.怎样做测试

把测试人员加入到Scrum团队中,测试人员就是验收先生,



0
0
分享到:
评论

相关推荐

    硝烟中的Scrum和XP.pdf

    《硝烟中的Scrum和XP》是一本深入探讨敏捷开发方法的书籍,主要聚焦于Scrum和极限编程(XP)两种流行的敏捷框架。在IT行业中,这两种方法论被广泛应用于软件开发项目,以提高效率、灵活性和产品质量。下面将详细阐述...

    硝烟中的Scrum和XP 中文版

    本书《硝烟中的Scrum和XP》探讨了这两种方法论在实际项目中的应用和挑战,旨在帮助读者理解如何在复杂环境中有效地利用敏捷原则。 Scrum是一种以迭代和增量方式进行项目管理的方法,其核心在于团队的自我组织和跨...

    硝烟中的Scrum和XP 硝烟中的Scrum和XP硝烟中的Scrum和XP

    在硝烟中的Scrum和XP这个主题下,我们可以看到两者在实际应用中可能会遇到的挑战和冲突。Scrum注重流程和角色,而XP更关注技术实践。有时,团队可能需要结合两者的优点,形成一种混合方法,以适应特定项目的需求。...

    硝烟中的Scrum和XP.zip

    在这个名为“硝烟中的Scrum和XP”的资料包中,我们将深入探讨这两种方法的核心理念、实践过程以及它们在项目管理中的应用。 Scrum是一种轻量级的框架,强调团队的自我组织和迭代开发。它以短期的冲刺(Sprint)为...

    硝烟中的Scrum和XP高清敏捷开发介绍

    Scrum和极限编程(XP)是两种非常流行的敏捷开发框架,它们在现代软件开发领域扮演着重要的角色。本文将深入探讨这两种方法的核心理念、实践原则以及如何在实际项目中应用。 **Scrum** Scrum是一种以人为核心、...

    硝烟中的Scrum和XP EPUB

    在本书中,作者Henrik Kniberg讲述了他在一年的时间里,带领40人的团队实施Scrum的过程。他们试过了多种团队尺寸(3~12人)、sprint长度(2~6星期),定义“完成”的不同方式,不同的backlog格式,各种测试策略,...

    硝烟中的Scrum和XP-SCRUM与极限编程 pdf

    同时,Scrum的每日Scrum可以强化XP中的结对编程和沟通,帮助团队快速识别和解决问题。 **总结** 阅读《硝烟中的Scrum和XP-SCRUM与极限编程》可以帮助你理解这两种敏捷方法如何协同工作,提升软件开发效率。通过学习...

Global site tag (gtag.js) - Google Analytics