电话&微信

18600577194

34个必知的敏捷软件开发模式术语

标签: 敏捷开发 2026-02-06 

自诞生20多年来,Agile software development已成为软件领域的主流思想流派。

这一框架衍生出数十种技术、派生框架和Agile methodology,塑造了现代开发者的工作方式。更重要的是,Agile software development形成了一套专属术语体系。对于现代开发者、测试员和项目经理而言,这很关键——他们职业生涯中很可能会接触Agile software development环境。

这份指南帮你温习理解Agile software development及其对现代应用开发的广泛影响时最关键的术语。

敏捷软件开发模式

验收测试(Acceptancetesting)

验收测试通常是软件测试的最后阶段。此时终端用户或客户会测试系统,判断其是否符合约定需求。验收测试能让组织让终端用户参与测试过程,并收集他们的反馈。

Agile manifesto是Agile methodology的核心文件,包含4条关键价值观和12条原则,指导软件开发。2001年,一群被称为“敏捷软件开发联盟”的开发者共同制定了这份Agile manifesto。其四大核心价值观如下:

•个体与互动高于流程与工具

•可工作的软件高于详尽的文档

•客户协作高于合同谈判

•响应变化高于遵循计划

Agile methodology

Agile methodology是一种强调产品开发和交付需灵活务实的方法论。它主张项目管理和软件开发的迭代方式,通过增量改进实现更好的协作与适应性。Agile methodology的指导原则载于Agile manifesto。

Agile methodology是许多软件开发框架和方法论的基础,包括Scrum、看板(Kanban)和实用编程。它的诞生是为了应对瀑布模型等前序思想流派的僵化问题。

Behavior - driven development是一种Agile methodology技术:先定义测试,再让团队补充代码使测试通过。它聚焦用开发者和业务相关方的预期来测试软件。当软件表现符合相关方和开发者的预期时,测试即通过。

Burndown chart

Burndown chart是项目管理工具,可视化展示项目中剩余待完成的工作量。工作量以纵轴上的线条表示,当线条到达纵轴底部,项目即完成。

燃起图(Burnupchart)

燃起图可视化展示项目总工作量及已完成的部分。Agile methodology团队用它结合项目整体范围跟踪进度。燃起图在纵轴上有两条线:一条代表项目总工作量,另一条代表已完成工作量。当两条线交汇,项目即结束。

持续交付(Continuousdelivery,CD)

持续交付是CI/CD流水线的后半段:软件构建经过更全面的测试后,交付部署。验证通过后,成功的构建会被打包部署,移至预发布环境,由人工决定是否部署或退回开发环境。

持续部署(Continuousdeployment)

持续部署类似持续部署(注:原文此处疑为笔误,应为“持续交付”),但进一步自动化流程。构建验证后,持续部署会自动部署,而非交给人工决策。

持续改进(Continuousimprovement)

持续改进(又称Kaizen)指小步增量变化长期积累能带来显著改善。Agile methodology通过快速反馈循环和迭代发布,促进软件开发的持续改进。

持续集成(Continuousintegration,CI)

持续集成自动化开发流水线的早期阶段。在CI中,多个开发者可同时将代码变更合并到共享仓库,随后代码变更会经历一系列自动化测试(如单元测试、集成测试、回归测试)。CI是CI/CD流水线的前半段,当构建完成初步测试并可进入更深入测试时,CI即完成。

每日站会(Dailystand-up)

每日站会是Agile methodology团队的日常会议,旨在提升透明度、识别障碍、解决项目顾虑、强化团队责任。会上每位成员汇报进展并分享当日计划。不同Agile methodology框架有各自的站会版本,例如Scrum的“每日Scrum”明确了各团队角色如何参与会议。

完成的定义(Definitionofdone)

Agile methodology中的“完成的定义”是一份标准和特征清单,规定项目或用户故事需满足这些条件才算完成并准备好进入下一阶段开发。团队在产品增量规划时制定此定义,所有成员必须清楚自己在使项目符合该定义中的角色。

DevOps

DevOps是一种开发理念,旨在促进沟通、打破开发与运维团队的壁垒。它聚焦技术与文化变革,加强两团队协作。DevOps技术案例包括CI/CD流水线(自动化持续开发和部署任务)、实时监控工具(为双方提供洞察,建立共同工作基础)。

动态系统开发方法(DynamicSystemsDevelopmentMethod,DSDM)

DSDM是一种Agile methodology框架,强调用户积极参与、快速交付和业务需求。它因应快速软件交付的需求而诞生,用MoSCoW方法按“必须有、应该有、可以有、现在不需要有”分类优先级排序系统需求。

极限编程(Extremeprogramming)

极限编程是一种Agile methodology技术,强调通过反馈和改进缩短开发周期、增加发布频率来提升软件质量。它让团队并行或持续执行传统开发任务(如代码审查、文档编写)。例如结对编程:一名程序员实时审查另一名编程员的产出,而非完成后才审查。

