据说Scrum是一种敏捷的灵活的软件管理过程.你可以用它来迭代和递增软件的开发过程.具体的内容我就不在这重复了,,但我们的leader在讲PPT的过程中,讲了一个猪和鸡的故事.由此,我把整个的Scrum比作一个养殖场....(仅是个人观点,仅是根据听了一堂课的印象来总结的,请方家指正)
首先 养殖厂 的厂长 ,,,厂长下面有两个经理,一个抓生产(Scrum中的ScrumMaster),一个抓市场(Scrum中的Product Owner),还有下面生产的猪和鸡(Scrum中的Team),其中猪是指开发者,鸡是次要的Team,比如测试人员,QA,UI设计等.
生产经理是市场经理和生产者间的纽带.只有推动两者合作才能生产出真正的产品.比如(猪肉+鸡蛋)(假设有这么一种食品或产品,如果您知道的话,请告诉我.....)
引用《Agile Project Management with Scrum》有详细描述:
· 消除业务代表和开发团队之间的障碍,帮助业务代表直接推动开发.
(消除市场经理和猪之间的交流的困难)
· 帮助业务代表最大化ROI,并通过Scrum达到目标.
(帮助市场经理实现最优的生产效率,比如订一些短期目标等等)
· 通过促进创造力和能力提高开发效率.
· 想尽一切办法提高生产力.
(想尽一切办法提高生产猪肉或鸡蛋的数量+质量)
· 改善工程实践和工具,提高产品的可用性.
(引用先进的喂猪的技术,提高产品的生产效率)
· 确保最新的项目进度可以让所有人看到.
(每天抽15分钟检查每天猪肉的生产情况,有多少头够刀了)
Daily Scrum Meeting 每天15分钟的每日例会,每个人回答下面三个问题:
1. 上次例会到现在我完成了哪些工作
2. 在下次例会前我将完成哪些工作
3. 有没有什么事情阻止我尽可能的高效地工作
(每天由每只鸡或猪来报告,我今天下了多少蛋,或我提供生产了多少猪肉(在现实生活中不可能的,既然提供了猪肉就是died,不可能再来meeting,仅以此举例),明天我奖要下多少只蛋或要生产多少kg猪肉,有没有什么意外的情况影响我的生产活动,比如生病或是今天下的蛋有好多不是正常的蛋,比如软蛋,)
Impediments 阻碍任何人高效工作的任何人或事.在每日会议上,每个队员都有权宣布任何的impediments,由ScrumMaster负责解决这些impediments.
(任何鸡或猪都可以在每天的例会上说今天饲养员给我们的伙食不好,我不喜欢吃什么,我喜欢吃什么,都由生产经理现协调,让饲养员来喂符合鸡或猪的品味的东西)
Product Backlog 产品特性列表,主要由产品Owner负责维护并定义优先级.
(市场经理给出的一份报表,里面写明了这次任务的数量,截止时间,及质量要求......,该表由市场经理负责维护,它可以说先生产猪肉,后生产鸡蛋,比如因为猪肉的市场需求能力大....)
Product Burndown Chart 基本上是项目进度的'Big Picture',显示每个sprint开始时还剩多少工作未做. Burndown Charts 显示随时时间推移,还剩下多少工作未完成.通常以时间为横轴,未完成的工作为纵轴.
(一个burndown图表,由专人每天来维护,看该图表的趋势是不是按照预定的曲线在进行,还有多少生产任务没有完成.)
Sprint 一次迭代过程,通常是30天.这个过程是不可被打断的,不能增加额外的需求,确保迭代结束时能够获得预期的结果.现实中会有一些变化,一些项目每次会留出20%左右的时间用于紧急事务及级别最高的产品bugs.这样做存在一定的风险,可能会导致Sprint原则被随意打破.
(加班加点安全生产30天,这期间各生产车间按预定计划生产产品,这期间即使厂长接到大量的订单也不可以随意打断,当然这在现实生活中是不可能的,如果打断,以前的一个sprint有可能会不能按时完成.)
Sprint Retrospective Meeting 在sprint末期,评审会议之后召开.Team与ScrumMaster共同讨论这次sprint中哪些地方做得比较好,哪些地方需要在下次sprint中进一步提高.会议时间被限制在三个小时之内.
(这是产品推出以后由生产者/猪或鸡和生产经理们共同开的会,在会上讨论 这次生产过程中我们取得的经验,以及在生产过程中遇到的挫折,下次在生产中加以改进.)
Sprint Task 四到六小时内完成的工作单元,由队员主动认领.
(生产经理分的若干小型生产任务,由猪或鸡主动去认领)
声明:上面的专业术语是参考了如下的文章http://samuelray.iteye.com/blog/231373