华为云DevOps系列之 —— 持续规划与设计(三)敏捷项目管理的方法【Kanban 与 Scrum】
【摘要】 华为云DevOps系列之 —— 持续规划与设计(三)敏捷项目管理的方法【Kanban 与 Scrum】
敏捷项目管理的方法
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 三大支柱
- 透明:通过任务板的形式,把项目中的任务和资源等进行可视化
- 检视:在每日站会评审和回顾等环节都是进行检视的环节
- 适应:在检视过程当中发现了偏差,就要进行调整,以适应当前的情况
在软件开发过程当中,常用的控制理论有两种,预定义控制和经验过程控制
- 预定义过程控制:类似于瀑布开发模型
- 经验过程控制:理论是敏捷的开发模式
最后,欢迎大家关注我的个人微信公众号 『小小猿若尘』,获取更多IT技术、干货知识、热点资讯。同时,我在公众号中分享了精心整理的一些视频资料(包括 Python全栈教程、AI教程、前端、数据库等),大家回复相应关键词即可获取网盘视频链接,感谢大家的关注😊
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)