首页 > 其他分享 >SCRUM笔记

SCRUM笔记

时间:2024-07-13 23:52:46浏览次数:17  
标签:故事 SCRUM 用户 笔记 敏捷 Sprint 团队

大纲

  • 神马是敏捷?

  • SCRUM是神马?

  • SCRUM的团队架构

  • SCRUM的最佳实践

    • 用户故事
    • Sprint(冲刺)
    • Burn Down Chart(燃尽图)

1.神马是敏捷?

 敏捷各路诸侯:极限编程(XP)、SCRUM、MSF(微软解决方案框架)、OpenUP(RUP敏捷版)、精益开发、水晶方法、特性驱动开发
什么是敏捷?
  • 美国敏捷联盟提出四大宣言和十二条准则
  • 敏捷宣言:
    image
    • 个体和互动更优于流程和工具
    • 工作的软件更优于详尽的文档
    • 客户合作更优于合同谈判
    • 响应变化更优于遵循计划

    靠左更敏捷,靠右更接近传统开发模式

  • 敏捷准则
    1、 我们的最高目标是,通过尽早和持续地交付有价值的软件来满足客户
    2、 欢迎对需求提出变更——即使是在项目开发后期。要善于利用需求变更,帮助客户获得竞争优势
    3、要不断交付可用的软件,周期从几周到几个月不等,且越短越好
    4、 项目过程中,业务人员与开发人员必须在一起工作
    5、 要善于激励项目人员,给他们以所需要的环境与支持,并相信他们能够完成任务
    6、 无论是团队内还是团队间,最有效的沟通方法是面对面交谈
    7、 可用的软件是衡量进度的主要指标
    8、敏捷过程提倡可持续的开发。项目方、开发人员和用户应该能够保持恒久稳定的进展速度
    9、对技术的精益求精以及对设计的不断完善将提升敏捷性
    10、要做到简洁,即尽最大可能减少不必要的工作。这是一门艺术
    11、最佳的架构、需求和设计出自于自组织的团队
    12、团队要定期反省如何能够做到更有效,并相应地调整团队的行为

2.SCRUM是神马?

  • 近年最火的敏捷方法论
  • SCRUM中文翻译:橄榄球
  • SCRUM适用于大中小性项目
  • SCRUM核心内容
    • 团队架构
    • 软件研发框架
      image

3.SCRUM的团队架构

  • SCRUM的团队角色
    • 产品负责人
    • SCRUM Master
    • “自组织”的开发团队

  • 产品负责人(产品经理)
    • 主要职责:
      • 提供愿景
      • 提供边界
      • 提供用户故事的优先级
    • 要特别注意:
      • 需要和开发团队沟通需求
      • 需要考虑开发团队的研发能力

  • SCRUM Master(相当于教练角色)≠项目经理
    • 没有行政权利
    • 训练团队用正确的方法做事,遵循SCRUM的流程和做事原则
    • 不代替团队做决定

  • “自组织”的开发团队有什么角色?
    • 业务分析师
    • 程序员
    • 测试人员
    • 软件架构师
    • 数据库设计师
    • 用户体验设计师
    • ……

  • 怎样才是“自组织”?——SCRUM Master领衔,其他成员听从指挥
    示例如下
    image

4.SCRUM的最佳实践

SCRUM在需求方面的核心理念

  • 需求是“涌现”的!
    • 不要视图初期就明细化全部需求
    • 通过“用户故事”来组织及细化需求
  • 将“写需求”转变为“讨论需求”。
    • 使用“用户故事”来讨论需求
    • 所有人都参与讨论,储蓄明确需求细节

4.1用户故事

 示例:
	 作为网站的所有者,我希望能统计广告的点击次数,以便我能清楚广告收益

 标注格式:(重要)
	- 作为……角色
	- 希望系统可以……(目标)
	- 以便……(原因)
