敏捷开发中软件架构设计与实践_李声威
软件工程实践指南:敏捷开发与版本控制

软件工程实践指南:敏捷开发与版本控制导言:软件工程实践是指通过系统化的方法和原则来设计、开发、测试和维护软件的过程。
在软件工程实践中,敏捷开发和版本控制是两个重要的方面。
本文将详细介绍敏捷开发和版本控制的定义、步骤和实践方法。
一、敏捷开发1. 定义:敏捷开发,又称为敏捷软件开发,是一种迭代和增量的开发方法,强调团队合作、快速适应变化和持续交付的原则。
2. 步骤:a. 客户需求收集:与客户密切合作,深入了解客户的需求和期望。
b. 产品backlog管理:将客户需求转化为产品backlog,按优先级排序。
c. 迭代计划:将产品backlog分解为可执行的迭代计划。
d. 迭代开发:按照迭代计划进行软件开发,每个迭代通常持续1-4周。
e. 迭代回顾:每个迭代结束后进行回顾和总结,改进下一次迭代计划。
f. 持续交付:根据业务需求,及时交付可用、可测试的产品版本。
3. 实践方法:a. Scrum:是一种常用的敏捷开发方法,以产品backlog、迭代计划和迭代回顾为核心。
b. Kanban:通过可视化的方式管理任务流程,实现任务优先级和进度的可视化控制。
c. 用户故事:以用户角色、目标和愿望为基础,将需求表达为简洁的故事型描述。
d. 自动化测试:通过自动测试工具和框架,提高测试效率和软件质量。
二、版本控制1. 定义:版本控制,又称为代码管理或源代码控制,是一种管理和跟踪软件开发过程中代码版本的方法。
2. 步骤:a. 创建代码仓库:使用版本控制工具创建代码仓库,保存和管理代码的历史版本。
b. 分支管理:根据开发需要,创建主分支和功能分支,分别用于稳定版本和新功能开发。
c. 提交和合并:开发人员通过提交代码来记录代码变更,并通过合并操作将多个分支的代码合并到主分支。
d. 冲突解决:当多个开发人员同时修改同一文件时,可能会产生冲突,需要手动解决冲突。
e. 版本发布:当达到一个稳定的阶段时,可以将代码发布为一个新的版本,用于部署和交付。
敏捷开发知识体系整体框架

1敏捷开发知识体系整体框架1.1敏捷开发工程实践• 迭代开发• 风险价值生命周期 • 多级项目规划 完整团队• 每日站立会议 • 任务板 •燃尽图1.1.2 需求管理• 需求订单 • 业务流程草图 • 用例驱动开发 •用户故事1.1.3 架构• 演进的架构 • 演进的设计•基于组件的架构设计1.1.4 开发• 结对编程 • 测试驱动开发 • 重构 •代码规范1.1.5 测试• 单元测试 • 并行测试 •测试管理1.1.1 项 目管1.1.6变更管理•持续集成•自动构建•团队变更管理1.2 敏捷开发管理实践描述•定义和特征说明•主要角色•主要活动和最佳实践•主要输入输出•工作流程1.3敏捷开发工程实践描述•定义和特征说明•应用说明•案例说明2敏捷开发核心价值观和原则2.1 敏捷软件开发宣言•个体和互动高于流程和文档•工作的软件高于详尽的文档•客户合作高于合同谈判•响应变化高于遵循计划•也就是说,尽管右项有其价值,我们更重视左项的价值.2.2 敏捷软件开发的核心价值观敏捷开发的核心理念就是以最简单有效的方式快速打成目标,并在这个过程中及时地响应外界的变化,做出迅速的调整.2.2.1核心价值观•以人为本•目标导向•客户为先•拥抱变化2.2.2敏捷开发的原则•我们最重要的目标,是通过持续不断地及早交付有价值的软件使客户满意。
•欣然面对需求变化,即使在开发后期也一样。
为了客户的竞争优势,敏捷过程掌控变化。
•经常地交付可工作的软件,相隔几星期或一两个月,倾向于采取较短的周期。
•业务人员和开发人员必须相互合作,项目中的每一天都不例外。
•激发个体的斗志,以他们为核心搭建项目。
提供所需的环境和支援,辅以信任,从而达成目标。
•不论团队内外,传递信息效果最好效率也最高的方式是面对面的交谈。
•可工作的软件是进度的首要度量标准。
•敏捷过程倡导可持续开发。
责任人、开发人员和用户要能够共同维持其步调稳定延续。
•坚持不懈地追求技术卓越和良好设计,敏捷能力由此增强。
敏捷开发实战演练

