Scrum 与精益( Lean ) 软件开发及应用

[敏捷项目管理培训] Agile 和 Lean 的比较 Agile 和 Lean 的比较 敏捷软件开发模型涉及具有迭代模型的增量方法。这使得连续的软件交付和发布间隔很小,从而引起了客户或最终用户的注意,这将确保并指示模型的价值;而精益模式则采用了从精益制造到精益软件开发模型的原理和流程。以类似的原则过渡,而这些原则基本上是不同的领域。敏捷模型本身是为软件开发过程开发的;而精益模型产生于工业制造领域,经历了从精益生产到精益管理,再到精益思想的发展过程,在这个发展过程中,产生了精益软件开发模型。 敏捷软件开发模型在实现产品可交付性方面具有更大的优势,而精益软件开 阅读详情

   Scrum 在众多的敏捷方法中更多地提供的是一个框架,而精益( Lean )开发则更多地提供了一种思想。二者能很好的结合并相得益彰。

 

Scrum 和精益( Lean )软件开发

  传统的软件工程模型与建筑过程极其相似,尤其是瀑布模型。但是, Scrum 和精益却源于制造工业。当他们被引入软件工业的时候,实际上却继承并扩展了传统的软件工程模型和方法。

 

  学过软件工程的人都知道瀑布模型。对于那些在初期需求就很完整清晰,并且在开发过程中不会有太多变化的项目,瀑布式开发非常适用。软件业发展的初期,在一些项目中人们用瀑布模型取得了一定的成功。但是随着软件工业的发展和企业运作速度的加快,在很多情况下,软件开发的需求在开发过程中始终在不断的变化。而瀑布式开发显然不能适应这种变化。因此在越来越的项目中,瀑布式开发以失败告终。随后,许多有所改进的开发模式纷纷涌现,比如螺旋模型和统一过程开发( RUP )模型。螺旋式结合了瀑布式和原型开发模式,这种模型能在一定程度上管理和控制那些在需求和设计阶段不可预见的需求变化。统一过程开发( RUP )模式则更进一步地采用一个或多个迭代周期。一个迭代周期包括四个阶段:初始阶段( inception ), 细化阶段( elaboration ),构造阶段(construction ),交付阶段( transition ),而在不同的迭代周期则分别侧重不同的阶段。比如:第一个周期可能侧重初始阶段同时也包含很小一部分的细化阶段和构造阶段用以创建原型。下一个迭代周期则会侧重于细化阶段同时也有一定比重的其他阶段,依此类推。原形开发和迭代周期的引进使需求的变化在原形或一个周期后被引入系统加以实现。不过在当代的科技界,越来越多的软件产品被移植到互联网上变成一种服务,以更有效、快速、容易地部署产品服务用户,并获得用户的反馈信息。这种变化大大增加了用户引导的需求变化频率。显然, RUP 模式面对这种情况显得力不从心,并且 RUP 模式还存在其他许多不尽人意的地方。 Scrum 采用时间更短的迭代周期,这种迭代周期被称为 Sprint ,一个 Sprint 通常为 2-4 周的时间。每个 Sprint 只开发价值最高的被称为 product backlogs 的产品需求,并且每个Sprint 周期可能包含全部的开发阶段如需求分析,设计,编写代码,测试,整合以及产品部署。每个短暂的 Sprint 周期过后,都能产生一个可以被整合、审查、展示并且最重要的是可以被用户使用的软件。许多当前的需求变化都可以被提出并且在下一个 sprint 周期得以实现。这样就产生了一个快速的反馈循环,它可以动态管理实现用户频繁的需求变化。与此同时, Scrum 这一模式也涉及诸如团队、流程、沟通等其它方面的元素,这些元素共同发展规范了整个 Scrum 框架结构。

 

  精益( Lean )软件开发模式从一开始便侧重于提高过程中的效率。它最初来自丰田公司的制造工业,其主要思想是分析所有的流程,以查明和消除浪费,不断提高效率。为了达到这个目的,精益( Lean )模式提出了一些概念和实用的工具。大部分的工具都是在制造业使用而不能直接应用于软件开发。但是精益软件开发会经常提及其中的两个概念。一个是拉式系统( pull system )。在拉式系统中,一个流水线上的任何一个环节的任务完成后 , 都会从前一个环节自动提取下一个任务。该模式以客户的需求而不是市场预测来推动工作进程。另一方面,通过精益模式可以最小化未完成工作以及半成品的数量。它们通常被认为是开发过程中的浪费。除了拉式系统( pull system ),价值流图( valuestream mapping )也经常被应用于软件开发过程中。价值流图能够有效的帮助识别过程中的浪费。

 

  类似于其它的敏捷方法, Scrum 专注于管理需求变化和团队潜能的发挥,同时也含其它一些具体的规程。精益( Lean ) 则 更多的教人一种思维模式,帮助形成具有精益思维和习惯的开发团队。将 Scrum 与精益结合可以使他们互相补充,取长补短。我们在许多项目中尝试实现了这种结合。比如,在我们的敏捷协作平台 GScrum 上,通过使用一种称为 WIP 容器的特殊周期,能够将 Scrum 与 Lean 有效结合起来。

 

