写点什么

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

作者:若尘
  • 2023-04-13
    江苏
  • 本文字数:2232 字

    阅读完需:约 7 分钟

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

DevOps 系列文章,持续更新中 ~~~


敏捷项目管理的方法

1. Kanban 方法

Kanban 看板的含义

  • 看板源自精益制造

  • 丰田公司实践演化得来,故又称“丰田生产方式”

  • 两个支柱:准时化、自动化

  • 看板(Kanban)一词来自日文,指可视化卡片

  • 实质:后道工序需要时,通过看板向前道工序发出信号——请给我需要数量的输入,前道工序只有得到看板后,才按需生产

  • 由下游向上游传递,拉动上游的生产活动,使产品向下游流动

  • 拉动的源头是最下游的客户价值,也就是客户订单或需求

拉动式生产的收益

  • 好处:控制库存、加速流通、灵活响应、促进改善等,让

  • 控制库存:下游需要时上游才开始生产(库存控制的水平是工厂管理的核心指标)

  • 加速流动:进入生产环境的物料和半成品,很快被拉入下一环节,直至变成成品,保证安全库存前提下物料最快的流动,提供工厂的

  • 灵活响应:用户需求的变化通过看板形成的信息流快速传递至各个环节,系统做出了最快的响应。同时低库存水平降低了负载,让响应更加迅捷和低成本

  • 促进改善:库存的降低和流动的加速,可以让生产环节的问题可以在第一时间暴露,


拉动式生产是否能解决软件产品开发中的问题?


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 用于产品开发

  • 传统 “接力跑” 产品开发模式不能满足快速灵活的市场需求

  • 如同橄榄球赛的团队合作方式:团队作为一个前进,在团队的内部传球并保持前进,这样也许能更好的满足激烈的市场竞争

Scrum 的起源

Scrum 三大特点

  • “可能性” 的艺术:关注当下

  • 团队自组织,自管理:放权

  • 面对面沟通

全面视角的 Scrum 框架

  • 轻量级的项目管理框架,核心在于

  • 首先有产品代办列表 ——> 计划会议上从产品列表中选择合适的条目加入到迭代的代办列表 ——> 2~4 周迭代开发(每日站会)——> 提交潜在的可交付增量(用户评审、回顾会议)


Scrum 框架

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


  • 包括了一系列实践和预定义角色的过程框架

  • 角色

  • 产品负责人(Product Owner)

  • Scrum 主管(ScrumMaster)

  • 团队成员

  • 活动

  • 冲刺规划会议()

  • 工件


Scrum 团队模型(三种角色)

Scrum 三种工件

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

Scrum 价值观

  • 承诺:愿意对目标作出承诺

  • 专注:把你的心思和能力都用到你承诺的工作上去

  • 勇气:要有勇气作出承诺,并且要履行承诺,接受别人的尊重

  • 开放:scrum 让把项目当中的一切都开放给每个人看

  • 尊重:每个人都有他独特的背景和经验,我们都要给予尊重


Scrum 三大支柱

  • 透明:通过任务板的形式,把项目中的任务和资源等进行可视化

  • 检视:在每日站会评审和回顾等环节都是进行检视的环节

  • 适应:在检视过程当中发现了偏差,就要进行调整,以适应当前的情况



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

  • 预定义过程控制:类似于瀑布开发模型

  • 经验过程控制:理论是敏捷的开发模式


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

 


发布于: 刚刚阅读数: 6
用户头像

若尘

关注

还未添加个人签名 2021-01-11 加入

还未添加个人简介

评论

发布
暂无评论
DevOps系列之 —— 持续规划与设计(三)敏捷项目管理的方法【Kanban 与 Scrum】_DevOps_若尘_InfoQ写作社区