欢迎来到天天文库
浏览记录
ID:42899656
大小:1.36 MB
页数:32页
时间:2019-09-25
《敏捷开发实践培训教程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、产品敏捷开发实践培训教程(2010年01月)目录引言什么是敏捷?什么是SCRUM?极限编程(XP)的12个核心实践术语表敏捷能带给我们什么?敏捷开发实施标准敏捷开发的案例分析总结引言—什么是敏捷开发(一)敏捷开发(agiledevelopment):敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。敏捷方法强调以人为本,专注于交付对客户有价值的软件。在高度协作的开环境中,使用迭代式的方式进行增量开发,经常使用反馈进行思考、反省和总结,不停的进
2、行自我调整和完善开发流程敏捷宣言我们通过身体力行和帮助他人来揭示更好的软件开发方式。经由这项工作,我们形成了如下价值观:个体与交互重于过程和工具可用的软件重于完备的文档客户协作重于合同谈判响应变化重于遵循计划在每对比对中,后者并非全无价值,但我们更看重前者引言—什么是敏捷开发(二)周期短周期开发,提供及早的、具体的、持续的反馈。增量增量开发。迅速地提出总体计划,并在项目生命周期中不断演化。反应灵活安排功能地实现,以对变化的业务需求作出反应。自动使用由程序员和测试人员编写的自动化测试来监控开发进度,支持系统演化,并尽早发现缺陷。交流通过口头沟通
3、、测试和源代码来交流系统的结构和意图。设计渐进式的设计过程贯穿整个系统生命周期。协作依赖于能力普通但能积极参与的程序员之间的紧密协作实践各种实践兼顾项目成员的短期直觉和项目的长期利益。敏捷开发特点引言—什么是SCRUM(一)Scrum是一个迭代性、增量性的敏捷流程,适用于任何的产品开发以及工作管理,其中包含了风险控制,解决最优先需求,团队高效协作等各种思想。在每个迭代结束后,Scrum都会产生一套可以交付的功能性产品。Scrum是一个“检查并适应”的框架:在三个角色(产品负责人/ScrumMaster/团队)、三种仪式(Sprint计划/Sp
4、rint回顾/每日例会)和三种制品(产品Backlog/SprintBacklog/燃尽图)的基础上,你可以根据公司或者项目的情况,因地制宜引入任何有利于缩短开发周期、提高产品质量的实践Scrum过程Scrum的“3个三”Scrum定义引言—什么是SCRUM(二)团队目标重于岗位职责团队工作优于独立作战高效沟通强于标准化的文档高能动性的、自组织的团队胜于角色划分清晰的流水线务实的解决问题的方法好于经典理论快速实践,快速反馈,持续优化什么样的项目适合SCRUMScrum精神SCRUM的项目通常会有一些共性:项目的需求多变。项目周期较长(通常大于
5、3次迭代)项目分期开发,迭代增量。适用症:重量级流程导致的软件开发环节复杂面向任务、面向职责的开发模式导致的各司其职、流程环节衔接不畅,项目进度的掌控困难以上两条导致的项目/产品开发周期过长原理:目标驱动,在统一的软件交付目标下组织团队依靠团队的智慧做项目评估、计划乃至设计、开发、测试抓住最基本的项目开发属性:周期+质量1.完整团队XP项目的所有参与者(开发、客户、测试等)一起工作在一个开放的场所中。2.计划游戏计划是持续的、循序渐进的。每2周一次,根据成本和商务价值来选择要实现的特性。3.客户测试客户可以根据脚本语言来定义出自动验收测试来表
6、明该特性可以工作。4.简单设计团队保持设计恰好和当前的系统功能相匹配,尽可能简单。5.结对编程开发是由两个程序员、并排坐在一起在同一台机器上进行的。6.测试驱动开发编写单元测试避免了相当数量的反馈循环,尤其是功功能能验证方面的反馈循环7.重构随时利用重构方法改进已经腐化的代码,保持代码尽可能的干净、具有表达力。8.持续集成团队总是使系统完整地被集成。一个人Checkin后,其它所有人责任代码集成。9.集体代码所有权任何结对的程序员都可以在任何时候改进任何代码。10.编码标准系统中所有的代码看起来就好像是被单独一人编写的。11.隐喻是让项目参与
7、人员都必须对一些抽象的概念理解一致,也就是我们常说的行业术语,开始要先明确双方使用的隐喻,避免歧异。12.可持续的速度团队只有持久才有获胜的希望。他们以能够长期维持的速度努力工作,他们保存精力,他们把项目看作是马拉松长跑,而不是全速短跑。引言—极限编程(XP)的12个核心实践极限编程(XP)是敏捷方法中最著名的一个,它是由一系列简单却互相依赖的实践组成,能帮软件团队养成良好的习惯。目录引言术语表敏捷能带给我们什么?敏捷在公司产品开发中的定位敏捷能解决的具体问题敏捷的应用范围敏捷开发实施标准敏捷开发的案例分析总结术语表术语解释1.Sprint一
8、次迭代过程,通常是30天.这个过程是不可被打断的,不能增加额外的需求,确保迭代结束时能够获得预期的可交付成果2.Productbacklog一个最终会交付给客户的
此文档下载收益归作者所有