使用 Scrum 和精益( lean )开发的常见问题及解决方法

   Scrum 或精益开发模式以及其它的敏捷方法对比于传统的软件工程或项目管理理论与实践有一个共同的优点:简单。不过,虽然 Scrum 和精益开发的精髓很简单,在实际运用过程中却不近然。

 

  首先,人们普遍倾向于抵制变化,固守成规总是更容易一些。变化对许多人来说难以接受的,特别是那些不能立即为所有人都带来好处的变化。对于初次使用敏捷开发的团队,都需要一个从接受到真正应用的过程。一些敏捷开发实践如测试驱动开发( as Test Driven Development )、结对编程( Pair Programming )以及每天的 Scrum 会议都需要一段时间让开发团队逐渐适应。如果没有公司上层领导的强力支持,敏捷模式很可能以失败告终,开发人员只能放弃敏捷开发,重新回到原有的开发模式上。因此,公司领导的强力支持和对团队的培训,是让敏捷模式在一个公司生存和持续发展下去的重要因素。

 

  对于使用 Scrum 的团队,在实践过程中也存在许多技术性的问题。不同的开发团队,不同的开发人员会有不同的感受。

 

  在 Scrum 实践中, Scrum 专家( Scrum Master)是一个很重要的角色。这个名词最初由 Scrum Alliance 提出。该角色从字面上很容易被理解为一个在 Scrum 开发团队中拥有极高权力,同时管理所有成员的人。实际上,这个角色并未被赋予真正的职权,但他必须拥有很强的软力量及社交技巧。从我们自己的实践经验看, Scrum 专家必须能理解团队中的每个成员,并且能够将所有人团结起来。同时, Scrum 专家还必须在团队方向与开发人员感受之间取得平衡。一些研究表明, Scrum 专家通常很容易失衡,要么过度关注Scrum 过程和项目进度,要么过分照顾开发人员。一方面,对Scrum 过程和项目进度要求太苛刻,不顾开发团队及成员的想法很容易势得其反,增加开发团队对 Scrum 的反感情绪。另一方面,如果Scrum 专家太有同情心,过度照顾开发人员的感受并且失去对团队整体方向的把握,那么任何一个团队成员的问题都会影响整个团队进度和执行过程。有这样的 Scrum 专家,这个团队可能让人感觉很舒适。但是显然,这样的团队很难取得任何成功,最终有可能放弃 Scrum 模式回到旧的开发模式上,或者出现其它更糟糕的结果。

 

   Scrum 提倡让客户全程参与到开发过程中。这就要求客户和产品拥有者有一个清晰的产品发展方向和足够的时间投入。产品拥有者负责任的参与能有效的提高 Scrum 项目的成功率。产品拥有者需要平衡项目利益悠关者之间的利益,从而能够管理产品需求( product backlogs )、调整需求的优先级、 完善需求描述,让开发团队有一个清晰的方向,为客户获得最大的投资回报率( ROI )。而在许多项目中,人们通常会觉得客户或其管理层太忙,无法参与。开发团队应该让客户明白,如果客户不投入时间和精力关注产品需求,那不可能取得产品的成功。在某些情况下,由全体或部分项目利益悠关者组成的小组或委员会是必须的。但是,项目拥有者仍然应该是客户与开发团队之间实现交流的唯一结合点,这样能避免开发团队受到客户的无序干扰。

 

  敏捷开发团队要面临的另一大挑战是如何能够不断改进开发过程。在第一年,敏捷开发对于整个开发团队来说可能还是比较新鲜的。但是开发团队很快就会对敏捷方式,特别是每天的 Scrum 会议感到乏味。一旦感到乏味并开始松懈,开发团队要么会放弃敏捷模式回到原有的开发模式上,要么会停留在对敏捷开发的肤浅应用层次上。这样一来,团队的积极性和创造性会受到打击,停滞不前。这重情况下,结合精益( Lean )开发方法能有效的解决这些问题。精益( Lean)模式提倡持续不断地改进, 减少流程中的浪费。这个概念应该被注入到整个团队中,让团队形成精益的思维和长期的习惯。在使用 Scrum 开发项目的过程中,我们会经常应用一些精益的方法。例如,我们发现有些 Sprint 计划过程很可能变成一种浪费,特别是对那些没有连续开发任务的项目。在这种情况下,我们使用GScrum 的 WIP 容器和拉式系统来管理我们的开发。实践证明,这样非常有效,减少了不必要的会议和浪费。我们也尝试使用 GScrum 提供的事件时间表来生成价值流图(value stream maps ),试图找出在开发过程中可能出现的浪费。 例如, GScrum 可以显示每个开发人员的事件时间表。有一次我们发现某个开发人员比其他开发者花费更长的时间来修改一些问题,并且多次被测试人员退回要求重新修改,这促使我们意识到系统有些部分没有单元测试案例。

 