敏捷开发实战演练一、团队合作与沟通敏捷开发是一种强调人员和团队合作的软件开发方法。
在敏捷开发中,小型、高效的团队是确保项目成功的关键。
因此,团队内成员之间的互动和协作至关重要。
在实践中,应该注重团队成员之间的沟通和协作,及时发现和解决问题。
技术交流应该尽量避免技术术语和过于专业的语言,统一团队语言有助于快速有效地传递信息和协作。
二、灵活的开发流程敏捷开发流程是具有相对较强灵活性的软件开发方法,它强调适应性和快速响应变化。
在敏捷开发中,产品所有者、开发人员和测试人员之间的交流非常重要。
产品所有者需要及时给予反馈和建议,加快整个开发流程。
三、持续集成和测试敏捷开发强调迭代开发和持续集成,及时发现问题和改进开发工作。
持续集成的思想是指将开发人员的代码集成到主干版本库中,并在整个开发过程中持续测试以确保系统稳定和可用性。
四、积极反馈和改进在敏捷开发实践过程中,持续反馈和改进是非常重要的方面。
团队成员应该积极参与讨论和问题解决,及时反馈问题和建议。
同时,团队管理人员也应该及时分析和归纳成员的反馈和建议,不断改进开发流程和项目管理。
五、注重项目管理和风险控制在敏捷开发实践中,良好的项目管理和风险控制是确保项目成功的重要因素。
项目管理应该注重风险识别和控制,及时调整计划和进度以确保项目进展。
同时,团队管理人员应该不断总结和分析项目经验,提高团队成员的工作素质和技能水平。
总之,敏捷开发实践演练是一个不断探索和提高的过程。
团队成员应该积极沟通和合作,注重精细化管理和风险控制,持续改进和优化开发流程,提高软件开发质量和效率。
相信在未来的敏捷开发实践中,我们可以不断学习和提高,为更加高效、精细和优质的软件开发贡献更多的力量。
软件工程实践中的敏捷开发与迭代开发模式4

敏捷开发的优势
快速响应变化的需 求
敏捷开发能够灵活应对客户需 求的变化,提高项目适应性
提高客户满意度
高质量的软件产品
提升团队合作与沟通 效率
通过持续交付高质量软件产品, 满足客户需求
敏捷开发强调持续集成和自动 化测试,确保软件质量
通过每日站会等实践,促进团 队合作与信息流畅
Scrum框架
断的实践来实现。
团队协作与沟通
敏捷团队中的沟通 模式
团队协作中的挑战 与解决方案
协作工具的运用
包括面对面沟通、使用协 作工具进行远程沟通等方
式
团队成员地域分布、文化 差异等可能导致的挑战, 需要通过沟通和协调解决
团队可以使用Slack、 Microsoft Teams等工具
提高效率
团队绩效评估与优化
软件工程实践中的敏捷开发与迭代开 发模式
制作人: 时间:2024年X月
目 录
第1章 软件工程实践与敏捷开发 第2章 敏捷开发中的用户故事 第3章 敏捷团队与团队协作 第4章 敏捷开发的风险管理 第5章 敏捷开发中的质量保障
第6章 总结与展望
●01
第1章 软件工程实践与敏捷开发
介绍软件工程与敏捷开发
新兴技术和方法
未来可能出现的新技术
挑战应对
面对未来的挑战
结语
感谢观看,如果有任何问题或想要讨论更多 内容,欢迎随时联系我们。
结语补充
在软件工程实践中,敏捷开发与迭代开发模式起着 重要作用。通过本章的学习,我们可以更好地理解 这两种开发模式的优势和应用场景。希望本章内容 能为您的软件开发实践带来启发和帮助。
风险管理与迭代改进
实例分析
持续改进策略
敏捷软件开发——原则、模式与实践

