`

跌跌撞撞地敏捷之路——Story重要程度的作用

阅读更多

      日期:2009.03.24

      晚上加班,在不禁意间看了下背后白板上的燃尽图,这个礼拜六就要进行第二个sprint的验收演示了,可燃尽图只燃了差不多一半,而这个sprint预定要完成的增删改刷以及应用功能,目前只完成了查询与刷新。不知为什么,我突然冒出这么一句:“为什么我们的效率那么低呢?”,然后就有了下面的一段我与scrum master的对话(下面的ME就是我,SM就是scrum master,对话内容稍做了修饰,因为只记得大概)。
SM:第一个礼拜,由于公司要举办任职资格考试,大家花了不少时间在准备考试上了。
ME:嗯,那第二个礼拜呢,从严格意义上来说,我们是没有被其它突发事件打扰的,可以说算的上是一个完整的礼拜,我们做了些什么呢?
SM:查询功能。
ME:还有其它的吗?这样确实效率太低了。
SM:(走到白板旁边)让我想想。
ME:(眼睛随着SM的移动,扫到了燃尽图旁边贴着的小便签,上面写着“组件包自动部署”)啊!我还做了组件包自动部署和按实例鉴权。
SM:没错。
ME:啊!我知道原因了!在这过程中,我们没有严格按照故事的重要程度来实施开发,一开始我们确定的sprint目标是完成增删改查刷以及应用等功能,而在上个礼拜我却跑去实现组件包自动部署和按实例鉴权,而且这两个还是在开发过程中临时增加的两个task,重要程度比较低。这严重违背了scrum的原则,忽视了故事重要程度的重要性。
SM:对,我也做了些其它的活。为什么这中间没有注意到这一点呢?
ME:是啊!在每日站立会议上,我们都会汇报下昨天的进展,以及今天要做的工作。当时我应该有说要完成组件包自动部署和按实例鉴权功能的。
SM:是啊!当时我应该就不允许你这么干的!在sprint计划会议上我们确定了目标,结果实施过程中却花了不少时间做了低优先级的事情,结果导致现在无法完成既定目标,需要将部分功能遗留到下个sprint中实现。
      看到没,story重要程度是多么重要啊。虽然在sprint计划中确定好了sprint backlog中各个story的重要程度,且一开始明确了按照story重要程度先做哪个,再做哪个,可是在白板上各个story卡片上以及backlog中的story条目上都没有将这个重要程度明确标识出来,这样就无法在开发过程中给我们起到一个警示作用,我想这是导致我们会偏离重点的一个主要原因。
      按照《硝烟中Scrum和XP》中的做法,白板上的story卡片是按照story的重要程度由上往下(最高处的story最重要,最低处的story优先级最低)排列的,这样子一下子就能看出团队是否没有按照主线在开展工作。
      象上面的燃尽图(见附件),一眼就可以看出团队没有目前正在做一个优先级最低的一个story,而其它比它更重要的story一点也没有开展起来,这时scrum master就应该制止了。
我们的story好象是有按照重要程度来排story,但我们脑子里好象没有这种意识,所以卡片的先后顺序并没有给我们起到任何作用,失策!
      顺便提一下,story的重要程度是sprint计划会议之前由product owner(PO)指定的,然后在sprint计划会议中根据团队成员的生产率估算结果适当调整后确定下来的,但story重要程度的调整只能由PO来实施,其它人都不可以越俎代庖。

      在CMM中,项目周期都较长,中间你即使弹性地、穿插地完成一些需要一两天的小任务,一般不会对整个项目的交付有太大的影响,但在scrum中却大大不同,由于每个sprint都有既定的承诺、输出与交付,且每个sprint的周期都很短,象我们才三个礼拜,所以要求每个人都必须在正确的时间做正确的事,且专注高效,否则象为我们那样搞两天突发性的小任务,将可能大大的影响sprint的完成。正因如此,scrum master在sprint是个很重要的角色,他负责为团队成员培训敏捷知识、获取资源、指导团队成员的日常活动,假如在开发过程中团队成员出现任何问题,他都应该予以协调解决,出现任何错误(就象在我们的例子中)他应该立即制止、纠正。
      每日的站立会议,是用来汇报昨日工作进展、今日工作计划、遇到的困难的。从我们这个例子中可以看出,其实这个过程很重要,不能流于形式。在这个过程中,scrum master以及团队成员应该是可以从每个团队成员的汇报内容中发现他是不是在做正确的事的,如果不是应该及时提出来,以免他越走越偏,导致影响sprint的交付。

 

 

  • 大小: 45.9 KB
2
1
分享到:
评论

相关推荐

    scrum 敏捷开发,story标准写法

    用户故事的拆分也是敏捷开发中非常重要的一个环节。良好的用户故事拆分应该遵循INVEST原则,确保拆分后的每个子故事都保持独立、可协商、有价值、可评估、小和可测试。拆分方式多种多样,常见的有ABCDE方法,即将...

    敏捷测试中的User Story 详解

    在敏捷开发过程中,User Story 是一种重要的需求分析工具和方法,它们可以帮助开发团队快速地获取用户需求,编写可测试的 User Story,组织和优先级它们,进行计划、管理和测试。 Mike Cohn 的《User Stories ...

    基于深度学习的高中英语读写结合课——以The Story of Atalanta为例.pdf

    基于深度学习的高中英语读写结合课——以The Story of Atalanta为例.pdf

    聚焦真实情境,激发深度学习——以译林版小学英语教材Story time板块教学为例.pdf

    深度学习是当前教育研究中的一个重要议题,它强调学生在真实、复杂的情境中运用所学知识和跨学科知识解决实际问题,从而发展批判性思维、创新能力和合作精神。译林版小学英语教材中的Storytime板块,正是为了激发...

    《20 tips to empower your story》——欧美PPT公司soap新作.rar

    标题中的“《20 tips to empower your story》——欧美PPT公司soap新作.rar”揭示了一个重要的信息,即这是一款由欧美专业PPT设计公司SOAP推出的新的作品,名为“20 tips to empower your story”。这个标题暗示了...

    敏捷mini培训总结

    Story是敏捷开发中的重要概念,它代表了对用户或客户有价值的功能点。一个有效的Story应遵循“三C”原则:Card(卡片)、Conversation(对话)和Confirmation(确认)。编写Story时,要确保其独立、可谈判、有价值、...

    iOS实例开发源码——maximile-Your-Story-25afe65.zip

    这个压缩包文件“iOS实例开发源码——maximile-Your-Story-25afe65.zip”显然是一个iOS应用的源代码库,名为“maximile-Your-Story”。这个项目的版本号可能是25afe65,这通常在Git等版本控制系统中表示特定的提交。...

    iOS游戏应用源代码——maximile-Your-Story-25afe65.zip

    在本资源中,我们关注的是一个名为"maximile-Your-Story-25afe65.zip"的压缩包,它包含了一个iOS游戏应用的源代码。这个项目可能是一个独立开发者或者团队的作品,用于展示他们如何构建iOS上的游戏应用程序。在深入...

    4.The story of CNCF, why k8s is so successful_——keith chan.pdf

    CNCF的故事,为何Kubernetes如此成功——Keith Chan.pdf" 描述了一次关于技术分享的文档,其中涉及到了CNCF(Cloud Native Computing Foundation)的重要性和Kubernetes的成功原因。文档标签为“技术文档”,内容...

    敏捷软件测试:测试人员与敏捷团队的实践指南-仅需1积分

    书中可能还会讨论敏捷估算和规划,如故事点(Story Points)和迭代计划,以及如何通过敏捷工具(如Jira或Trello)来管理项目。 最后,书中可能还会讨论敏捷测试的文化和挑战。敏捷测试需要团队成员具备开放的心态、...

    敏捷开发手册

    敏捷开发手册是一份专注于敏捷开发模型的指南,其中Scrum方法作为敏捷开发的一种实践方式,被详细地介绍和解读。Scrum的起源与橄榄球中的“带球过人”动作相关,强调在冲刺前有计划的安排,但一旦开始则需要在原计划...

    Incest Story 1.0b攻略

    Incest Story 1.0b攻略

    敏捷开发培训资料,敏捷开发培训资料

    通过以上内容可以看出,敏捷估算与规划是敏捷开发的核心要素,它帮助团队有效地管理项目,确保在有限的时间内交付高质量的产品。理解并正确应用这些概念对于提高团队效率和项目成功率至关重要。

    敏捷开发指导书.doc

    手册中强调了敏捷的核心理念——理念、实践和具体应用的结合,提醒读者在进行每个活动时都要思考其背后的意图,以期通过长期实践来探索软件开发的本质规律。同时,书中提供的模板仅作为参考,鼓励团队根据实际情况...

Global site tag (gtag.js) - Google Analytics