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