敏捷或敏捷方法论或敏捷过程是什么意思?
敏捷方法,顾名思义,是一组方法和实践,其中进行软件开发和项目管理,以在称为冲刺的短开发周期中交付以客户为中心的产品。这是一种迭代方法,每次迭代都经过专门设计,规模小且易于管理,以便可以在特定的给定时间段内交付。随着时间的推移,敏捷方法对不断变化的需求持开放态度,并鼓励来自最终用户的持续反馈。这是最受欢迎的方法,因为在此过程中,客户也参与其中,以便他们可以获得有关其产品的更新,并确保他们是否满足他们的要求。
基本的敏捷常见面试题和答案合集1. 敏捷方法论有哪些不同类型?
敏捷面试题解析:下面列出了世界上广泛用于软件开发和项目开发的不同类型的敏捷方法或框架:
- Scrum:用于建立假设、测试它们、反思经验以及进行调整。它在很大程度上取决于反馈、自我管理、小团队以及将工作分解为冲刺。它依赖于增量开发。
- FDD(Feature-Driven Development):一般每两周创建一次软件模型,还需要对每一个模型功能进行开发和设计。它基本上是一个轻量级的迭代和增量软件开发过程,其主要目的是按时交付稳定且可工作的软件。
- 精益软件开发:它基本上是一种减少浪费和最大化价值的方法。它更注重流程效率,以实现客户价值的最佳结果。它完全基于两个指导原则,即尊重人和持续改进。
- XP(极限编程):它的主要目的是为开发团队生产更高质量的软件和更高质量的生活。它被认为是低风险、灵活的,是一种开发软件并确保客户得到他们需要的方法。在这种方法中,软件从第一天开始就进行测试,收集反馈以改进开发过程。
- DSDM(动态软件开发方法):它通常关注整个项目生命周期,主要目的是确保良好的治理作为项目管理的基础。它是用户驱动的,并相信对项目的修改始终是预期的。它还提供了一个完整的路线图,以在预算范围内按时交付产品。
- ASD(Adaptive System Development):它代表了项目应该始终处于持续适应状态的思想,具有推测、协作和学习三个重复系列的循环。
- Crystal Methodology:它主要关注个人及其互动,而不是过程。它被认为是开发软件的最轻量级和最灵活的方法之一。它是一系列敏捷方法,包括不同的变体,如水晶般透明、水晶黄、水晶橙和水晶红。
- Kanban:看板项目一般通过看板或表格(Kanban Board)进行管理。该看板是一种工具,可帮助团队成员密切关注工作流以衡量其进度,并包含每个阶段需要在产品上完成的所有信息及其完成路径。其主要目的是任务管理的灵活性、持续改进和增强的工作流程。
好处
使用敏捷流程有几个优点,如下所示:
- 适应不断变化的需求
- 与团队成员和客户面对面交谈
- 专注于卓越的技术和良好的设计
- 快速持续的发展
- 实现客户和项目团队之间的协作和互动
- 确保和提升客户满意度
- 来自客户或最终用户的更快反馈
- 快速识别和消除代码中发现的错误
- 将敏捷项目划分为冲刺或迭代,即通常为 1-4 周的短且可重复的阶段
- 快速交付产品
- 易于管理,更灵活
- 最终目标可能是未知的:敏捷有利于没有定义目标的项目,随着项目的进展,目标变得更加明显。
使用敏捷流程有几个缺点,如下所示:
- 缺乏正式的文档和设计
- 难以估计资源需求和工作量
- 不适合小型开发项目
- 与其他开发方法相比成本高
- 需要每个人更多的时间和精力
- 长期项目的风险
- 大型项目难以规模化
- 测试和测试构建困难。
敏捷测试,顾名思义,是一个软件测试过程,其中测试软件是否存在任何缺陷、错误或其他问题。它被认为是开发过程的核心部分,因为它使测试人员和开发人员能够作为一个团队一起工作,从而提高整体性能。它还有助于确保成功交付高质量的产品。执行测试通常是为了让测试人员可以在开发过程的每个阶段及早发现和解决问题。
敏捷测试的原则
敏捷测试的八个主要原则如下:
- 持续测试:敏捷团队应该持续进行测试,以确保持续的开发进度。
- 持续反馈:这个过程通常鼓励从客户那里获取反馈,以确保产品满足客户或客户的要求。
- 团队工作或集体工作:不仅测试人员,开发人员、业务分析师也可以执行软件测试或应用程序测试。
- 干净的代码:在团队测试软件以确保代码干净、简单和紧凑时,软件质量得到维护。在测试阶段发现的所有错误和缺陷都由敏捷团队在同一次迭代中快速修复。
- 更少的文档:这个过程通常涉及使用可重复使用的清单而不是冗长的文档。
- 测试驱动:在其他传统方法中,测试只在实施之后进行,而在敏捷测试中,测试是在实施过程中进行的,以便及时消除错误或任何问题。
- 客户满意度:在敏捷测试过程中,向客户或客户展示开发进度,以便他们适应和更新他们的需求。这样做是为了确保客户满意。
敏捷测试人员应该具备几个良好的品质。其中一些如下所列:
- 积极的态度和解决方案为导向
- 专注于目标
- 高超的交流技巧
- 了解并满足客户的要求
- 关于敏捷过程及其原理的基本知识
- 批判性和创造性思维
- 有效地分享想法
- 根据需求计划和优先考虑工作
- 应对变化
重构基本上是一种涉及改变或修改软件内部结构而不改变其外部行为或功能的活动。在此,开发人员进行一些更改或修补代码以增强和改进软件的内部结构。敏捷软件开发过程中最流行和最广泛使用的重构技术之一是红绿。重构过程使代码更具可读性、可理解性和简洁性。不断重构的习惯有助于更容易地扩展和维护代码。
6. sprint backlog 和 product backlog 有什么区别?
Sprint Backlog:一般归开发团队所有。它只包含与特定冲刺相关的那些特性和要求。它被认为是产品待办列表的一个子集。它汇集了完成特定冲刺必须完成的所有工作。它只包括可以在每个敏捷冲刺期间完成的项目。它仅针对特定冲刺中的冲刺目标。
Product Backlog:它通常由项目所有者拥有和维护。它通常包含产品的每一个特性以及产品的要求。它被编译为完成整个过程必须做的一切。它只是将每个项目分解为一系列步骤。它更具体到产品的最终目标。
7. 敏捷中的 Spike 和 Zero Sprint 是什么?
Spike:它通常指的是软件开发中过于庞大和复杂的用户故事,在开发团队进行限时调查之前无法估计。这些故事可用于各种活动,如研究、设计、探索、原型制作等。创建尖峰通常是为了解决项目中的一些技术问题和设计问题。
Zero Sprint:它通常是指第一个冲刺之前的第一步或预准备步骤。它包括所有活动,例如设置开发环境、准备待办事项等。
8. 敏捷方法论和传统软件开发方法论有什么区别?
敏捷软件开发:它是一种用于设计复杂软件的迭代方法。在这种方法中,项目团队可以更加灵活,并确保最终满足客户的要求。它开发以客户为中心的产品并在更短的冲刺中交付。
传统软件开发:它是一种用于设计简单软件的线性方法。在这种方法中,过程的所有阶段通常按顺序发生。更适合范围内变化的可能性可以忽略不计的项目。
敏捷软件开发 | 传统软件开发 |
---|---|
这种方法更侧重于团队合作、灵活性、客户协作和功能。 | 这种方法更侧重于前期规划,并重视成本、范围和时间等因素。 |
在这种情况下,测试通常与开发活动并行进行。 | 在这种情况下,测试通常在开发活动结束时进行。 |
在这种情况下,测试是在小功能上完成的。 | 在这里,测试是在整个应用程序上完成的。 |
它涉及开发过程中的各种利益相关者,包括客户。 | 它不涉及开发过程中的所有利益相关者。 |
在这种方法中,测试人员和开发人员作为一个团队一起工作以实现目标。 | 在这种方法中,测试人员和开发人员分开工作。 |
他们在整个流程的每一步都与客户合作。 | 他们只在需求阶段与客户合作。 |
与传统流程相比,敏捷流程更加专注和灵活。 | 与敏捷流程相比,传统流程的灵活性较低。 |
这种方法更适合大型或更复杂的项目。 | 这种方法更适合小型或不太复杂的项目。 |
速度基本上是一个度量单位,用于度量或计算敏捷开发团队在单个 sprint 中可以成功完成多少工作以及完成一个项目需要多少时间。它被广泛用作校准工具,可帮助开发团队创建准确高效的时间表。它还用于识别问题并衡量随时间发生的改进。
10. 每日站立会议是什么意思?
每日站立会议是敏捷团队所有成员之间的日常会议。它的主要目的是了解每个从事 Scrum 任务的团队成员的当前进度和表现。会议主要在早上举行,通常涉及产品负责人、开发人员和 Scrum 主管。
这些会议通常出于以下原因:
- 知道昨天做了什么,今天有什么计划。
- 为了更好地理解目标。
- 确保每个团队成员都朝着同一个目标努力。
- 聚焦团队成员的问题,以便问题能够得到快速解决。
- 让每个人都了解最新信息并帮助团队保持井井有条。
迭代开发:它基本上是一个软件开发过程,其中重复软件开发周期(冲刺和发布),直到获得最终产品。根据客户或用户的反馈,产品再次以循环或发布和冲刺的方式开发,即以重复的方式添加新功能。
增量开发:它基本上是一个软件开发过程,其中开发工作被分成增量、片段或部分。在这种情况下,软件是分块或增量开发和交付的,每个块都有一套完整的功能。增量可大可小,每个增量都经过充分编码和测试。在测试每个增量后,它们都被集成在一起,以便它们作为一个整体工作。
12. 敏捷常见的面试题有哪些:什么是产品路线图?
顾名思义,产品路线图是一种强大的工具,用于描述产品随着时间的推移可能会如何增长。它是创建产品愿景的产品功能的整体视图。它还表明正在构建什么开发、新产品将实现的业务目标、产品将解决的问题等。产品路线图归产品经理所有。它还鼓励开发团队共同努力以实现成功交付产品的预期目标。
13. 敏捷中最常用的项目管理工具有哪些?
敏捷面试题解析:敏捷中使用的不同项目管理工具是:
- Icescrum
- Rally Software
- Agilent
- Version One
- Agilo
- X-planner
敏捷:它是一种主要用于软件开发的方法。在这种方法中,复杂的项目被分解为可在特定时间范围内实现的较小单元。它始终让客户参与到开发过程中。
Scrum:敏捷方法有很多种,Scrum 就是其中之一。它促进类似于敏捷的问责制、职能和团队合作。简而言之,它是敏捷方法论的一种改进方式,与敏捷的原则和价值观相同,但添加了一些自己的独特功能。
敏捷 vs Scrum
敏捷和 Scrum 都在软件开发周期中为客户提供完美的体验,并共享类似的方法,例如协作迭代。但是,两者都不能相互替代。选择其中任何一项进行项目开发,主要取决于项目类型、预算、时间和可行性。它们之间有几个区别,如下所示:
敏捷 | Scrum |
---|---|
它是一种用于软件管理和项目管理的方法论。 | 它只是敏捷的一种形式,它完整地描述了过程及其步骤。 |
它强调称为冲刺的增量和迭代模型。 | 它基本上是敏捷方法论的一种方法或实现。 |
它最适合通常涉及小专家团队的项目。 | 它最适合需要不断处理不断变化的需求的项目。 |
这是一个长期的过程。 | 这是一个缓慢的过程。 |
它需要简单明了的设计和执行。 | 它需要创新、创造设计和执行。 |
在这种情况下,所有任务都由项目负责人处理和管理。 | 在这种情况下,所有任务和问题都由整个团队成员处理和处理。 |
它强调面对面的交流以实现预期目标。 | 它专注于提供最大的商业价值。 |
这是一种不太严格的方法,具有更大的变化灵活性。 | 这是一种更严格的方法,更改的灵活性较小。 |
结对编程,顾名思义,是一种编程,其中两个人一起编写代码并在一台机器或计算机上并排工作。它基本上是一种主要用于敏捷软件开发的技术。在这种类型的编程中,一个人编写代码,另一个人检查和审查每一行代码。他们两人也在工作中转换角色。
结对编程的优点
- 开发更高质量的代码
- 降低出错风险
- 分享知识的有效方式
- 提高生产力
- 改进团队协作
敏捷宣言基本上是一份包含在敏捷中表达的价值观和原则的文件。它创建于 2001 年初。它仅由 4 个价值观和 12 个关键原则组成。该宣言帮助开发团队更高效地工作,并提供了一个清晰且可衡量的结构,以促进团队协作、迭代开发等。它专门用于改进开发方法。
4 个敏捷价值观
- 个人和交互胜过流程和工具:它侧重于更加关注和重视与客户的沟通。
- 综合文档之上的工作软件:它专注于项目的完成并确保项目正在完成最终的可交付成果。
- 合同谈判之上的客户协作:它侧重于让客户参与项目的所有阶段,以便最终产品不会缺少客户需要的任何要求。这样做是为了确保 100% 的客户满意度。
- 响应变更而不是遵循计划:它专注于变更并激励团队快速采用变更,以便交付更高质量的产品。因此,敏捷在短期冲刺中起作用,以便可以永远利用变化。
- 客户满意度:第一要务是满足客户需求,确保客户100%满意。
- 欢迎更改:更改对于改进很重要,因此即使在开发过程的后期,也可以在整个开发期间引入和解决更改。
- 频繁交付:产品必须尽快交付,因此专注于更短的时间范围。
- 协同工作:业务利益相关者和团队成员在开发过程中协同工作,以实现更好的协作。
- 激励团队:为了提供高质量的产品,团队成员受到激励和鼓励。为团队成员提供有效执行所需的环境和支持。
- 面对面: 敏捷强调面对面的沟通,这是最有效和最高效的信息传达方式。它可以帮助团队以有效的方式传达简单和复杂的信息。
- 工作软件:向客户交付工作软件是敏捷的主要关注点。可工作的软件或产品是最终产品进展的主要衡量标准。
- 恒速:敏捷促进可持续发展。参与敏捷过程的所有团队、赞助商、开发人员和用户都应保持恒定速度,以在短时间内交付可工作的软件。
- 良好的设计:专注于良好的设计和技术细节,以提高质量和敏捷性(快速而优雅)。
- 简单性:团队专注于必不可少的任务和功能,并减少在复杂功能和不必要的任务上花费的工作量和时间。这样做是为了让事情变得简单。
- 自组织:敏捷团队应该是跨职能和自组织的。不应该依靠经理来分配工作,而应该找到自己的工作并管理职责和时间表。这样的团队不仅有助于交付高质量的软件,而且还提供最好的设计、需求和架构。
- 反思和调整:为了提高团队的效率,团队定期反思如何提高效率并评估他们的工作风格。这样做是为了让人们可以从他们的错误中吸取教训,并采取一些措施来提高他们在下一次迭代中的表现。
燃耗图:是一种图表,用于显示或表示已完成的工作量以及冲刺或迭代的总工作量。
燃尽图:是一种图表,用于显示或表示项目中尚待完成的工作量。这些图表非常简单易懂。
18. 燃尽图有哪些不同类型?
下面列出了不同类型的燃尽图:
- 产品燃尽图:这是一种图表,用于显示每个已完成 sprint 的故事点,以便描绘需求随时间的完成情况。它主要显示团队正在实现多少产品目标以及剩余的工作量。
- Sprint Burndown Chart:这是一种图表,用于显示特定 sprint 的 Scrum 团队的剩余工作。它使团队的工作可见,并显示完成工作的速度和剩余的工作量。
- 发布燃尽图:这是一种图表,用于显示团队如何针对发布工作取得进展。该图表由 Scrum 团队在每个冲刺结束时更新。查看每个冲刺期间正在执行的过程非常重要。
- 缺陷燃尽图:这是一种图表,用于显示正在识别和修复或删除的缺陷总数。
除了 Scrum 之外,三个主要的敏捷框架是:
- kanban
- 测试驱动开发 (TDD)
- 功能驱动开发 (FDD)
规划扑克,也称为 Scrum 扑克,是一种基于共识的技术,它不仅可以帮助敏捷团队估计完成产品待办事项上每个计划所需的时间和精力,而且还可以提前确定问题,并在一个过程中识别问题。用户的故事。它使会议更简短、更有成效,并在整个团队的参与下进行估算。主要用于避免其他参与者的影响,迫使每个人独立思考并发表意见。
21. :敏捷常见的面试题有哪些:什么是 Sprint 计划会议、Sprint 评审会议和 Sprint 回顾会议?
- Sprint 计划会议:在这次会议中,讨论对团队很重要的功能和产品待办事项(用户故事)。该会议通常由产品负责人、Scrum Master 和 Scrum 团队参加。这是每周一次的会议,通常持续大约一个小时。
- Sprint 评审会议:在这次会议中,Scrum 团队对产品进行了演示。在此之后,产品负责人确定哪些项目已完成,哪些未完成。他还根据客户或利益相关者的反馈,在产品待办列表中添加了一些额外的项目。它的主要目的是检查在 sprint 中创建的产品并在需要时对其进行修改。
- Sprint 回顾会议:该会议在 Sprint 计划会议之后举行。在这次会议中,Scrum 团队再次开会,自我检查并讨论过去的错误、潜在问题和解决方法。本次会议的主要目的是改进开发过程。本次会议持续约2-3小时。
增量只是冲刺期间完成的所有产品待办事项列表项的总和或总和,以及所有先前冲刺的增量值。它是当前和之前 sprint 中完成的总工作量。
23. 敏捷的标准或通用指标是什么?解释。
敏捷指标基本上是用于衡量团队工作的标准指标。这些指标用于确定工作质量、生产力、进度、团队健康等。其主要关注点是交付给客户的价值以及最终用户受其影响的程度。
敏捷项目的标准指标
- 速度:它衡量开发团队在冲刺期间完成的工作量。它给出了关于进度、能力等的想法。
- 累积流程图:它是用于衡量团队正在进行的工作的当前状态的流程图。它仅用于跟踪敏捷团队的进度和管理流程稳定性。
- 缺陷移除意识:用于衡量开发团队在发布前移除缺陷的能力。它有助于通过工作团队保持产品质量。
- 工作类别分配:用于衡量我们将时间花在或投入的地方,以便我们可以调整优先级。
- Sprint Burndown Metric:用于衡量与估计的 Scrum 任务相比已完成的sprint或任务的总数。它通常会跟踪 Sprint 期间任务的进展情况。
- 缺陷解决时间:用于衡量团队识别和修复软件中的缺陷或错误所花费的时间。修复错误涉及多个过程。
- 时间覆盖率或代码覆盖率:用于衡量在测试期间给予代码的时间。它有助于了解测试了多少代码,还有助于评估测试性能。
- 交付的商业价值:用于衡量工作团队的效率。
Scrum 是一个轻量级的流程框架,可帮助 Scrum 团队协同工作并管理产品开发以在最短的时间内交付产品。Scrum 团队在最短的时间内提供的产品称为印刷品。它的主要目的是在基于团队的开发环境中管理任务。它特别用于管理软件产品的项目开发,也可用于与业务相关的上下文。
Scrum的优势
- 快速向用户和客户发布产品
- 确保有效利用时间和金钱,从而节省成本
- 最适合快速发展的项目
- 能够在发生变化时进行整合
- 强调创造力和创新以增加商业价值
- 大而复杂的项目被分成小而易于管理的冲刺
敏捷面试题解析:Scrum 中基本上有以下三种不同的角色:
Scrum Master: Scrum Master 基本上是团队的团队领导或主管,负责确保 Scrum 团队正确执行提交的任务。
产品负责人:产品负责人基本上是项目的利益相关者,负责管理产品待办事项。他还负责定义为团队构建什么的愿景。
开发团队:它涉及一个人,每个人负责共同完成一个特定的项目。团队负责开发实际的产品增量并实现冲刺目标。
26. Scrum Master 是什么意思?Scrum Master 的职责是什么?
Scrum Master,也称为仆人式领导者,是 Scrum 的主人,即负责管理和促进敏捷开发团队并确保遵循 Scrum 框架的人。Scrum master 也被称为团队的教练,帮助团队成员尽可能地做到最好。
Scrum Master的职责
- 保护团队免受干扰
- 激励和引导团队实现冲刺目标
- 建立一个自组织和积极进取的团队
- 提高团队的效率和生产力
- 确保团队在冲刺期间交付预期价值
- 确保团队遵循 Scrum 的价值观、实践和原则
- 消除外部障碍并管理内部障碍
- 主持会议并解决任何类型的问题
Scrum 框架有三个主要工件:
- 产品待办列表:它是客户或利益相关者在产品中需要的所有需求的列表,应该在项目结束前完成。
- Sprint Backlog:它是所有已完成的用户故事、错误修复、工作项等的列表,由 Scrum 完成并选择要在当前 sprint 期间完成。
- 产品增量:它是每个 Sprint 完成后得出的最终产品的版本。
Scrum 活动中通常会使用很多技术术语。其中一些如下所示:
- Epic:基本上是一个无法在一个sprint中完成的大故事。因此,史诗在被处理之前被细分为多个更小的用户故事。
- 用户故事:这些是可以在一个 sprint 中安装和完成的最小单元。用户故事进一步细分为不同的任务。
- 任务:这些是将用户故事转化为可行组件所必需的详细工作。
Scrum 项目中最常用的工具有:
- Version One
- Sprintster
- Atlassian JIRA
- RTC Jazz等
时间盒是一种重要的时间管理技术或工具,用于限制完成任务所花费的时间。它只是允许每个任务有一个固定的时间单位,这个单位被称为时间盒。时间框的最大长度为 15 分钟。它不仅有助于提高注意力,还有助于提高生产力。在 Scrum 中有一些事件,所有这些事件都是有时间限制的,这意味着所有这些事件都分配有任务的最大和固定时间单位。下面列出了有时间限制的事件:
- 短跑
- 冲刺计划
- 每日站会
- 冲刺回顾
- 冲刺回顾
障碍是阻碍或阻止团队合作进展的东西。这会导致团队无法以更好的方式按时执行任务,从而也降低了速度。消除或解决障碍是 Scrum 主管的责任。障碍可以是如下所列的任何内容:
- 缺少资源
- 严格的老板或团队成员
- 技术或操作问题
- 停电
- 缺乏对敏捷或 Scrum 的理解
- 外部问题,如战争、天气等。
- 业务问题
敏捷面试题解析:生鱼片基本上是一个日语单词,意思是刺穿身体。在scrum中,生鱼片是一种简单的用来检查产品展示后是否所有功能(软件开发周期的每个阶段)是否完成的技术。功能包括需求分析、规划、设计、开发、测试和文档。
33. 解释 Scrum 中的术语“故事点”。
故事点基本上是一个单位,用于估算完成或执行特定任务或用户故事所需的总工作量。它提供更准确的度量,减少计划时间,更准确地预测发布日期。
34. 敏捷常见的面试题有哪些:Scrum of Scrums (SoS) 是什么意思?
顾名思义,Scrum of Scrum 是一种敏捷技术,涉及与多个 Scrum 团队会面并整合每个团队在同一项目上的工作。简而言之,它协调多个团队的工作,这些团队需要协同工作以交付复杂的解决方案。在这次会议上,各个团队的成员或代表分享了他们对各自团队工作的高级更新。其主要目的是通过消除障碍(如果存在)来确保协调和整合多个团队的输出。
敏捷常见面试题和答案合集结论35. 结论
【敏捷常见的面试题有哪些(问题和答案解答)】完成上述主题后,你一定已经了解敏捷方法论的确切含义以及与之相关的其他重要主题。简而言之,敏捷是一个完全基于灵活性、透明度、质量和持续改进的过程。它不仅涉及客户,还帮助团队成员更有效地管理工作并有效地工作,以在预算范围内提供最高质量的产品。所有上述问题都是最近在面试中提出的,将帮助你破解你的面试。
推荐阅读
- 面试技巧(Jenkins常见面试题和答案集锦)
- 面试技巧总结(Java常见面试题和答案合集)
- Ansible经典面试题有哪些(问题和答案解析)
- PL SQL常见面试题和答案合集(求职面试必备)
- Power BI常见面试题有哪些(问题和答案解答)
- Spring Boot常见面试题有哪些(求职面试必备)
- 联想w7系统安装办法
- 索尼win7 64位旗舰版2016系统推荐
- w7系统安装办法