敏捷框架知多少?(上)

前言

在本系列上一篇博文 《敏捷Agile概述,何为敏捷?》 中,我们初步介绍了何为敏捷,敏捷提出的背景和为什么目前得到了广泛的应用。

但敏捷本身,更多只是一种价值观,是一个思想层面的指引。在组织中实际应用,还是需要借助一些具体的实践模型来进行落地。随着敏捷的发展,其实涌现出非常多不同的实践模型,基于这些模型来组织我们的研发过程,都可以称之为敏捷研发

下面,我们将重点梳理下,在敏捷研发实践中,比较常见的一些模型以及它们的优缺点。

团队级敏捷

敏捷从提出之初,更多是首先从开发者的个人视角出发,在软件开发、协作过程中,希望建立的合作关系和开发理念,这种合作,通常是团队内部的开发协作。所以敏捷初期的主要实践模型,主要还是面向团队级别的实践。

Scrum

Scrum其实提出得比较早,1995年,Jeff Sutherland和Ken Schwaber在他们的论文《Scrum_软件开发过程》中首次提出了Scrum框架。这两位也都参与了敏捷宣言的签署。

随着敏捷的推广,Scrum被广为采用。根据最新版的敏捷状态报告(17th),Scrum 依然是目前最流行的团队级敏捷框架,调查的团队中使用率超过6成。所以完全可以说,Scrum就代表了敏捷的主流实践。

我们这个系列后续的敏捷实践分享,也将主要以 Scrum 为准来进行探讨。

请添加图片描述

Scrum 模型框架的的构成:

  • 核心过程:以Sprint 为固定研发周期
  • 三大角色定义:PO、Scrum Master、Dev Team
  • 三大工件: PBI(产品待办清单)、SBI(Sprint 待办清单)、Increment(产品增量)
  • 四大工作仪式:计划会、站会、评审会、回顾会

请添加图片描述

Scrum框架强调以一个固定的短研发周期(sprint),定期地交付产品的增量,通过四种不同的工作仪式来跟踪、协作日常工作,强调团队自组织和紧密、机动的合作关系。

Kanban

Kanban 其实起源更早,来源于上世纪四十年代丰田汽车的生产管理理论。强调的是用一种可视化的方式来提高工作效率,同时便于工作流的调整和优化。

请添加图片描述

Kanban的核心原则是通过可视化的看板向所有成员清晰地展示项目进度和工作分配情况,限制在制品的数量避免过载和积压导致资源浪费,在看板上定义并区分出清晰的工作流程,如任务的创建、分派、执行、测试和完成等。 强调持续集成,通过定期回顾来进行持续改进。

极限编程(XP)

极限编程(Extreame Programming)简称 XP,是Kent Beck在1996年提出并在自己参与的C3项目中进行了实践。

Kent Beck 进行 XP 实践的C3项目,是克莱斯勒公司的一个薪酬管理系统,项目参与人包括多位后来敏捷运动的重要人物,如敏捷宣言的另两位签署人Ron Jeffries, Ward Cunningham也都参与过该项目。但该项目其实并不成功,延期多个月才交付,并且在运作了一段时间后因为存在严重性能问题,之后被彻底关闭。还是比较讽刺的。

请添加图片描述

XP 主要从团队运作、研发过程和开发技术实践三个维度, 定义了13种实践原则,包括持续集成、结对编程、测试驱动开发、客户验收等等,对后续敏捷宣言以及敏捷的12条原则有重要影响。

精益研发(Lean)

Lean Development,精益研发,其实也是脱胎于丰田的精益生产管理理论。

后来发展到软件领域,主要包括以下7大核心:

  • 消除浪费:Eliminate Waste

  • 内嵌质量:Build Quality In

  • 创造知识:Create Knowledage

  • 延迟决策:Defer Commitment

  • 快速交付:Deliver Fast

  • 尊重他人:Respect People

  • 整体优化:Optimize Whole

精益更强调在向用户交付价值的同时尽可能消除浪费,并从更整体的业务环境来看待研发。

请添加图片描述

水晶方法(Crystal)

水晶法是Alistair Cockburn于 1991 年为 IBM 开发的一种团队协作和沟通制定指导方针,Alistair Cockburn被认为是敏捷早期的普及者,敏捷宣言发表后,包括Crystal在内的方法开始走入大家的视野。

请添加图片描述