敏捷软件开发——原则、模式与实践
§§ 1000
+《软件敏捷开发:原则、模式与实践》介绍了软件开发中如何实施敏捷原则、模式和实践。
书中包含了四本书,解释了敏捷开发的每个阶段,并给出了正确的实践。
《敏捷设计原则》(Agile Design Principles)介绍了敏捷开发的核心价值观以及指导敏捷软件设计的原则。
书中还给出了一系列可以促进敏捷开发、把握重点和塑造质量结果的模式,如构建自治小组、建立可信度、采用可持续的小迭代,从而促进软件质量更高、更精细、更易于拓展的结果。
《敏捷开发实践》(Agile Development Practices)则介绍了实际开发过程中常用的实践方法。
书中针对开发中存在的难题,如部署设计和产品质量,介绍了有效的解决方案,如垂直切分、耦合解耦和现场技术支持。
《敏捷过程模式》(Agile Process Patterns)主要介绍各种敏捷流程及其实施以及维护模式,如流程定制、积极支持和客户参与等。
《敏捷质量模式》(Agile Quality Patterns)介绍了一系列敏捷质量原则和实践,通过构建低完整性、高可转换性、好性能和可信度的架构,保证软件质量,书中还介绍了评估敏捷方法论的基本工具和测量技术。
总之,本书为所有想了解敏捷环境中应用原则、模式和实践的读者提供了一本全面的参考资料,从而能够帮助他们更好地实施和管理敏捷软件开发项目。
敏捷开发方法学习与实践指南

敏捷开发方法学习与实践指南第一章:敏捷开发方法简介1.1 敏捷开发的概念和目标敏捷开发是一种以快速迭代和灵活性为基础的软件开发方法,旨在提高团队效率和客户满意度。
1.2 敏捷开发的优势和适用场景敏捷开发可以帮助团队更好地应对需求变化和市场竞争,适用于复杂、动态和高风险的项目。
第二章:敏捷开发方法的实施步骤2.1 项目准备阶段明确项目目标和范围,确定敏捷开发团队成员,制定项目计划和迭代周期。
2.2 需求管理与分析与客户密切合作,收集和整理需求,制定用户故事,优先级排序和计划发布。
2.3 迭代开发与管理每个迭代周期内,团队完成需求开发、单元测试和集成测试,持续交付可工作软件。
2.4 持续集成与交付团队借助自动化工具和流程,实现软件的频繁集成和交付,及时反馈项目进展和质量问题。
2.5 风险管理与质量保证敏捷开发注重风险管理和质量保证,通过持续集成、自动化测试和代码审查等方式降低项目风险和提高软件质量。
2.6 客户反馈与持续改进在每个迭代周期结束后,团队与客户进行回顾会议,总结经验教训,及时调整和改进工作方式。
第三章:敏捷开发方法的关键实践3.1 Scrum框架介绍Scrum框架的核心概念和实施步骤,包括产品负责人、Scrum团队和Sprint Planning等。
3.2 Extreme Programming (XP)介绍XP在敏捷开发中的应用,包括测试驱动开发(TDD)、持续集成和重构等。
3.3 Kanban方法介绍Kanban方法的原理和实施步骤,通过可视化管理工作流程和限制工作进程来提高团队效率。
3.4 DevOps实践介绍DevOps的核心原则和实施步骤,包括自动化部署、持续集成和持续交付等。
3.5 用户故事和敏捷统计介绍用户故事的编写和管理方法,以及如何使用敏捷统计工具追踪项目进展和团队绩效。
第四章:敏捷开发方法的实践案例分析4.1 互联网项目开发案例分析以某个互联网公司的产品开发为例,详细介绍其采用敏捷开发方法的实践过程、挑战和成果。
实习报告:软件开发中的敏捷开发与Scrum实践