迭代(Iteration)

迭代是开发过程中完整走完所有步骤的一次循环。例如开发团队完成一个潜在可交付的产品增量,就算完成一次迭代。迭代开发就是反复进行迭代,每轮融入反馈以持续优化产品。

看板(Kanbanboard)

看板是Agile methodology团队用的可视化工具,追踪项目进度。团队将代表不同任务的卡片在板上的列间移动,列代表项目的不同阶段。例如成员完成任务后,可将对应卡片从“进行中”列移到“已完成”列。

精益(Lean)

精益管理或精益生产是一种方法论,聚焦减少浪费、用最少资源达成最终产品。精益原则旨在消除非增值活动、简化流程、持续提升质量与效率。

群体编程(Mobprogramming)

群体编程指多名开发者实时协作完成一项任务,利用集体智慧解决个人难解决的问题。群体编程包含司机、导航员和群体三部分:司机控制电脑,群体讨论问题,导航员将群体想法传达给司机执行。群体还可能设指定协调员,负责引导讨论紧扣主题、聚焦问题。

结对编程(Pairprogramming)

结对编程是Agile methodology实践:两名开发者共同设计、编码和测试用户故事。一人当“司机”控制电脑,另一人专注编程方向、指导司机。它旨在促进团队协作,帮助开发者合力解决个人难啃的问题。

计划扑克(Planningpoker)

计划扑克是协作式、游戏化的Agile methodology估算技术,帮团队预估项目或任务的时间与精力。成员用一副牌各自估算任务耗时,亮牌后讨论估算值并达成共识。

产品待办列表(Productbacklog)

产品待办列表是按优先级排列的产品功能、需求清单,开发团队将其作为动态待办事项清单。

产品负责人(Productowner)

产品负责人是Scrum中的职责/角色,负责定义产品目标、管理产品待办列表、协助团队设定冲刺目标、确保优先处理产品最有价值的部分,并与开发团队和相关方协作。

规模化敏捷软件开发框架(ScaledAgileFramework,SAFe)

SAFe是实现企业级敏捷软件开发落地的框架,支持多团队和复杂项目的协同。它采用自上而下的方法,将技术开发与战略业务目标对齐,融合了敏捷软件开发、系统思维和精益思想。

敏捷开发12条原则

Scrum

Scrum是敏捷软件开发项目管理和开发框架,强调责任、团队协作和迭代开发。Scrum团队有三个核心角色(Scrum指南称“职责”):Scrum主管、产品负责人、Scrum开发者。冲刺通过将开发工作拆分为短迭代降低风险,让团队更灵活地收集和融入反馈。

Scrum主管(Scrummaster)

Scrum主管是Scrum三大职责之一,担任团队协调员和敏捷软件开发教练,主要目标是清除团队进展障碍,确保团队遵循敏捷软件开发原则。

Scrumban

Scrumban是混合敏捷软件开发框架,融合Scrum和看板。它沿用Scrum的事件(冲刺、每日Scrum、回顾会),并纳入看板对可视化工作流和限制进行中工作的强调。

软件开发生命周期(Softwaredevelopmentlifecycle,SDLC)

SDLC是软件开发过程的阶段划分,包括规划、分析、设计、实现、测试、部署和维护。它为软件项目从构思到部署提供可重复的指南。

冲刺(Sprint)

冲刺是固定时长的工作周期,期间必须完成开发任务。冲刺包含规划会、每日进度会和冲刺评审会(团队向干系人演示成果并收集反馈)。在Scrum框架中,冲刺时长不超过一个月。

故事点(Storypoints)

故事点是敏捷软件开发估算技术,衡量开发团队完成任务或用户故事所需的精力,不考虑时间,只关注努力程度。

持续集成和持续交付如何相互配合

测试驱动开发(Test-drivendevelopment,TDD)

TDD是敏捷软件开发实践:团队先写测试,再写代码。TDD初期无代码,所有测试均失败;团队迭代写代码,直到测试通过。

三友会议(ThreeAmigosmeetings)

三友会议是协作会议,旨在为冲刺规划和评估对齐业务、开发、QA人员的视角。通常由业务人员/产品负责人、开发者、QA专业人员参加,帮助就“产什么、怎么产、如何评估”达成共识。

时间盒(Timebox)

时间盒是为完成任务或活动分配的固定时长。许多敏捷软件开发活动都明确时间盒,例如冲刺通常在固定时间内进行(一般不超过一个月)。时间盒旨在提升团队专注度和效率。

用户故事(Userstories)

用户故事是从用户视角对软件功能或需求的简要描述,通常格式为:“作为(用户),我想要(操作),以便(结果)发生。”它说明特定功能或需求如何为用户创造价值,是开发者排定工作优先级的工具。