什么是敏捷开发?

敏捷开发是一种迭代、灵活的软件开发方法,强调用户需求的快速响应和团队协作,适合需求不明确的项目。相比之下,瀑布式开发遵循严格的线性步骤,每个阶段依赖前一阶段的输出,适合需求明确的项目。敏捷开发中的Scrum框架包括冲刺、用户故事和产品待办列表等概念,而敏捷扑克则是一种用于工作量估算的工具,帮助团队达成共识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.是什么?

敏捷开发是一个术语,用于描述迭代软件开发。 迭代软件开发通过在短增量完成工作(通常称为 冲刺 (sprint))。 冲刺通常长达一到四周。 敏捷开发通常与传统或瀑布式开发形成鲜明对比,后者会提前规划大型项目,并根据计划完成它们。每次冲刺交付生产质量代码都需要敏捷开发团队来加快速度。 所有的编码、测试和质量验证都必须在每一次冲刺 (sprint) 中完成。

敏捷开发是一种以用户需求进化为核心、迭代、循序渐进的开发方法。首先把 用户(客户 )最关注的软件原型做出来,交付或上线,在实际场景中去 快速 修改弥补需求中的不足,再次发布版本。通过一些敏捷实践方式,细化story ,提供更小的迭代。如此循环,直到用户(客户)满意。适用于需求不明确、创新性或者需要抢占市场的项目。

总结:简单的说,敏捷开发并不是追求前期完美的设计、完美编码,而是力求在很短的周期内开发出产品核心功能,尽早发布出可用的版本。然后在后续的生产周期内,按照新需求不断迭代升级,完善产品。

瀑布式开发:瀑布式开发的基本流程是 需求 → 设计 → 开发 → 测试 , 是一个更倾向于严格控制的管理模式 。 要求有明确的需求,大家按照需求一步步做好规划,每一阶段工作的完成是下一阶段工作开始的前提,每一阶段都要进行严格的评审,保证各阶段的工作做得足够好时才允许进入下一阶段。这种模式一般适用于需求比较明确、to B 端的项目。

2.二者的区别

1.工作方式

1.敏捷开发

(1)更加强调人的协作(团队之间,客户与团队之间),在高度协作的环境中使用迭代方式进行增量开发。

(2)客户可对每次迭代的成果提出修改意见,开发人员进行调整和完善。

(3)进行多次迭代直至完成产品交付。

2.瀑布式开发

(1)重视和强调过程文档,以文档驱动项目,将软件项目开发周期严格分为几个固定阶段(需求分析、系统设计、软件设计、编码、测试、交付),每个阶段结束都有对应的详细文档作为输出。

(2)上一个阶段的输出就是下一个阶段的输入,直至完成整个开发流程。

2.优点

1.敏捷开发

(1)阶段性成果可以在开发过程中被客户查验,从而降低项目开发的风险性。

(2)灵活性高,需求的变更可在任何时候进行。

2.瀑布式开发

(1)每个阶段目的明确,阶段人员完全专注于该阶段的工作,有助于提高阶段效率。

(2)由于存在详细的过程文档,在早期就能明确出项目的范围和概况,能够更有效的组织和调配资源开展项目。

3.缺点

1.敏捷开发

(1)最终交付的内容无法预测,预测和实际完成的内容经常会有很大的差异。

(2)敏捷需要高水平的协作以及开发人员和用户之间的定期沟通。业务和IT人员在沟通前需要做大量的准备工作,但很多情况下业务的沟通时间无法保证。

2.瀑布式开发

(1)开发过程中大量的文档极大的增加了工作量。

(2)项目后期才能展示成果给客户,增加了项目开发的风险(如果项目最终和客户预期差别很大,会造成项目延期和成本增加)。

(3)需求变更的成本较高(会导致按每个阶段去实施,导致时间成本过高)。

4.适用场景

1.敏捷开发

需求不明确、具有创新或者需要抢占市场的项目。

2.瀑布式开发

软件需求十分明确并且不会有频繁变化的项目。

5.什么是SCRUM?

SCRUM是一个适用于增量式产品开发的管理框架,由一个5-10人左右的跨职能和自组织的团队组成。

它提供了一个包含角色、规则和工件的结构。团队负责在此框架范围内创建和调整他们的流程。

6.基本术语意思

1.冲刺周期(Sprint)

中文译为冲刺、短跑,是Scrum的专有术语。冲刺周期,通俗的讲就是实现一个“小目标”的周期。一般需要2-4周时间。

2.用户故事(User Story)

用户的外在业务需求。拿银行系统来举例的话,一个Story可以是用户的存款行为,或者是查询余额等等。也就是所谓的小目标本身。

3.开发任务(Task)

由故事拆分成的具体开发任务。

7.三个工件

1.产品需求列表(Product Backlog):产品首先将需求按照优先级进行排列,产生一个Product Backlog。作用类似于传统开发中项目经理确定需求文档。产品待办列表就是产品的“what”。PO(产品负责人)通过讲故事的方式,让团队理解产品的目标,帮助整个团队对用户故事有充分和统一的理解。

2.迭代需求列表(Sprint Backlog):有了Product Backlog,我们需要通过Sprint Planning Meeting(Sprint计划会议)挑选出用户故事(Story)作为每次迭代完成的目标。

3.冲刺燃尽图(Sprint burn down):它表示的是剩余工作量与剩余时间的关系,用于提醒大家项目进度和要完成的任务。说白了就是记录当前周期的需求完成情况。

8.四个仪式

1.Sprint计划会(Sprint Planning Meeting):在每个Sprint开始时召开,由全体人员参加。这个会议主要有两件事情要确定。①确定当前Sprint的目标 ②选定当前Sprint要处理的最具价值的用户故事,创建Sprint Backlog(需求列表)

2.每日站会(Daily Scrum Meeting):一般在15分钟以内。团队成员相互交流任务的进展,计划以及遇到的困难。

3.Sprint评审会(Sprint Review Meeting):又叫Sprint演示会、Sprint展示会等,是团队用来展示当前Sprint开发成果的会议。

4.Sprint回顾会(Sprint Retrospective Meeting):用来回顾在当前结束的Sprint中的工作、进行经验总结、反思,并拟定响应的改进措施。

9.什么是敏捷扑克?

一、什么是敏捷估算扑克?

敏捷估算扑克,是一种为了达成共识的工作量估算技能。又称为Scrum扑克,用来估算开发用户故事的相对工作量。每一名团队成员拥有一副不同数字的卡片,他们可以从中出牌(抽出一张卡片),来表示他们开发一个用户故事的估算点数。

二、为什么要做估算?

1.用户需要一个预期,甚至是承诺,这个功能到底什么时候提供。

2.管理层需要可预测性,某些决策需要基于估算而做出,即便这个估算不是那么准确。

3.团队需要了解如何相互协作,在哪个时间节点能够拿到我所需要的接口或素材,据此相应的规划和安排自己的工作。

总结:估算可以帮助我们找到一个合理的计划,给用户、管理层以及团队一个稳定的预期。

三、估算点如何转化为工作量

在估算完故事点后,可以凭经验估算一个故事点的开发工作量,从而得到所有用户故事的工作量,也可以进行试验,试着开发一个用户故事,度量花费的工作量,得到开发效率,即在本项目中一个故事点需要花费多少工时,再去估算所有故事的工作量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值