运用精益( Lean )开发模式相对比较抽象,有时候会比其他敏捷方法更困难一些。很少一部分成熟的工具和过程能应用于软件开发领域。制造业中使用的精益( Lean )工具一般无法直接被用于软件开发行业。最佳的应用精益软件开发的途径是从简单入手,理解其思想,然后针对团队情况摸索创新,让整个团队习惯精益的思维模式和行为。当然,请有相关经验的专家指导、交流会事半功倍。
18、软件开发方法:FDD、精益开发与Scrum深度解析 本文详细解析了三种主流软件开发方法:特征驱动开发(FDD)、精益软件开发和Scrum。FDD强调前期设计与按特征开发,适用于需要明确规划和特征管理的项目;精益开发基于消除浪费等原则,提供丰富的工具优化开发过程;Scrum通过迭代和增量方式,强调团队协作和快速响应变化,适用于灵活多变的项目环境。文章旨在帮助团队根据自身需求选择合适的开发方法。 阅读详情

相关推荐

42、软件开发方法解析:Scrum、Lean与Crystal

本文深入解析了Scrum、Lean和Crystal三种主流软件开发方法,涵盖其核心理念、关键实践与适用场景。Scrum强调迭代管理和进度跟踪,适合需求多变的项目;Lean聚焦消除浪费与快速交付,提升开发效率;Crystal则根据项目规模和关键程度提供分级方法体系,灵活适配从小型到超大型项目的管理需求。文章还通过对比分析与选择流程图,帮助团队依据项目特点选取合适方法,并强调了团队协作、需求管理和质量保障等实践要点,助力软件项目高效成功交付。

i8j9k0l1的博客 64

【亲测免费】 探索 Lean:一个强大的形式化证明助手

探索 Lean:一个强大的形式化证明助手 是一个现代化、开源的形式化证明环境,由微软研究院的 Leonardo de Moura 创建,并由全球的 Lean 社区持续发展和维护。它将高级编程语言的强大与数学证明的严谨性相结合,为数学家、计算机科学家和其他对形式逻辑感兴趣的人提供了工具,使他们能够创建无错误的数学理论和软件。 技术分析 Lean 使用一种名为 Lean 的强类型、依赖类型函数式编程语...

gitblog_00023的博客 3750

Yolov5s可视化网络结构图

Yolov5共有四种网络结构,每种网络深度和宽度上都不相同。 (1) Yolov5s可视化网络结构图:点击查看 (2) Yolov5m可视化网络结构图:点击查看 (3) Yolov5l可视化网络结构图:点击查看 (4) Yolov5x可视化网络结构图:点击查看 ...

江南研习社 15万+

精益软件开发:从理念到实践

在软件开发领域,如何提高效率、减少浪费、并在最短的时间内交付高质量的软件产品,一直是企业和开发团队追求的目标。精益软件开发(Lean Software Development)源自精益制造,其核心思想强调消除浪费、持续改进和快速交付,旨在通过全面的流程和文化变革,提高效率和价值交付。本文将深入探讨精益软件开发的核心原则、实施方法和实际案例,帮助读者全面了解这一高效的软件开发方法。

cooldream2009的博客 1947

手把手教你用MaxEnt+ArcGIS玩转物种分布预测

本文详细介绍了如何利用MaxEnt最大熵模型与ArcGIS软件进行物种分布预测。通过实战案例,从数据收集、环境变量处理、模型参数设置到结果可视化分析,手把手教你掌握生态位模型的核心流程。结合SDM toolbox插件,可高效完成数据预处理与高级空间分析,是生态学与保护生物学研究的实用指南。

