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 教程、前端、数据库等),大家回复相应关键词即可获取网盘视频链接,感谢大家的关注😊
版权声明: 本文为 InfoQ 作者【若尘】的原创文章。
原文链接:【http://xie.infoq.cn/article/3faddc76d000beedd92873999】。文章转载请联系作者。
评论