实习报告:软件开发中的敏捷开发与Scrum实践一、引言近年来,随着信息技术的不断发展和软件行业的快速发展,软件开发的需求日益增加,同时开发周期也越来越短。
在这种情况下,传统的瀑布式开发模式逐渐暴露出了一些问题,例如开发过程缺乏灵活性、需求变更难以适应等。
针对这些问题,业界提出了敏捷开发方法,并引入了Scrum框架来进行项目管理。
本次实习报告将重点介绍敏捷开发与Scrum实践在软件开发中的应用。
二、敏捷开发概述敏捷开发是一种以人为本、迭代开发的软件开发方法。
相比于瀑布模型,敏捷开发更加注重灵活性和适应力,能够更好地满足需求的变更和客户的反馈。
在敏捷开发过程中,开发团队采用迭代的方式进行开发,每个迭代都会生成一个可用且具有价值的软件产品,并及时与客户进行沟通和反馈,从而更好地满足客户的需求。
三、Scrum框架介绍Scrum是一种敏捷开发的项目管理框架,相比于传统的项目管理方法,Scrum更加注重团队的自组织和迭代开发。
Scrum框架由三个角色、三个仪式和三个工件组成。
1. 角色(1)产品负责人(Product Owner):负责定义产品需求,并对产品的优先级进行排序。
产品负责人需要与开发团队密切合作,确保开发团队始终了解客户的需求。
(2)Scrum团队(Scrum Team):通常由开发人员、测试人员、UI设计师等多个角色组成,是项目的具体执行者。
Scrum团队必须具备自组织和跨职能的能力,能够在迭代周期内完成可用且具有价值的软件产品。
(3)Scrum主管(Scrum Master):负责协助Scrum团队执行Scrum框架的方法和规则,解决团队在开发过程中遇到的问题。
Scrum主管需要具备良好的沟通和团队管理能力。
2. 仪式(1)Sprint计划会议(Sprint Planning Meeting):在每个迭代开始之前召开的会议,产品负责人与Scrum团队一起确定本次迭代的目标和需求。
开发团队还需要将这些需求细分为可执行的任务,并估算任务的工作量。
敏捷开发的流程与实施方案