weixin_29309475的博客 559

Duplicate Cleaner Pro 5.16 保姆级教程:如何用哈希值精准清理重复文件(附音频/视频模式详解)

本文详细介绍了Duplicate Cleaner Pro 5.16如何利用哈希值技术精准清理重复文件,特别针对音频、视频和图片等多媒体文件提供了专业解决方案。通过哈希算法比对和多媒体特征识别,帮助用户高效管理存储空间,提升文件整理效率。

weixin_27032989的博客 565

精益软件开发(Lean Software Development)

介绍 随着软件系统变得越来越复杂,越来越多人参与其中,管理软件开发变得越来越困难。多年来,企业被告知要应对增加的复杂性,他们需要增加更多的测量,更多的控制,更多的检查和平衡,更严格。为了确保人们按照他们的要求行事,许多企业在流程合规性审计上花费了大量资源。结果不应该令人惊讶:组织文化越来越强调预测和管理,而对学习和创新的关注则越来越少。 不知何故,客户在我们预测和控制软件开发的渴望中被忽视了。许多...

cnhome的专栏 6949

第二十七届华东杯数学建模A 题 跳台滑雪问题 完整思路模型及代码

考虑到滑行过程中的空气阻力和摩擦力对速度的影响,我们引入了不同姿态下运动员迎风面积和空气阻力系数的变化,利用牛顿第二定律建立加速度表达式,并通过数值模拟比较常见姿态下的终端速度。针对问题二,我们构建了二维空中飞行动力学模型,结合起跳速度、身体迎角、滑雪板倾角等因素,模拟运动员在空中飞行的轨迹与姿态变化,采用欧拉法对运动过程进行仿真,优化飞行路径和稳定性。仿真结果表明,运动员应在起跳后保持滑雪板与身体成“V”字形打开、重心略后倾的姿态,以增强升力、延长飞行距离并提高姿态得分。,并模拟出跳跃的轨迹和最终得分。

lichensun的博客 3209

【亲测免费】 推荐开源项目:Lean —— 强大的数学定理证明器

在这个快速发展的科技时代,我们有幸接触到了一个名为 Lean 的开源项目,它是一个现代化的数学定理证明器。尽管项目已经迁移到 Lean 4 并在新的仓库中持续发展,但 Lean 3 的丰富资源和坚实基础仍值得我们回顾与学习。这个项目旨在提供一个高效且用户友好的环境,帮助研究者和爱好者进行形式化证明,并推动数学逻辑与计算机科学的交叉领域研究。 ## 项目技术分析 Lean 采用了一种独特的类型系...

gitblog_00016的博客 1804

手把手教你学Simulink--电机控制架构与算法实现​场景示例:基于Simulink的电机速度环PID调节仿真

