华为云DevOps系列之 —— 持续规划与设计(三)敏捷项目管理的方法【Kanban 与 Scrum】

举报
ruochen 发表于 2021/08/06 12:26:34 2021/08/06
【摘要】 华为云DevOps系列之 —— 持续规划与设计(三)敏捷项目管理的方法【Kanban 与 Scrum】

敏捷项目管理的方法

1. Kanban 方法

Kanban 看板的含义

  • 看板源自精益制造
    • 丰田公司实践演化得来,故又称“丰田生产方式”
    • 两个支柱:准时化、自动化
  • 看板(Kanban)一词来自日文,指可视化卡片
    • 实质:后道工序需要时,通过看板向前道工序发出信号——请给我需要数量的输入,前道工序只有得到看板后,才按需生产
    • 由下游向上游传递,拉动上游的生产活动,使产品向下游流动
    • 拉动的源头是最下游的客户价值,也就是客户订单或需求

拉动式生产的收益

  • 好处:控制库存、加速流通、灵活响应、促进改善等,让 用户价值顺畅高质量地流动 \color{red}用户价值顺畅高质量地流动
  • 控制库存:下游需要时上游才开始生产(库存控制的水平是工厂管理的核心指标)
  • 加速流动:进入生产环境的物料和半成品,很快被拉入下一环节,直至变成成品,保证安全库存前提下物料最快的流动,提供工厂的 运转效能 \color{red}运转效能
  • 灵活响应:用户需求的变化通过看板形成的信息流快速传递至各个环节,系统做出了最快的响应。同时低库存水平降低了负载,让响应更加迅捷和低成本
  • 促进改善:库存的降低和流动的加速,可以让生产环节的问题可以在第一时间暴露,

拉动式生产是否能解决软件产品开发中的问题?
在这里插入图片描述
2006年 David J. Anderson 最早在软件开发中借鉴和应用看板实践,并总结成为完成的方法体系——“看板方法”

建立和运作看板的五大实践

  • 建立看板
    • 可视化价值流动
    • 现实化流程规则
    • 控制在制品数量
  • 运作看板
    • 管理工作项流动
    • 建立反馈,持续改进

在这里插入图片描述

可视化价值流动
  • 团队绘制出自己的工作流,并将其分解为关键的几个状态(例如下图中的就绪、设计、实现、测试、发布),
    在这里插入图片描述
显式化流程规则
  • 流转规则:什么条件下卡片可以进入下一个环节
  • 分类规则:不同类型的工作采用不同的卡片,泳道、优先级的选择
  • 工作节奏:团队以什么样的节奏接受工作,更新看板的节奏,发布的节奏等等
    在这里插入图片描述
控制在制品数量
  • 在制品指某个环节内所有的工作项(包括进行中和等待的),环节内在制品小于某个数时,可以从上一环节拉入新的工作,否则不允许
  • 减少了并行工作,缩短时间,工作项从进入看板到交付的时间随之缩短
  • 如某个工作长时间受阻成为瓶颈,影响到上游环节,团队应该聚焦于完成已经开始的工作
    在这里插入图片描述
管理工作项流动
  • 目的:让用户价值顺畅和高质量地流动
  • 就绪队列填充活动:输入环节和价值流动的源头
  • 看板站会:关注价值流动过程中问题和阻碍,处理问题,提出方案
  • 发布评审:需求发布前的活动,决定上线或发布哪些需求、发布策略等(可选活动)
    在这里插入图片描述
建立反馈,持续改进
  • 流动是否顺畅的反馈(eg:阻碍问题分类,影响和问题分析)
  • 质量问题的反馈(eg:开发和测试环节遗漏缺陷的问题)

不同角色关注看板的重点

在这里插入图片描述

看板展示核心元素

  • 分层、泳道、列、价值流、在制品(WIP)、风险&瓶颈、拉动式开发
    在这里插入图片描述

看板分层架构

  • 基于不同视角的价值流,看板可以分层
    • 产品级看板:基于产品视角
    • 团队级看板:基于设计团队、开发团队、SIT测试团队视角
      在这里插入图片描述

看板度量指标和方法

  • 看板度量主要指标
    • 前置时间(Lead Time):又称为交付时间(Delivery Time):工作项进入看板输入队列到已经完成所需要的整个时间
    • 吞吐量(Throughput):在固定周期内能够完成多少个故事点的故事
    • FE流动效率
    • 准时交付率
    • 流动性&波动性
  • 看板度量主要方法
    • 价值流图

    • 累积流图(CFD:Cumulative Flow Diagram)

      • 快速概览项目或产品工作中发生的情况
        在这里插入图片描述
    • 控制图

    • 直方图(weibull分布图)
      在这里插入图片描述
      在这里插入图片描述

2. Scrum 方法

Scrum 是什么?

  • 英文意思是橄榄球运动的一个专业术语,表示 “争球” 的动作
  • 1986年,竹内弘高和野中郁次郎在《The New New Product Development Game》 文章中提到将Scrum 用于产品开发
    • 传统 “接力跑” 产品开发模式不能满足快速灵活的市场需求
    • 如同橄榄球赛的团队合作方式:团队作为一个 整体 \color{red}整体 前进,在团队的内部传球并保持前进,这样也许能更好的满足激烈的市场竞争

Scrum 的起源

在这里插入图片描述

Scrum 三大特点

  • “可能性” 的艺术:关注当下
  • 团队自组织,自管理:放权
  • 面对面沟通

全面视角的 Scrum 框架

  • 轻量级的项目管理框架,核心在于 迭代 \color{red}迭代
  • 首先有产品代办列表 ——> 计划会议上从产品列表中选择合适的条目加入到迭代的代办列表 ——> 2~4周迭代开发(每日站会)——> 提交潜在的可交付增量(用户评审、回顾会议)
    在这里插入图片描述

Scrum 框架

任何的软件开发过程框架都可以由最基本的三个要素组成:角色(人)、活动及其输入输出的工件

  • 包括了一系列实践和预定义角色的过程框架
    • 角色
      • 产品负责人(Product Owner)
      • Scrum 主管(ScrumMaster)
      • 团队成员
    • 活动
      • 冲刺规划会议()
    • 工件
      在这里插入图片描述
Scrum 团队模型(三种角色)

在这里插入图片描述

Scrum 三种工件

在这里插入图片描述

Scrum 过程模型(5个活动 + 1个合约)

在这里插入图片描述

Scrum 价值观
  • 承诺:愿意对目标作出承诺
  • 专注:把你的心思和能力都用到你承诺的工作上去
  • 勇气:要有勇气作出承诺,并且要履行承诺,接受别人的尊重
  • 开放:scrum 让把项目当中的一切都开放给每个人看
  • 尊重:每个人都有他独特的背景和经验,我们都要给予尊重
    在这里插入图片描述
Scrum 三大支柱
  • 透明:通过任务板的形式,把项目中的任务和资源等进行可视化
  • 检视:在每日站会评审和回顾等环节都是进行检视的环节
  • 适应:在检视过程当中发现了偏差,就要进行调整,以适应当前的情况
    在这里插入图片描述

在软件开发过程当中,常用的控制理论有两种,预定义控制和经验过程控制

  • 预定义过程控制:类似于瀑布开发模型
  • 经验过程控制:理论是敏捷的开发模式

最后,欢迎大家关注我的个人微信公众号 『小小猿若尘』,获取更多IT技术、干货知识、热点资讯。同时,我在公众号中分享了精心整理的一些视频资料(包括 Python全栈教程、AI教程、前端、数据库等),大家回复相应关键词即可获取网盘视频链接,感谢大家的关注😊

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。