Scrum 敏捷软件开发模型(不断完善中)

下面是我对于 Scrum 的学习、理解及总结,参考了 Scrum 指南和一些书籍,并加入了自己的一些理解,希望对自己有用。

Scrum 是以经验过程控制理论为依据,采用迭代、增量的方法来提高产品开发的可预见性并控制风险。Scrum 的三大支柱支撑起每个经验过程控制的实现。
第一大支柱是高透明度
高透明度确保管理结果的人看得到那些影响结果的过程方面。这些过程方面不仅要透明,而且那些被观察到的方面也必须被充分了解。这就是说,当某人检验某个过程并认为完成了某些任务时,这个完成必须等同于他们的完成定义。
第二大支柱是检验
开发过程中的各方面必须做到经常性的检验,以确保及时发现过程中的重大偏差。在确定检验频率时,需要考虑到检验会引起所有过程发生变化。当规定的检验频率超出了过程检验所能允许的程度,那么就会出现问题。幸运的是,软件开发并不会出现这种情况。另一个因素就是检验工作成果人员的技能水平和勤勉程度。
第三大支柱是适应
如果检验员经检验发现过程中的一个或多个方面不满足可接受标准,并且最终产品是不合格的,那么检验员就必须对过程或是材料进行调整。调整工作必须尽快实施以减少进一步的偏差。
Scrum 中有三个进行检验和适应的时刻: 每日例会是用来检验朝向 Sprint 目标的工作进程,调整以优化次日的工作价值。另外,Sprint 评审和计划会议是用来检验朝向发布目标的工作进程,调整以优化下一个Sprint 的价值。最后,Sprint 回顾会议是用来评审完成的 Sprint,并确定什么样的调整可以使下一 Sprint 的效率更高、结果更令人满意和更易于工作。

Scrum 团队的目标是提高灵活性和生产能力

敏捷价值观:

个体与交互 重于 过程和工具
可用的软件 重于 完备的文档
客户协作 重于 合同谈判
响应变化 重于 遵循计划

“敏捷开发”一词源自《敏捷宣言》

Scrum 角色(Scrum Roles):

流程经理(Scrum Master):ScrumMaster 负责确保 Scrum 团队遵守 Scrum 价值、实践和规则;帮助 Scrum 团队和整个组织采用 Scrum;通过指导和引导,教授 Scrum 团队更高效工作、生产出高质量的产品;帮助 Scrum 团队理解并采用自组织和跨职能。

产品负责人(Product Owner):产品负责人是管理产品待办事项列表、确保团队工作价值的唯一责任人。

团队(Scrum Team):开发人员组成的团队负责在每个 Sprint 将产品待办事项列表转化成为潜在可交付的功能增量。

团队的 Team Leader 就是 ScrumMaster。团队的理想规模是7(±2)人。产品负责人和 ScrumMaster 这两个角色不计入成员人数,除非他们也是“猪”。Scrum 团队成员被称为“猪”。产品负责人是产品待办事项列表的“猪”。团队是 Sprint 任务的“猪”。ScrumMaster 是 Scrum 过程的“猪”。其他人被称为“鸡”。“鸡”没有权利要求“猪”如何去开展工作。

“鸡”和“猪”的比喻来自于以下的故事:
一只鸡对一头猪说:“我们合伙开家饭店吧!”猪想了想,说:“那我们给这个饭店起什么名字呢?”鸡说:“鸡蛋和火腿!”猪回答到:“那还是算了吧,你要做的只是下几只鸡蛋,我把命都搭上了!”

时间盒(Time-Box):