敏捷开发的流程与实施方案敏捷开发是一种应对快速变化和不确定性的软件开发方法,其以迭代、增量和自组织为特点,能够提高开发效率和交付质量。
本文将介绍敏捷开发的流程和实施方案。
一、敏捷开发流程1. 需求收集与确定敏捷开发的第一步是需求收集与确定阶段,开发团队与客户紧密合作,通过会议、访谈等方式获取项目需求,并将其整理成用户故事或需求清单。
2. 产品规划与构建在产品规划与构建阶段,团队将需求分解为用户故事,制定优先级,并创建产品的迭代计划。
团队根据迭代计划将用户故事分配给开发人员进行实现。
3. 迭代开发与测试迭代开发与测试是敏捷开发的核心阶段,团队根据迭代计划进行短期的开发和测试工作。
开发人员通过编写代码实现用户故事,测试人员通过执行测试用例验证功能的正确性。
4. 每日例会每日例会是敏捷开发中的重要环节,团队成员每天进行简短的会议,交流任务的完成情况、遇到的问题以及计划下一步的工作。
这有助于团队成员互相了解项目进展情况,及时解决问题。
5. 客户验收与产品交付在每个迭代结束后,团队进行客户验收,将已完成的功能演示给客户。
客户提出反馈意见,如果需要调整或改进,团队将在下个迭代中进行修改。
当客户满意并确认无需继续调整时,团队将产品交付给客户使用。
二、敏捷开发的实施方案1. 团队组建敏捷开发强调团队的自组织和协作能力,因此,团队的组建是实施敏捷开发的重要一环。
团队成员应包括开发人员、测试人员和产品负责人等角色,他们需要具备协作和沟通的能力。
2. 迭代计划迭代计划是敏捷开发的关键,团队需要在每个迭代中制定明确的目标,并根据实际情况灵活调整迭代计划。
迭代计划的制定需要考虑开发资源、时间和风险等因素。
3. 持续集成与自动化测试为了确保代码的质量和可靠性,敏捷开发中采用持续集成和自动化测试的方式。
团队成员需要将代码频繁地集成到主干分支,并运行自动化测试用例,以快速发现和修复问题。
4. 持续反馈与改进敏捷开发强调持续反馈与改进,团队成员需要定期进行回顾会议,总结每个迭代的经验教训,并提出改进的措施。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电脑与信息技术 Computer and Information Technology
Vol.23 No.3 Jun. 2015
敏捷开发中软件架构设计与实践
李声威 1,王爱景 1,2,谭红星 1,2
需求的变化。相比传统软件开发方法,敏捷开发采用重 构技术不断的调整系统的结构,使系统具有较强的能 力适应需求的变更,这样敏捷开发能最大限度的降低 软件的开发风险。
本文在敏捷软件开发和软件架构存在的冲突的基 础上,提出一套敏捷开发中架构设计的方法论,包括敏 捷架构设计的核心思想、采用的设计技术、以及设计过 程规范和执行过程规范。结合实际项目中的架构设计 验证该方法论的有效性。
·2·
电脑与信息技术
2015 年 6 月
产品为目的,在软件工具支持下,采用不同的软件开发 方法完成软件开发期各阶段任务的一系列相关过程[5-6]。 在软件开发过程中,软件开发方法是关系到软件开发 成败的重要因素。
目前采用较多的软件开发过程有 RUP [7]、CMM[8]、 SCRUM 等。RUP,其方法论的核心是软件工程,有比较 明确的过程和阶段,保留了软件生命周期的影子,强调 总体架构设计的重要性,弱化人的重要性等。相比 RUP,SCRUM 方法论的核心是敏捷开发,体现了快速 反馈,强调面对面交流的重要性,强调人的主观能动性 等基本原则。 1.1 敏捷软件开发
Abstract:Software architectures play a key role in software development. In traditional software development, software architectures are difficult to change, and it costs drastically to adjust the architectures. By contrast, agile development is a lightweight development method which embraces changes, and can respond quickly to changes. This paper based the analysis on processing development and agile software development, pointed out the conflict between agile and architecture, analyzed the importance of architecture in agile development, and proposes a set of methodologies that uses agile development methods and technologies to design architecture. Combined with the actual project of the architecture design verify the effectiveness of the methodologies. Key words: software architecture; agile development; methodologies
软件工程作为一个学科方向,越来越受到人们的 关注。迄今为止,软件工程界已经提出了一系列的原 理、方法,解决了软件开发过程中的若干问题。由于软 件产品本身固有的复杂性、易变性以及不可见性,传统 的软件工程方法和技术越来越不能适应新需求[1-3]。
传统软件开发中架构设计采用的是 BDUF(Big Design Up Front)策略,开发之前要确定所有需求,针对 这些需求设计出“完美”而庞大的架构,架构一旦被确 定,将很难改变。与这种官僚式、重量级的传统软件开 发方法相比,敏捷开发[4]是一种轻量级、迭代式、快速交 付可工作软件的开发方法。敏捷开发主张简单化设计, 软件项目的每次迭代在设计架构时只做“刚刚好(Just Enough)”的设计,随着对业务领域的深入理解,逐步调 整设计。这样能避免产生臃肿的架构,也能够快速响应
图 3 敏捷架构设计模式
2.3 设计过程规范 敏捷开发过程区别于重型的软件过程,体现在《敏
捷宣言》中提到的四条敏捷价值观和十二条原则。敏捷 原则简单概括为简单化、沟通、反馈、勇气、快速交付可 工作软件等。敏捷开发中进行架构设计,要符合敏捷开 发原则。一个成功的敏捷架构,需要开发团队按照以下 六个过程规范进行设计。
图 1 敏捷开发中迭代式架构设计过程
第 23 卷第 3 期
李声威等:敏捷开发中软件架构设计与实践
·3·
在敏捷开发中,每一次迭代的架构设计过程大概 分为六个步骤,如图 2 所示:
性更有保证。 在遵循敏捷开发方法的基础上,敏捷架构设计模
式如图 3 所示。
图 2 每次迭代架构设计过程
敏捷开发中进行架构设计的核心思想是进化式设 计。进化式的设计是指在敏捷开发的整个生命周期中, 通过每一次迭代来充实、修改和优化设计方案,以使其 最大限度地符合客户对系统的需求。进化式架构设计 的底线是不伤害到现有架构的能力和已经实现的功 能,同时对其他部分的影响尽可能小。
(1.河南大学 计算机与信息工程学院,河南 开封 475001;2.石化盈科信息技术有限责任公司,北京 100007)
摘 要:软件架构在软件开发中起着非常关键的作用。在传统软件开发中,软件架构难以改变,对架构的调整需要付出较
大成本。与此相比,敏捷开发(Agile Development)是轻量级的,拥抱变化的,能ቤተ መጻሕፍቲ ባይዱ速响应变化的开发方法。在对敏捷软件开
1 相关工作
过程是软件工程的三要素之一,是为达到预定目 标的一系列实践活动的集合,它包括工具、方法、材料 以及人等。软件开发过程是软件开发人员以制造软件
收稿日期:2015-02-10 作者简介:李声威(1968-),男,副教授,硕士生导师,主要研究方向:软件工程应用技术;王爱景(1990-),女,硕士研究生,主要研究方向:软件工程应 用技术;谭红星(1969-),男,博士后,副教授,硕士生导师,主要研究方向:软件工程及数据库技术。
敏捷开发是一种迭代、循序渐进的开发方法,这一 思想贯穿敏捷软件开发的方方面面。遵循这一思想,与 功能实现一样,架构的设计也是一个迭代的过程[15]。每 次迭代仅仅对当前的需求进行建模,通过迭代逐步对 架构进行完善。由于项目需求的不可预设性,没必要也 不可能设计出具有弹性的、近乎完美的架构。敏捷开发 中迭代式架构设计过程如图 1 所示。
LI Sheng-wei1,WANG Ai-jing1,2,TAN Hong-xing1,2
(1.College of Computer and Information Engineering, Henan University, Kaifeng 475001, China; 2.Petro-Cyberworks Information Technology Co., Ltd, Beijing 100007, China)
(1)产 品 负 责 人(Product Owner)制 定 产 品 列 表 (Product Backlog)
产品负责人制定产品列表(Product Backlog),对列 表中用户故事进行优先级排序。每个 Sprint 迭代开始 的时候团队要选择一组交付物作为当前 Sprint 的承 诺,并罗列出交付用户故事所需完成的所有任务。
进化式架构设计应要达到的目标要点如下: 首先 Architecture backlog(当前迭代架构要实现的 功能)应该与 Sprint backlog 保持一致。也就是仅对当 前需求进行建模。 其次设计出的架构应与领域模型(Domain Model) 保持一致。避免发生会导致架构失败的领域误解,同时 避免了因架构失败而导致返工,造成开发成本增加,费 时费力的情况发生。 第三架构设计要确保概念的完整性。在各个层次 上统一系统设计的根本指导思想,使自组织团队成员 遵循统一清晰的概念一起工作。 2.2 敏捷架构设计技术 在敏捷开发中,软件系统通过不断重构适应快速 演化、频频变更的环境。在重构过程中,通过使用设计 模式来改善既有的设计。 ● 重构[16]是敏捷开发的重要技术,就是在不改变 软件现有功能的基础上,通过调整程序代码改善软件 的质量、性能,使其程序的设计模式和架构更趋合理, 提高软件的扩展性和维护性。敏捷开发通过不断的重 构使代码更加清晰,更易于维护,同时不需要初期花费 大量的时间进行详细的规划。由于一个 Sprint 周期下 来,客户对交付的产品提出需求变更,则需要对敏捷架 构进行重构,以满足客户需求。 ● 设计模式(Design Pattern)是一套被反复使用、 多数人知晓的代码设计经验和技巧的总结。重构和设 计模式看似不同,但它们在本质上都有一个相同的思 想那就是设计很重要,只是两者达到良好设计的方法 不同。在敏捷开发中,进行重构代码时可以借助设计模 式,使自己的代码更利于重用、更利于被人理解、可靠
发及架构分析的基础上,提出一套敏捷开发中架构设计的方法论。结合实际项目中的架构设计验证该方法论的有效性。
关键词:软件架构;敏捷开发;方法论
中图分类号:TP311.52
文献标识码:A
Software Architecture Design and Practice of Agile Development
敏捷软件开发是近来备受关注的软件开发方法, 它是一种以人为核心、迭代、循序渐进的开发方法,它 的核心思想在于快速、增量式的交付可工作的软件。在 敏捷软件开发中,软件项目被切分成多个子项目,经多 次迭代来完成,每次迭代都有明确的目标并能快速交 付可运行的软件。
Scrum[9]在敏捷方法中具有代表性,它是一种迭代 增量式的软件开发过程。它有三个重要的工件:产品列 表(Product Backlog)、Sprint 列 表(Sprint Backlog)和 燃 尽图(Burn Down Chart)。产品列表是项目或者产品预 期交付、排列好优先级的需求清单。产品列表是动态变 化的,产品负责人可以增加、减少列表中的条目,以保 证产品适用性、实用性和竞争力。Sprint 列表是团队当 前 Sprint 的任务清单。和产品列表不一样,它的寿命有 限,仅存活一个 Sprint 时间。Sprint 列表中的任务是由 产品列表选取的需求条目细化和分解而来,选取这些 任务要确保将产品列表条目转化为潜在可交付的产品 增量。燃尽图描述了剩余工作随时间变化的轨迹。燃尽 图有一个 Y 轴和 X 轴,Y 轴表示的是剩余工作量,X 轴表示的是时间。