这个格式的作用:
	作为……角色--->从用户的角度来思考问题
	希望系统可以……(目标)--->思考系统要实现什么功能,达到什么效果等
	以便……(原因)--->思考这个功能对于该用户有什么实质价值
  1. 用户故事的难点
  • 需求有一系列大小不一的用户故事组成。
  • 最开始的用户故事往往是“大故事”,需要拆分为“中故事”、“小故事”。
  • 难点:
    • 发现发现和提炼用户故事
    • 由粗到细地拆分用户故事
    • 安排用户故事优先级,分派不同的Sprint中去实现
  1. 如何写出第一个用户故事?
    实战:某网上售票系统,请写出第一个用户故事!
    建议:以甲方老板角度来写。
    参考答案:作为某某局长,希望建造一套网上售票系统,以便更好地为人们服务。

    开始分解用户故事:

    • 从第一个用户故事开始分解
      • 细分“以便……”这部分
      • 反向思考“希望系统可以……”部分
    • 进行系统涉众分析,列出关键用户
      • 思考用户在本项目上的利益所在
      • 思考“希望系统可以……”部分
      • 思考“以便……”这部分,确认“希望系统可以……”这部分的是否合适
  2. 同一种用户不同场景继续拆分

  • 如何拆分下面的用户故事?
    • 作为一个用户,我需要登录系统,以便只有我才能访问自己的信息。
  • 提示:
    • 作为一名已注册过的用户,……
    • 作为一名新用户,……
    • 作为一名健忘的用户,……
    • 作为一名已注册的用户,……
  • 参考答案-1
    • 作为一名已注册过的用户,我能用我的用户名和密码登录,让我能信任该系统。
    • 作为一名新用户,我能通过创建用户名和密码注册,让该系统能记住我的个人信息。
    • 作为一名已经注册过的用户,我能改变我的密码, 让我能保证它是安全的或容易记住他。
    • 作为一名已经注册过的用户,我想要系统在我的密码很容易被猜测时提醒我,让我的账号很难被侵入。
  • 参考答案2
    • 作为一名健忘的用户,我想能够申请一个新的密码,让我忘记密码时不会被永久地锁住。
    • 作为一名一注册过的用户,我不想在我登录尝试失败后看到这是由于用户名错误、密码错误或二者信息都错误导致的信息,让其他人很难冒充我。
    • 作为一名已注册过的用户,我应能在我的账户出现连续3次失败的尝试后得到通知,让我知道是否有人在视图访问我的账户。
  1. 用户故事到底要拆分到多细?
  • 两大标准:

    • 能在一个Sprint中完成。
    • 加入满意条件(详细要求)
  • 例如:以下用户故事可在一个Sprint中完成:

    • 作为负责市场的副总裁,我想在评估以往广告促销活动的效果时可以选择节假日季节,以便我能确认那些有利润的促销活动。
    • 如何加入满意条件(详细条件)呢?
  • “满意条件”示例

    • 确保它可以工作在大部分零售节假日。
      • 圣诞节、复活节、总统节、母亲节、父亲节、劳动节和新年
    • 支持跨2个日历年的节日。
    • 节假日季节可以从某个节假日到另一个设定(比如感恩节到圣诞节)
    • 节假日季节可以设置为该节假日前面的某些天
    • 不用支持中国的春节

4.2 Sprint

  1. Product Backlog 和 Sprint Backlog
  • Product Backlog
    • 中文翻译:产品代办列表
    • 产品需要完成的所有用户故事的集合
    • 用户故事有大有小,既有史诗级别,也有小粒度级别
  • Sprint Backlog
    • 中文翻译:冲刺代办列表
    • Sprint中需要完成的所有用户故事的集合
    • Sprint中的用户故事都可以在该Sprint中完成,并且都应该有满意条件。
  1. Sprint - 1
  • 一个Sprint就是一个小版本。
  • 建议时长1个月。
  • 一个Sprint并不是一个“小瀑布”。
    • 很难区分需求、设计、代码、测试阶段。
    • 所有工作基于对用户故事的讨论。
    • 测试先行,测试驱动,单元测试必不可少。
    • 设计也是“涌现”式的。
  1. Sprint - 2
  • 产品负责人和“自组织”开发团队商量并规划每个Sprint的用户故事。
  • 估算用户故事。
    • 精准估算有“满意条件”
    • 精准估算规划在Sprint中的用户故事。
    • 粗略估算或暂不估损大中粒度的用户故事。
    • 估算由“自组织”开发团队负责。
    • 精准估算时,单位建议为小时;粗略估算时,单位建议为天。

4.3 Burn Down Chart

  • 用来跟踪Sprint未完成工作的情况
    image

Sprint中的一些最佳实践

  • 结对编程。
  • 持续集成。
  • 测试驱动、测试自动化。
  • 每日会议。
  • Lessons Learned(经验教训总结)