水晶方法可细化为透明水晶方法(Crystal Clear)、黄色水晶方法(Crystal Yellow)、橙色水晶方法(Crystal Orange)以及红色水晶方法(Crystal Red)。这几种水晶方法论按照项目重要程度以及参加人员规模进行划分。

  • Crystal Clear : 6人左右的团队
  • Crystal Yellow:20人左右
  • Crystal Orange:40人左右
  • Crystal Red:80人左右

Crystal方法中同样也强调了7大主要特征:

1. 经常交付
2. 反思改进
3. 渗透式交流
4. 个人安全
5. 焦点
6. 与专家、用户建立方便的联系
7. 自动化测试、配置管理和经常集成的技术环境

相比于XP、Scrum等,Crystal纪律性较弱,它的主要原则依据团队规模不同会动态变化,所以实际中被应用得并不多。


除了以上5种常见的团队敏捷框架外,还有类似DSM、FDD等团队级别的敏捷实践模型,但目前应用最广的其实主要还是Scrum。

敏捷模型虽然多种多样,实际应用其实也并没有非此即彼的排斥性,因为它们更多还是敏捷思想的落地,我们理解这些模型定义背后的出发点,取长补短应该才是更加务实地去进行敏捷实践的方式。

当然,现代软件的规模其实越来越庞大,仅仅依赖一个小型团队,并不能完成软件产品的系统级研发,这些基于团队级别的敏捷框架,如果应用到大型的软件系统,在组织级别的敏捷,通常并不适用,因此针对这种级别的敏捷,又出现了 大规模敏捷框架, 下一篇我们会继续分享敏捷框架中的这部分框架介绍。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/452197.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JS | JS之元素偏移量 offset 系列属性详解

目录 一、offset 概述 定位父级 offsetParent 偏移量 offsetWidth offsetHeight offsetLeft offsetTop 计算页面偏移 注意事项 二、offset 与 style 区别 偏移offset 样式style 三、案例 ★ 案例:获取鼠标在盒子内的坐标 ★ 案例:模态框…

工信部绿色工厂、绿色设计产品、绿色供应链企业、绿色园区名单(2017-2022年)

我国工信部积极推动制造业的绿色转型,为了表彰在绿色制造领域取得显著成绩的企业和园区,发布了包括绿色工厂、绿色设计产品、绿色供应链企业、绿色园区在内的一系列公示名单。 2017年-2022年工信部绿色工厂、绿色设计产品、绿色供应链企业、绿色园区名单…

UDP协议讲解

预备知识: 端口号port: 我们在正常网络通信时,实际上是进程在互相通信。 我们所有的网络通信的行为,本质上都是进程间通信。 对双方而言,1.先保证数据能到达自己的机器 ip解决 2.找到指定的进程 端口号 ip地址用来…

Linux部署redis保姆级教程