本文带你完成了电机速度环PID参数的科学整定,实现了:✅ 理解了速度环的级联系统特性与关键参数影响工程整定法(理论初值)系统辨识法(参数未知时)✅ PID Tuner自动调参(推荐!自动调参兼具快速性与鲁棒性✅ 学会了前馈补偿抗饱和等工程实用技巧。

MHD0815的博客 653

把表的每一次改动都记下来:SAP 表变更日志 DBTABLOG/DBTABPRT 与 SCU3 全面解析

摘要:SAP系统提供了数据库表变更日志功能(SCU3/DBTABLOG),用于追踪关键配置表的变更历史。该功能通过profile参数rec/client和表级技术设置双重开关控制,能记录谁在何时修改了哪些数据。与业务变更凭证(CDHDR/CDPOS)和应用日志(SLG1)不同,表变更日志提供技术层面的审计线索,适用于快速定位生产事故中的异常数据变更。但需注意其限制:不支持超宽表和大批量变更,且可能引发性能问题。建议将表变更日志与业务变更凭证、应用日志结合使用,构建完整的审计追踪体系。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1690

ScruM与精益(Lean) 软件开发及应用

Scrum在众多的敏捷方法中更多地提供的是一个框架,而精益(Lean)开发则更多地提供了一种思想。二者能很好的结合并相得益彰。 Scrum和精益(Lean)软件开发   传统的软件工程模型与建筑过程极其相似,尤其是瀑布模型。但是,Scrum 和精益却源于制造工业。当他们被引入软件工业的时候,实际上却继承并扩展了传统的软件工程模型和方法。   学过软件工程的人都知道瀑布模型。对于那

rongwenbin的专栏 3558

PCL 使用点云创建数字高程模型DEM【2025最新版】

使用点云创建数字高程模型DEM,并将结果保存为高程图像。博客长期更新,本文最近更新时间为:2025年9月15日。

点云侠的博客 2294

scurm学习笔记

1.世上充满无数的选择和努力。但对于成功,选择大于努力。敏捷开发 是一种选择。 2.传统的开发方式有时候会阻碍产品的发展,甚至人的成功。 3.个体和交互重于过程和工具 敏捷方法认为人是软件开发中最重要的因素,开发团队成员之间有效的 交流、沟通与协作,比单纯的编程能力更重要。人与人之间面对面的交 流,是最有效、最迅速的交换信息方式。 4.可以工作的软件重于面面俱到的文档   

sunhuiliang85的专栏 965

CryoEM - 使用 ChimeraX 工具 操作 冷冻电镜的 MRC 密度图(Density Map) 教程

由冷冻电镜 CryoSparc 软件所生成的 Volume,需要观察其内部结构,建议使用 ChimeraX 进行操作。

AGI 4959

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Scrum与Lean软件开发及应用

ScruM与精益(Lean) 软件开发及应用  Scrum在众多的敏捷方法中更多地提供的是一个框架,而精益(Lean)开发则更多地提供了一种思想。二者能很好的结合并相得益彰。Scrum和精益(Lean)软件开发  传统的软件工程模型与建筑过程极其相似,尤其是瀑布模型。但是,Scrum 和精益却源于制

李林的个人专栏 3655

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

比较 - 精益與敏捷 (Lean vs Agile)

隨著企業界越來越具有競爭力,企業正在考慮改進其業務和生產流程。在尋找最好的詞彙時,大多數人似乎被新的詞彙和行業流行語所淹沒。瀑布,scrum,精益,敏捷 - 它們都意味著什麼? 我之前寫過這篇文章,其中我比較了瀑布和敏捷。簡而言之,敏捷與傳統和結構的瀑布工作方式相矛盾。它允許組織通過允許更小的項目,更靈活的計劃和協作來提高工作效率。 我還寫了關於敏捷和Scrum之間的區別。許多新的敏捷團隊都不...

Warren Lynch 的博客 2996

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

介紹敏捷方法: Scrum, Kanban or Lean?

構建服務時可以使用許多敏捷方法,每種方法都有自己的一套工具和技術。 本指南介紹了3種最流行的敏捷方法: Scrum 看板 Lean 流行的敏捷方法解釋了 Scrum Scrum是最常用的敏捷方法。 它允許高度結構化的模型具有明確定義的角色和職責。這對於正在轉向敏捷的傳統結構化組織尤其有用。 在Scrum指南中了解有關Scrum功能的更...

weixin_34384681的博客 463

Lean 软件开发

Lean (敏捷)是一个我认为没法很好直译的词,它想表达的基本意思是:以最低的成本,最高的效率,最高的质量,及时快速的响应和满足客户的需求。这个词核心想表达的就是:及时快速的响应和满足客户的需求。Lean 还有另外一层含义:所适用的范围是Lean的,也就是相对简单和规模小的任务或者项目,或者能合理划分为小项目集,且依赖关系不是很强的大项目。 每一个行业在成熟度不是很高的时候,或者进入门...

davishu2000的博客 666

从瀑布到敏捷——漫画解读软件开发模式变迁史

先进的生产和管理理念是一个行业从小作坊走向规模化的必经之路,软件工业虽然诞生较晚,但是发展却非常迅速,这也同样得益于软件工业开发和管理理念的发展。这其中就从汽车工业吸收了很多成熟的理念。

qq_58251465的博客 917

XP,RUP与Scrum的比较

极限编程(eXtreme Programming,XP): 希望将软件开发过程中的一些好的方法发挥到极致,注重的核心在于沟通、简明、反馈和勇气,用一句话来概括XP的4个核心价值观就是:通过充分的交流和沟通,使产品的设计尽可能简单明了,同时通过客户经常性的反馈,生产出符合客户要求的软件产品,并且有勇气迎接需求的改变。XP的12个主要实践方法对极限编程具有指导性意义:客户计划的制定、小版本...

416
上一篇: 三种增长模式
下一篇: 浏览器端类EXCEL表格插件 - 智表ZCELL产品V1.0.0.1版本发布
帆张芳显
博客等级 码龄22年 91粉丝 37原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值