标签:故事,SCRUM,用户,笔记,敏捷,Sprint,团队
From: https://www.cnblogs.com/abaab24/p/18297436

相关文章

  • scrum最佳实践
    1. 明确且专注的产品愿景:产品负责人应清晰定义产品的长期愿景和目标,以便为每个Sprint提供明确的方向。2. 精心维护产品待办事项列表:产品待办事项列表要详细、准确且按优先级排序,反映出业务价值和客户需求。3. 合适的Sprint长度:根据项目特点和团队能力,选择合适的Sprint......
  • 敏捷和scrum
    敏捷(Agile)是一种项目管理和软件开发的理念和方法,强调适应变化、快速交付价值、持续改进和团队协作。Scrum是实现敏捷开发的一种框架。它将开发工作划分为短周期的迭代(称为“Sprint”),通常为1-4周。Scrum中的主要角色包括产品负责人(ProductOwner),负责确定产品的愿景和需求优......
  • C语言常见概念(划掉)我的C语言入门笔记(√)上
    本人菜鸟一枚,下述内容如有误差望各位斧正。1.什么是C语言C语言是一种计算机语言,就像汉语是一种人类语言一样。人们可以使用计算机语言给计算机下达指令,计算机会根据所接收到的指令进行工作(或者报错)。当然人类的语言不只汉语一种,计算机语言同样同样也有很多,例如Python/C++/C......
  • 计组笔记第一章
    1.1计算机的发展什么是计算机系统?计算机系统=硬件+软件硬件:计算机的实体,如主机、外设等。软件:由具有各类特殊功能的程序组成。\[软件\begin{cases}系统软件,用来管理整个计算机系统,如OS,DBMS\\应用软件,按任务需求编制成的各种程序,如微信,QQ\end{cases}\]硬件的......
  • Python学习笔记36:进阶篇(二十五)pygame的使用之事件监听控制切歌和暂停,继续播放
    前言基础模块的知识通过这么长时间的学习已经有所了解,更加深入的话需要通过完成各种项目,在这个过程中逐渐学习,成长。我们的下一步目标是完成pythoncrashcourse中的外星人入侵项目,这是一个2D游戏项目。在这之前,我们先简单学习一下pygame模块。私信我发送消息python资料,......
  • Hadoop和Hive学习笔记
    Hadoop基础知识什么是Hadoop?Hadoop是Apache软件基金会下的一个开源项目,它允许对大型数据集进行分布式处理。Hadoop的核心组件包括HDFS(Hadoop分布式文件系统)和MapReduce编程模型。HDFS用于存储海量数据,而MapReduce则用于分布式计算。Hadoop的核心组件HDFS(HadoopDistributed......
  • 7/13 训练笔记
    闲话回滚莫队板题被卡到28pts了歴史の研究回滚莫队题。莫队笔记考虑很好加(维护cnt并更新答案即可),但是不好删。那么回滚莫队代码:#include<bits/stdc++.h>#defineintlonglong#definerep(i,l,r)for(inti=l;i<=r;i++)#defineper(i,l,r)for(inti=......
  • gcc笔记
    一、.c文件到app的过程二、执行选项gcc-E-ohello.ihello.c//预处理:展开宏,查看头文件gcc-S-ohello.shello.i//编译:形成汇编码gcc-c-ohello.ohello.s//汇编:形成机器码gcc-ohellohello.o//链接三、形成过程四、语法错误,函数申明定义检查时间编译时......
  • 《项目管理》-笔记1
    PMBOK解读1.1项目和项目管理项目:项目是为创造独特的产品、服务或成果而进行的临时性工作。项目管理:在项目的活动中运用知识、技术、工具、技巧,以满足项目要求。1.2十大知识领域(1)项目整合管理项目整合管理包括为识别、定义、组合、统一和协调各项目管理过程组的各种过程和......
  • [笔记] SEW的振动分析工具DUV40A
    1.便携式振动分析仪DUV40A文档编号:26871998/ENSEW是一家国际化的大型的机械设备供应商。产品线涵盖电机,减速机,变频器等全系列动力设备。DUV40A是他自己设计的一款振动分析工具。  我们先看一下它的软硬件参数:内置两路传感器,并且具备外扩三路单自由度传感器的能力。通......