Scrum和XP团队没有时间进行理论研究。不花时间用建模工具来画UML图、编写完美的需求文档,也不为了应对在可预计的未来中所有可能发生的变化而去写代码。
Scrum和XP都关注如何把事情做好。
Ken Schwaber说,Scrum不是方法学,而是一个框架。
Scrum团队尺寸(3-12人)、sprint长度(2-6个星期);定义“完成”的不同方式;不同形式的产品backlog和sprint backlog(Excel、Jira、索引卡);多种测试策略、演示方式、多个Scrum团队的信息同步方式……。
XP实践:每日构建,结对编程,测试驱动开发,等等。
产品backlog是Scrum的核心,是一个需求、或故事、或特性等组成的列表,按照重要性的级别进行了排序,包含客户想要的东西,用客户的术语描述。通常存放在共享的Excel文档里面,使多个用户可以同时编辑它。其它所有的制品都放在版本控制仓库。
故事(story),也称backlog项,包括字段:
ID——统一标识符;
Name(名称)——简短的、描述性的故事名;
Importance(重要性)——产品负责人评出一个数值(仅指故事的重要性);
Initial estimate(初始估算)——团队的初步估算,最小的单位故事点(story point),相当于一个“理想的人天(man-day)”;
How to demo(如何做演示)——描述了这个故事应该如何在sprint中演示,一个简单的测试规范;
Notes(注解)——相关信息、解释说明和对其它资料的引用等;
准备Sprint计划
1)必须存在产品backlog;
2)一个产品只能有一个产品backlog和一个产品负责人;
3)所有重要的backlog条目都已经根据重要性被评过分;
4)产品负责人应当理解每个故事的含义;
Sprint计划评估方式
1)可使用Jira(bug跟踪系统)存放产品backlog;
2)可使用Excel简单方便,直截了当;
3)可使用VersionOne、ScrumWorks、XPlanner敏捷过程工具
制定Sprint计划(Scrum中最重要的活动),应产生的成果:
1)Sprint目标;
2)Scrum Team成员名单;
3)Sprint backlog(Sprint中包括的Story列表);
4)Sprint演示日期;
5)Daily Scrum Meeting的时间和地点;
每个Story都含有三个变量:Scope(范围)、Estimate(估算)、Importance(重要性),其中:
Scrum Owner:负责Scope和Importance;
Scrum Team:负责Estimate;
第四个变量Quantity(质量),包括外部质量和内部质量:
外部质量:用户可以感知的;
内部质量:用户看不到的要素,可维护性等问题;
打断没有成果的Sprint计划会议;
Sprint长度:就是Sprint演示日期(Sprint 计划会议的产出),时间越短越好,公司就越来越“Agile”,时间最长为三周。
短的Sprint=短反馈周期=更频繁的交付=更频繁的客户反馈=在错误方向上花的时间更少=学习和改进的速度更快。
故事是可以交付的东西,是产品负责人所关心的。
任务是不可交付的东西,产品负责人对它也不关心。
处理“我不知道今天干什么”的情况:
1)羞辱式做法: “如果你不知道怎么帮助团队,我建议你还是回家去,或者看书,或者怎么都行。要不也可以找个地方坐下,等别人需要帮忙的时候你就过去。”
2)守旧式做法:简单给他们分配个任务了事。
3)施加同事压力的做法: 对他们说,“Joe,还有Lisa,你们两个可以放松点,我们会站在这里慢慢等,直到你们找到帮助我们完成目标的事情为止。”
4)奴役式做法:对他们说,“你们今天可以给大伙儿干干杂活。倒咖啡、做×××、清理垃圾、做午饭,一切一切大家今天让你们做的事情。”你会惊讶的发现Joe和Lisa在霎那之间就找出了有用的技术任务
演示也叫回顾;
坚持所有的sprint演示的理由:
1)团队的成果得到认可;
2)其他人了解你的团队在做些什么;
3)演示可以吸引相关干系人的注意,并得到重要反馈;
4)促进不同的团队相互交流,讨论各自的工作;
5)做演示会迫使团队真正完成一些工作,并发布。
Sprint演示时的注意项:
1)清晰阐述sprint目标;
2)集中精力演示实际工作的代码,少讲废话;
3)演示时节奏要快;
4)只说业务功能,不说技术细节;
5)可让观众自己体验一下产品;
6)尽可能少演示细碎的bug修复和微不足道的feature。
如果没有演示,你就会发现团队在不断重犯同样的错误。
如何组织演示:
1)根据要讨论的内容范围,设定时间为1至3个小时;
2)owner,master,team;
3)在不受干扰的地方框图讨论;
4)指定某人做秘书;
5)master展示sprint backlog,团队帮助对sprint做总结;
6)轮流发言;
7)对比预估生产率和实际生产率,并分析差异原因;
8)master总结并给出下一sprint的改进。
可将sprint backlog分为三类,并进行讨论:
1)Good;
2)Could have done better;
3)Improvement;
其中,1)和2)是回顾,3)是展望未来。
团队通过头脑风暴决定下一个sprint将进行哪些改进,根据最终结果选出合适的数量,不然得不偿失,不一定要完成所有的改进;
在团队间传播经验
1)指定一个人会参加所有的sprint回顾会议,充当知识桥梁;
2)让每个Scrum团队都发布sprint回顾报告。
学习中...
《硝烟中的Scrum和XP》下载地址:http://down.51cto.com/data/205762