首页 > 其他分享 >读从瀑布到敏捷一 漫画解读软件开发模式变迁史

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

时间:2023-03-24 21:58:47浏览次数:52  
标签:KANBAN 迭代 软件开发 SCRUM 敏捷 开发 漫画

软件开发模式有瀑布模型、敏捷开发、看板、SCRUM和精益软件开发,除了瀑布模型,其他模型有着不可分割的关系。

所谓瀑布模型,就是说,软件开发是按照一定顺序展开的(传统线性生产流程 : Traditional,linear production flow)。总体上就分为:需求 → 设计 → 制造 → 测试,四个阶段。  

敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。,敏捷开发的一个前提假设是:用户不可能在产品开发之前,设计之初就完整、明确的提出需求。期望用户在开发过程中不变更需求是不现实的。用户在开发前提出的需求,可能并不是它们最终希望得到的。在敏捷开发中,客户会参与到软件开发的整个流程中。整个开发过程不再是一堵不透风的墙,透明是关键(TRANSPARENCY IS KEY),但是,随着越来越多的用户参与进来,越来越多的问题也暴露出来了,越来越多不着调的需求也会被提出。敏捷开发的另一个重要概念就是迭代,所谓迭代,就是不断对产品进行细微的、渐进式的改进(Small incremental changes)。在敏捷开发中,生产不再是线性的,开发的同时还会进行测试工作。利用敏捷模式开发出的产品,相较于传统的软件交付方式,一个显著的特点是能够及时响应客户需求的变更,不断适应新的趋势。

看板管理,常作“Kanban管理”,是丰田生产模式中的重要概念,指为了达到及时生产(JIT)方式控制现场生产流程的工具。及时生产方式中的拉式(Pull)生产系统可以使信息的流程缩短,并配合定量、固定装货容器等方式,而使生产过程中的物料流动顺畅。

在敏捷开发领域,SCRUM是一种迭代式增量软件开发过程,它包括了一些预定义的角色:产品负责人 Product OwnerScrum   主管 Scrum Master   SCURM Master 对整个SCRUM 过程负责,不惜一切代价(AT ANY COST),保证团队的工作时间和计划。在 SCRUM 过程中,开发团队通常会进行冲刺 (Sprint),一个冲刺周期的长度通常是2-4周。在这个冲刺过程中,开发小组专注于完成一组订单项的开发。对于KANBAN 和 SCRUM,有人说 KANBAN vs SCRUM,也有人说 KANBAN+SCRUM,究竟谁是谁非,我看只有适合自己团队的才是最好的,毕竟方法和流程是为业务服务的。就这篇漫画来看,SCRUM + KANBAN 是两个避免混乱的好方法。

精益软件开发不再像传统的软件开发一样,耗时几年才向客户交付完整的软件。取而代之的是,优先建立一个最简可用的原型产品投放市场或交付到客户手中。

实际工作中的软件开发和管理模式,往往并不能纯粹的归类于以上某种类型。即使是相同的开发模型,在不同的团队中也往往会根据实际情况进行变化和改进。

 

标签:KANBAN,迭代,软件开发,SCRUM,敏捷,开发,漫画
From: https://www.cnblogs.com/Stars-125/p/17253448.html

相关文章

  • 传统开发计划和敏捷开发计划
            ......
  • 软件开发需要编程作为最基本的基础
    软件开发需要编程作为最基本的基础,软件开发更是一门艺术,编程也是一门手艺,那么小编今天就来说一说我的个人技巧还有经验.软件开发1.作为一个软件的开发技术,我们要言出必行......
  • (转)漫画 | 带你领略前端发展史的江湖恩怨情仇
    时间总是过得很快,似乎快得让人忘记了昨天,前端WEB领域的发展更是如此,转眼间已是近30年,时光荏苒,初心不变,在一代又一代前端人的努力下,前端已经是互联网不可或缺的一部分。......
  • 《Qura精选:为什么软件开发周期总是预估的2~3倍?》读后感
    读了《Qura精选:为什么软件开发周期总是预估的23倍?》后,我大概对为什么软件开发周期总是预估的23倍?这问题有了自己的理解。文章中用了徒步旅行这个例子来描绘了软件开发。一......
  • 组装式应用新趋势:小程序技术科提高软件开发效率
    随着移动互联网的普及,移动应用的需求逐渐增加,而小程序作为一种轻量级的应用形式,逐渐成为了移动应用开发的一种趋势。小程序具有轻量化、低门槛、易于传播等特点,越来越多的......
  • 为什么软件开发周期总是预估的2~3倍?
    软件开发周期总是预估的2~3倍,这是由于很多因素造成的。根据blog.csdn.net,以下是一些可能的原因:计划永远赶不上变化。软件开发周期是根据编程能力和用户需求进行估算的,但......
  • Java敏捷开发框架 高效搭建数据报表
    随着数字化转型在企业中不断深入推动,对企业的财务领域的转型也带来巨大的冲击。外部市场环境的快速变化,使企业经营者的决策时间从原来的几年和几个月缩短到几周甚至几天,组......
  • 直播平台软件开发,React onDrop拖拽事件
    直播平台软件开发,ReactonDrop拖拽事件拖拽节点时传递数据,拖拽事件触发时目标节点为边框闪动样式 拖拽节点 <divid={'ChartListItem'+deepItem.selectId}  cl......
  • 软件开发的一些思考
    1.测试驱动开发1)测试驱动开发是有争议的。有些人鼓吹它的好处,有些人却质疑它的有效性。鼓吹和质疑者中都不乏大佬。2)测试贯穿开发过程(包括规划,设计过程),这个理念很对,目的......
  • 开发模型的理解:瀑布模型/增量式/迭代/敏捷开发——笔记
    首先,不管采用何种开发模型。软件开发都至少具有以下的周期,包括:需求获取/分析(系统分析、软件分析)设计实现测试发布(运行)维护既然所有的开发模型都具......