一、版本说明 Redis版本号(本文的版本号是6.2.12)的第二位如果是偶数,代表稳定版本,如果是奇数,代表非稳定版本。 所有历史版本下载地址:Index of /releases/ 二、基于压缩包安装(推荐&#xff…

【中危】Oracle TNS Listener SID 可以被猜测

一、漏洞详情 Oracle 打补丁后,复测出一处中危漏洞:Oracle TNS Listener SID 可以被猜测。 可以通过暴力猜测的方法探测出Oracle TNS Listener SID,探测出的SID可以用于进一步探测Oracle 数据库的口令。 建议解决办法: 1. 不应该使…

RISC-V笔记——RVWMO基本体

1. 前言 RISC-V使用的内存模型是RVWMO(RISC-V Weak Memory Ordering),它是Release Consistency的扩展,因此,RVWMO的基本特性类似于RC模型。 2. RC模型 Release consistency(RC)的提出是基于一个观察:将所有同步操作用FENCE围在一…

机器学习:开启智能未来的钥匙

一、机器学习概述 机器学习作为人工智能的核心方法,通过分析数据中的隐藏规律,让计算机从中获取新的经验和知识,不断提升和改善自身性能,从而像人一样根据所学知识做出决策。 机器学习涉及概率论、统计学、微积分、代数学、算法…

Java | Leetcode Java题解之第495题提莫攻击

题目&#xff1a; 题解&#xff1a; class Solution {public int findPoisonedDuration(int[] timeSeries, int duration) {int ans 0;int expired 0;for (int i 0; i < timeSeries.length; i) {if (timeSeries[i] > expired) {ans duration;} else {ans timeSerie…

go+bootstrap实现简单的注册登录和管理

概述 使用&#xff0c;gomysql实现了用户的登录&#xff0c;注册&#xff0c;和管理的简单功能&#xff0c;不同用户根据不同权限显示不同的内容 实战要求&#xff1a; 1、用户可以注册、登录&#xff1b; 2、登录后可以查看所有的注册的用户&#xff1b; 3、管理员操作对用…

Gin框架操作指南03:HTML渲染

官方文档地址&#xff08;中文&#xff09;&#xff1a;https://gin-gonic.com/zh-cn/docs/ 注&#xff1a;本教程采用工作区机制&#xff0c;所以一个项目下载了Gin框架&#xff0c;其余项目就无需重复下载&#xff0c;想了解的读者可阅读第一节&#xff1a;Gin操作指南&#…

【Petri网导论学习笔记】Petri网导论入门学习(八) —— 1.6 系统的Petri网模型

导航 1.6 系统的Petri网模型例 1.6 化学反应例 1.7 进程的通信协议例 1.8 P/V操作例 1.9 临界段互斥问题例 1.10 生产者/消费者问题例 1.11 哲学家就餐问题 1.6 系统的Petri网模型 理论的目的在于应用&#xff0c;接下来是一些关于用Petri网标识离散事件系统的例子 这里就直接…

电能表预付费系统-标准传输规范(STS)(13)

6.3 Token data elements 令牌数据元素 6.3.1 Data elements used in tokens 使用在令牌上的数据元素 The data elements given in Table 1 3 are used in tokens in various combinations and are all encoded in binary format. 表13中给出的数据元素以各种组合用于令牌中&…

DISTINCT 去重

1. 单字段去重 以表 student_course 和 表 student 链接为例&#xff1a; SELECT * FROM student_course a INNER JOIN student b ON a.student_idb.id;查询结果如下图&#xff1a; 上图查询结果中&#xff0c;若只需要学生信息&#xff0c;则需要对结果进行去重&#xff1a;…

从零开始学PHP之helloworld

前言 每一门编程语言的第一个程序就是输出hell world&#xff08;别杠&#xff0c;杠就是你对&#xff09; 开始 上一篇讲完了开发环境的安装&#xff0c;这次讲编辑器的安装&#xff0c;顺带完成上一篇的作业&#xff08;输出hello world&#xff09; 安装PHPstorm 我用的…

分布式介绍

CAP理论 CAP理论是分布式架构中提出来的一种设计思想模型&#xff0c;全称是由Consistency、Availability、Partition Tolerance三个词组成。 C(Consistency&#xff0c;一致性):总能读到最新的写操作的结果A(Availability&#xff0c;可用性):每个请求都要在合理的时间内给出…

如何将本地 Node.js 服务部署到宝塔面板:完整的部署指南

文章简介&#xff1a; 将本地开发的 Node.js 项目部署到线上服务器是开发者常见的工作流程之一。在这篇文章中&#xff0c;我将详细介绍如何将本地的 Node.js 服务通过宝塔面板&#xff08;BT 面板&#xff09;上线。宝塔面板是一个强大的服务器管理工具&#xff0c;具有简洁的…

使用 Go 语言实现 WebSocket的核心逻辑

文章目录 WebSocket 简介时序图核心逻辑Client 结构与功能创建新客户端消息读取逻辑 (ReadPump)发送消息逻辑 (Send)客户端管理器 (ClientManager)WebSocket 处理器处理心跳与长连接 总结 本文将基于 Go 语言&#xff0c;通过使用 gorilla/websocket 库来实现一个简单的聊天应用…

教电脑“看”图片

教电脑“看”图片 计算机视觉简介 上一篇&#xff1a;《自己DIY首个人工智能模型》 序言&#xff1a;人是如何“看”图片的&#xff1f;人类感知周围世界&#xff0c;主要依赖看、听、闻、触这些感官&#xff0c;而“看”是最普遍和直观的方式。计算机视觉&#xff0c;就是对…

前端html,css 样式巩固1

想做这样 一个效果 点击图片切换 当前的选中图片 我们使用 原生的js html 来开发这个 直接粘贴代码 相信大家 都能看懂的 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" …

力扣动态规划基础版(斐波那契类型)

70. 爬楼梯https://leetcode.cn/problems/climbing-stairs/ 70.爬楼梯 方法一 动态规划 考虑转移方程和边界条件&#xff1a; f&#xff08;x&#xff09; f&#xff08;x -1&#xff09; f&#xff08;x - 2&#xff09;;f&#xff08;1&#xff09; 1&#xff1b;f&…