发布计划会议(Release Planning Meeting)
目标 发布计划会议的目的是建立 Scrum 团队与组织内的其他部门能够理解和沟通的计划和目标。
主持人 产品负责人
参与者 ScrumMaster、团队全体成员
时间 通常不超过组织构建传统发布计划的15-20%时间
地点 会议室
准备 与 Sprint 计划会议相同
成果 发布目标
具有最高优先级的产品待办事项列表
重大风险
发布所包含的全部特性和功能
确立大致交付日期和费用
主要内容 发布计划会议需要回答以下两个问题:“我们如何以最佳方式将愿景转化为成功的产品?我们怎样才能达到或甚至超越客户的满意度和投资回报?”
与 Sprint 计划会议基本类似,只是范围不同,而估算也会比较粗略。
日程安排 没有既定日程安排,主要看产品的实际情况而定。
其他 定义验收标准时,可以根据重要性区分“必须发布”、“应该发布”和“可缓发布”等不同等级。
关于时间估算,应该对最重要的条目进行时间估算,应该由团队来做估算,估算只是粗略估算不是承诺,不要花太多时间。单位为故事点,具体可以参看 Sprint 计划会议部分说明。
关于生产率估算,可以参看 Sprint 计划会议部分说明。确定重要性、发布等级、时间估算、生产率估算后就可以排定发布计划,类似如下图所示:
Q@L0$T(T~Z)LT]SM{19ML{1
其中生产率估算为 45 个故事点,每个 Sprint 的时间估算合计不超过该生产率估算。最后可以增加一些时间缓冲,以避免糟糕的时间估算、未预期的问题和未预期的特性等造成影响。
关于调整发布计划,每个 Sprint 之后,我们都要看一下这个 Sprint 的实际生产率。如果实际生产率跟估算生产率差距很大,我们就会给下面的 Sprint 调整生产率,更新发布计划。如果这会给我们带来麻烦,产品负责人就会跟客户进行谈判;或者检查一下是否能够在不违反合同的情况下调整范围;或者他跟团队一起找出一些方法,通过消除某些在 Sprint 中发现的严重障碍,提高生产率或是投入程度。
组合使用 Scrum 和
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
目录   译者序   第2版前言   第1版前言   第0章不可知和不可说   0.1和解析体验相关的问题   0.1.1解析模式的冲突   0.1.2检测解析模式   0.1.3思考不准确的思想   0.2沟通的不可能性   0.2.1内部重新组织   0.2.2触及共享体验   0.2.3管理不完美的沟通   0.3聆听的三个层次   0.3.1三个层次和方法集   0.3.2三个层次与本书   0.3.3守-破-离   0.4那么,明天我做什么   第0A章不可知和不可说:演进   0A.1沟通和共享的体验   0A.2守-破-离   第1章创造和沟通的合作博弈   1.1软件和诗歌   1.2软件与博弈   1.2.1博弈的类型   1.2.2软件与攀岩   1.2.3创造和沟通的博弈   1.2.4软件与工程化   1.2.5软件与模型构建   1.3再论合作博弈   1.3.1程序员成为沟通专家   1.3.2更快地博弈   1.3.3标识物和道具   1.3.4减少回报   1.3.5对于首要目标的充分度   1.3.6对于积淀的充分度   1.3.7博弈的博弈   1.3.8开放源码开发   1.4这对我意味着什么   第1A章创造和沟通的合作博弈:演进   1A.1沼泽游戏   1A.2合作的竞争   1A.3其他领域的合作博弈   1A.4软件工程的重建   1A.4.1这一词汇从哪里来   1A.4.2我们从哪里走错了   1A.4.3重建软件工程   1A.4.4技艺   1A.4.5合作博弈   1A.4.6精益制造   1A.4.7重建后的软件工程   1A.4.8其他工程化的协作   第2章个人   2.1人是古怪的   2.1.1寻找特征函数   2.1.2古怪性格的元素   2.1.3不可避免的多样性   2.1.4技术的作用   2.1.5相互冲突的共同点   2.2克服失败模式   2.2.1犯错误   2.2.2宁可失败也要选择保守   2.2.3创新而不研究   2.2.4不能始终如一的习惯动物   2.2.5使用纪律和容忍来应对   2.3以一些更好的方式工作   2.3.1具体化   2.3.2实物   2.3.3在某些东西的基础上进行修改   2.3.4观察和聆听   2.3.5支持专注和沟通   2.3.6工作分配要与个性相匹配   2.3.7天赋   2.3.8奖励要能保留乐趣   2.3.9组合奖励   2.3.10反馈   2.4利用成功模式   2.4.1善于四处寻找   2.4.2人们学习   2.4.3可塑性   2.4.4贡献和采取主动   2.4.5组合成功模式   2.4.6英雄也是普通人   2.5明天我该做什么   第2A章个人:演进   2A.1策略平衡   第3章团队的沟通与合作   3.1信息的对流   3.1.1延迟和机会损失成本   3.1.2尔格-秒   3.1.3渗透式沟通   3.1.4穿堂风   3.1.5信息辐射源   3.1.6热空气理论的应用   3.2跨越沟通的鸿沟   3.2.1沟通的形态   3.2.2去掉某些形态所产生的影响   3.2.3利用各种形态   3.2.4黏度与跨越空间的鸿沟   3.3团队就是集体   3.3.1友善和冲突   3.3.2工作时间的公民意识   3.3.3敌意的XP与友善的XP   3.3.4使用胜利来建立“团队”   3.3.5团队文化与亚文化   3.4团队就是生态系统   3.5我明天该做什么   第3A章团队:演进   3A.1一个修订后的办公室布局样本   第4章方法集   4.1一个交付软件的生态系统   4.2方法集的概念   4.2.1结构术语   4.2.2范围   4.2.3概念术语   4.2.4发布一个方法集   4.3方法集的设计原则   4.3.1常见设计错误   4.3.2在方法集上成功的项目   4.3.3与作者的相关性   4.3.4七条原则   4.4细看XP   4.4.1XP简介   4.4.2剖析XP   4.4.3调整XP   4.5到底为什么使用方法集   4.5.1方法集解决什么问题   4.5.2如何评估一个方法集   4.6明天我应该做什么   第4A章方法集:演进   4A.1方法集与策略   4A.2组织级的方法集   4A.3过程就是循环   4A.4更简单地描述方法集   第5章敏捷与自适应   5.1轻但足够   5.1.1刚好足够   5.1.2对于编制文档的建议   5.2敏捷   5.2.1最佳击球点   5.2.2虚拟团队的麻烦   5.3变得自适应   5.3.1不厌其烦地进行反思   5.3.2方法集成长技术   5.3.3反思研讨会技术   5.4明天我该做什么   第5A章敏捷与自适应:演进   5A.1对于寓意的误解   5A.1.1迭代必须简短   5A.1.2敏捷团队必须驻扎在一起   5A.1.3敏捷团队不需要计划   5A.1.4架构已死;重构是你全部所需要的   5A.1.5我们不需要什么经理   5A.1.6敏捷开发在纪律上要求很低   5A.1.7敏捷只适合最优秀的开发人员   5A.1.8敏捷是既老又新的、失败的、没有尝试过的   5A.2敏捷方法集的演进   5A.2.1XP第2版   5A.2.2Scrum   5A.2.3实用主义和无名的   5A.2.4可预测、计划驱动和其他心调整   5A.2.5约束理论   5A.2.6精益开发   5A.3新的方法集话题   5A.3.1敏捷项目管理   5A.3.2测试   5A.3.3用户体验设计   5A.3.4规划管控、Burn图和系统工程   5A.3.5用例和用户故事   5A.4经久不绝的问题   5A.4.1最佳击球点和下降   5A.4.2固定价格、固定范围的合同   5A.4.3敏捷、CMMI和ISO9001   5A.4.4何时停止建模   5A.4.5高科技/高接触的工具箱   5A.4.6敏捷心   5A.4.7你有多敏捷   5A.4.8引入敏捷   5A.5软件开发之外的敏捷   5A.5.1项目组合管理   5A.5.2客户关系   5A.5.3合同   5A.5.4将变更引入组织   5A.5.5程序员读哈佛商业周刊   5A.5.6建造房屋   5A.5.7机场建设   5A.5.8图书出版   5A.5.9会议组织和敏捷模型的限制   第6章Crystal方法集   6.1对Crystal家族塑形   6.1.1核心Crystal元素   6.2CrystalClear   6.2.1CrystalClear的简要描述   6.2.2CrystalClear的反思   6.3CrystalOrange   6.3.1CrystalOrange的简要描述   6.3.2CrystalOrange的反思   6.4CrystalOrangeWeb   6.4.1CrystalOrangeWeb的简要描述   6.4.2CrystalOrangeWeb的反思   6.5明天我该做什么   第6A章Crystal方法集:演进   6A.1Crystal基因代码   6A.1.1合作博弈的理念   6A.1.2方法集的重点   6A.1.3方法集设计原则   6A.1.4高度成功的项目的7个特性   6A.1.5技术与选择   6A.1.6样本方法集设计   6A.2CrystalClear   6A.3把CrystalClear扩展到Yellow   附录A敏捷软件开发宣言   附录Aa敏捷软件开发宣言和相互依赖声明   附录BNaur、Ehn、宫本武藏   附录BaNaur、Ehn、宫本武藏:演进   附录C后记   参考文献

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值