`
ynp
  • 浏览: 437982 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

硝烟中的SCRUM-读书笔记

阅读更多
硝烟中的SCRUM-读书笔记(2009-11-21 13:57:11)转载标签: scrum实践 分类: IT项目管理 
产品backlog是Scrum的核心,也是一切的起源。从根本上说,它就是一个需求、或故事、或特性等组成的列表,按照重要性的级别进行了排序。它里面包含的是客户想要的东西,并用客户的术语加以描述。我们叫它故事(story),有时候也叫做 backlog条目。



注:对于产品backlog的理解不应该仅仅停留在用户故事层面,产品backlog本身来源于用户故事,体现的是用户能够感知的业务场景。但是产品backlog本身包含了更多的信息,包括优先级,估算,How to Demo(作为测试用例的原型)。产品backlog是有优先级,估算和初步测试的业务场景驱动的需求结合。是后面形成Sprint迭代计划的基础。产品backlog最好的方式就是借助于Excel进行收集,分类和整理。



Sprint计划会议非常关键,应该算是 Scrum中最重要的活动(这当然是我的主观意见)。要是它执行的不好,整个 sprint 甚至都会被毁掉。 举办 Sprint计划会议,是为了让团队获得足够的信息,能够在几个星期内不受干扰地工作,也是为了让产品负责人能对此有充分的信心。这么说可能比较模糊。其实,Sprint 计划会议会产生一些实实在在的成果:

sprint 目标。 
团队成员名单(以及他们的投入程度,如果不是 100%的话)。 
sprint backlog(即 sprint 中包括的故事列表)。 
确定好 sprint 演示日期。 
确定好时间地点,供举行每日 scrum会议。


注: 在SCRUM中有三个重要的会议,迭代计划会议(Sprint Planning Meeting);每日晨会(Daily Scrum Meeting)和迭代回顾会议(Sprint Review Meeting)。Sprint计划就是SCRUM中最核心的计划,是大型IT项目管理中的项目主计划的精炼,对于初步优先级和估算已经前置到产品backlog了,Sprint 计划重点就变成了真正迭代周期,迭代故事列表的确定。变成了工作量,优先级,质量和进度这些重要因素的权衡。SCRUM的一个重要角色产品负责人(Product Owner)必须参加Sprint计划会议,以确认目标,优先级和范围。



为什么不能在质量上让步?我尽力把内部质量和外部质量分开。一般来说,系统内部质量优秀,外部质量仍有可能很差。而内部质量差的系统,外部质量肯定也不怎么样。松散的沙滩上怎么可能建起精美的楼阁?

外部质量是系统用户可以感知的。运行缓慢、让人迷糊的用户界面就属于外部质量低劣。 
内部质量一般指用户看不到的要素,它们对系统的可维护性有深远影响。可维护性包括系统设计的一致性、测试覆盖率、代码可读性和重构等等。


注:质量的问题首先要意识到质量包括了外部质量和内部质量。不能因为进度和多做功能点而牺牲了质量,在SCRUM实践中我们没有看到太多的关于代码质量的实践内容,类似CodeReview,前期通用约定。但是我们看到了技术性工作的内容,对于公用性技术工作的内容书里面建议仍然是放到一个具体的业务场景驱动的故事后面。但是产品Backlog直接驱动的Sprint计划,架构设计方面的内容还是需要落地来做。特别是当存在多个Sprint迭代版本的时候,更需要关注总体设计和架构的介入点。(试着避免技术故事。努力找到一种方式,把技术故事变成可以衡量业务价值的普通故事。这样有助于产品负责人做出正确的权衡。)



在 sprint计划会议之前先为它初步制定一个时间表,可以减少打破时间盒的风险。下面来看一下我们用到的一个典型的时间表。这个日程绝不是强制执行的。Scrum master 根据会议进程的需要,可以对各个阶段的子进程时间安排进行调整。

13:00-13:30。产品负责人对 sprint 目标进行介绍,概括产品 backlog。定下演示的时间地点。
13:30-15:00。团队估算时间,在必要的情况下拆分 backlog条目。产品负责人在必要时修改重要性评分。理清每个条目的含义。所有重要性高的 backlog 条目都要填写“如何演示”。
15:00-16:00。团队选择要放入 sprint 中的故事。计算生产率,用作核查工作安排的基础。
16:00-17:00。为每日 scrum会议(以下简称每日例会)安排固定的时间地点(如果和上次不同的话)。把故事进一步拆分成任务。


注:sprint计划的另外一个重要任务就是,将产品Backlog里面的用户故事拆分到开发人员理解的任务层面。任务是SCRUM在开发阶段管理的最小单位。在这里又不得不返回考虑产品Backlog里面用户故事的粒度。我们对用户故事的理解应该是一个用户可以理解的一个可以独立实现用户价值的最小活动和行为。如果按照一个sprint的迭代周期为一个月来看,一个故事的工作量应该在1人周内,一个任务的工作量应该在1-3人天左右。注意用户故事和任务本身的粒度和规模,否则后续的Sprint进度跟踪中重要的燃尽图(BurnDown Chart)将没有意义。故事是可以交付的东西,是产品负责人所关心的。任务是不可交付的东西,产品负责人对它也不关心。



有一点很重要:产品负责人和团队需要对“完成”有一致的定义。所有代码被 check in 以后,故事就算完成了吗?还是被部署到测试环境中,经过集成测试组的验证以后才算完成?我们尽可能使用这样的定义:“随时可以上线”,不过有时候我们也这样说:“已经部署到测试服务器上,准备进行验收测试”。

最开始我们用的是比较详细的检查列表。现在我们常说“如果Scrum团队中的测试人员说可以,那这个故事就算完成了”。然后责任就到了测试人员身上,他需要保证团队理解了产品负责人的意图,要保证故事的“完成”情况可以符合大家认可的定义。



我们曾经尝试过用多种形式来保存 sprint backlog,包括 Jira、 Excel,还有挂在墙上的任务板。开始我们主要使用 Excel,有很多公开的Excel 模板可以用来管理 sprint backlog——包括自动生成的燃尽图等等。在如何改良基于 Excel 的 sprint backlog 方面,我有很多想法,但此处暂且不提,我也不会在这里举例。下面要仔细描述的,是我们发现管理 sprint backlog 最有效的形式——挂在墙上的任务板!








注:SCRUM中的燃尽图是项目管理中的挣值曲线图的简化,通过燃尽图可以看到整个Sprint的生产率情况,当前我们的进度是提前了还是落后了?以分析和评估风险,调整Sprint中的用户故事列表。SCRUM中上图的进度跟踪看板是一种很重要的可视化项目管理方式。



只要让他们坐到一起,就会有立竿见影的成效。过上一个 sprint,团队就会认为挪到一起是绝妙的主意,“一起”意味着:

互相听到:所有人都可以彼此交谈,不必大声喊,不必离开座位。
互相看到:所有人都可以看到彼此,都能看到任务板—不用非得近到可以看清楚内容,但至少可以看到个大概。
隔离:如果你们整个团队突然站起来,自发形成一个激烈的设计讨论,团队外的任何人都不会被打扰到。反之亦然。  
“隔离”并不是意味着这个团队需要被完全隔离起来。在一个格子间的环境中,如果你的团队拥有自己的格子,而且隔间的墙足够大,可以屏蔽墙内外的大多数噪音,这也就足够了。

转自 http://blog.sina.com.cn/s/blog_493a84550100g2hp.html
分享到:
评论

相关推荐

    实验室设备管理系统 SSM毕业设计 附带论文.zip

    实验室设备管理系统 SSM毕业设计 附带论文 启动教程:https://www.bilibili.com/video/BV1GK1iYyE2B

    PPT高效插件神器推荐-最新发布.zip

    PPT高效插件神器推荐-最新发布.zip

    数据中心机房基础设计及规划方案.pdf

    数据中心机房是现代信息技术的核心设施,它承载着企业的重要数据和服务,因此,其基础设计与规划至关重要。在制定这样的方案时,需要考虑的因素繁多,包括但不限于以下几点: 1. **容量规划**:必须根据业务需求预测未来几年的数据处理和存储需求,合理规划机房的规模和设备容量。这涉及到服务器的数量、存储设备的容量以及网络带宽的需求等。 2. **电力供应**:数据中心是能源消耗大户,因此电力供应设计是关键。要考虑不间断电源(UPS)、备用发电机的容量,以及高效节能的电力分配系统,确保电力的稳定供应并降低能耗。 3. **冷却系统**:由于设备密集运行,散热问题不容忽视。合理的空调布局和冷却系统设计可以有效控制机房温度,避免设备过热引发故障。 4. **物理安全**:包括防火、防盗、防震、防潮等措施。需要设计防火分区、安装烟雾探测和自动灭火系统,设置访问控制系统,确保只有授权人员能进入。 5. **网络架构**:规划高速、稳定、冗余的网络架构,考虑使用光纤、以太网等技术,构建层次化网络,保证数据传输的高效性和安全性。 6. **运维管理**:设计易于管理和维护的IT基础设施,例如模块化设计便于扩展,集中监控系统可以实时查看设备状态,及时发现并解决问题。 7. **绿色数据中心**:随着环保意识的提升,绿色数据中心成为趋势。采用节能设备,利用自然冷源,以及优化能源管理策略,实现低能耗和低碳排放。 8. **灾难恢复**:考虑备份和恢复策略,建立异地灾备中心,确保在主数据中心发生故障时,业务能够快速恢复。 9. **法规遵从**:需遵循国家和地区的相关法律法规,如信息安全、数据保护和环境保护等,确保数据中心的合法运营。 10. **扩展性**:设计时应考虑到未来的业务发展和技术进步,保证机房有充足的扩展空间和升级能力。 技术创新在数据中心机房基础设计及规划方案中扮演了重要角色。例如,采用虚拟化技术可以提高硬件资源利用率,软件定义网络(SDN)提供更灵活的网络管理,人工智能和机器学习则有助于优化能源管理和故障预测。 总结来说,一个完整且高效的数据中心机房设计及规划方案,不仅需要满足当前的技术需求和业务目标,还需要具备前瞻性和可持续性,以适应快速变化的IT环境和未来可能的技术革新。同时,也要注重经济效益,平衡投资成本与长期运营成本,实现数据中心的高效、安全和绿色运行。

    Visio软件全套资源及教程-最新发布.zip

    Visio软件全套资源及教程-最新发布.zip

    2000-2022年中国地级市生态韧性数据集(含原始数据、计算代码及结果,最新).zip

    2000-2022年中国地级市生态韧性数据集(含原始数据、计算代码及结果,最新).zip

    Spring Cloud 配置相关项目.zip

    1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。

    全国2009-2021年农业高质量发展指数测算(重磅,更新!)乡村振兴

    1、资源内容地址:https://blog.csdn.net/abc6838/article/details/143778060 2、数据特点:今年全新,手工精心整理,放心引用,数据来自权威,且标注《数据来源》,相对于其他人的控制变量数据准确很多,适合写论文做实证用 ,不会出现数据造假问题 3、适用对象:大学生,本科生,研究生小白可用,容易上手!!! 4、课程引用: 经济学,地理学,城市规划与城市研究,公共政策与管理,社会学,商业与管理

    Jupyter_这本书被命名为《木星笔记》.zip

    Jupyter-Notebook

    1949-2021年中国民政统计年鉴-最新数据发布.zip

    1949-2021年中国民政统计年鉴-最新数据发布.zip

    Jupyter_用于plot dash的OOP组件,使仪表板组件可组合、可重用和可配置.zip

    Jupyter-Notebook

    Gartner推荐全球4家专注于通过自动化和人工智能支持SOC的优秀供应商.pdf

    Gartner推荐全球4家专注于通过自动化和人工智能支持SOC的优秀供应商.pdf

    Jupyter_AI 常用脚本.zip

    Jupyter-Notebook

    多种 Spring Boot 技术集成示例,涵盖数据持久化、工具集成、功能模块等方面.zip

    1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。

    53朱清清 劳动教育总结报告.doc

    53朱清清 劳动教育总结报告.doc

    Jupyter_CVPR2023强调了一种用于视频预测的动态多尺度体素流网络.zip

    Jupyter-Notebook

    Spss26统计软件最新版-最新发布.zip

    Spss26统计软件最新版-最新发布.zip

    基于springboot mybatis+Mysql 实现的图书管理系统 【web课程设计 】

    【作品名称】:基于springboot mybatis+Mysql 实现的图书管理系统 【web课程设计 】 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】: 主要功能 登录、注销、修改密码 管理员对图书信息的增删改查、查看读者、查看借阅记录 读者对图书信息的查看查询、修改个人信息、查看借阅记录 使用技术 数据库:mysql5.7 后端框架: SpringBoot HTML模板: ThymeLeaf 持久层: Mybatis UI: Bootstrap 登录验证和用户权限: SpringSecurity 使用说明 本项目使用maven进行管理,详细安装教程自行百度 需下载mysql图形化管理工具(例如Navicat),新建数据库library,右键数据库运行项目中的library.sql脚本 用IDE打开项目(建议使用i 【资源声明】:本资源作为“参考资料”而不是“定制需求”,代码只能作为参考,不能完全复制照搬。需要有一定的基础看懂代码,自行调试代码并解决报错,能自行添加功能修改代码。

    Python中的动态图形:使用Tkinter绘制跳动的心形

    内容概要:本文详细介绍了用Python的Tkinter库创建动态心脏图形的过程。程序主要由几个部分组成:首先定义了一系列数学函数用于计算心形图的心脏坐标以及散射、收缩效果;然后构建了一个‘BeatingHeart’类来生成不同帧的心跳动画点集;最后,在主函数里调用了这个类的方法绘制出连续的心跳图像,展示了心脏的搏动过程。 适合人群:熟悉Python语言并且对Tkinter库有一定了解的开发者,特别是那些希望利用Python创建图形化应用或者动画模拟的人群。 使用场景及目标:适用于希望快速理解和实现基于Tkinter的基本二维图形与动画制作的学习者或开发者;同时也可以作为图形算法和物理模拟(如粒子系统)的教学案例。 阅读建议:本文涉及到多个函数之间的复杂调用关系,读者需要仔细跟踪每一步操作的具体意义及其参数含义。对于初学者而言,可以先尝试运行示例代码查看实际效果,然后再逐步理解每个部分的功能实现机制。

    宏观面板数据整合(省市区三级)-最新数据.zip

    宏观面板数据整合(省市区三级)-最新数据.zip

    空间计量软件及学习资料-最新更新.zip

    空间计量软件及学习资料-最新更新.zip

Global site tag (gtag.js) - Google Analytics