敏捷迭代开发
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
聚焦客户价值(Value),消除浪费。
浪费: • 客户从没用过的特性(客户要求A,B,C,D功能,实际只用 了A,B)
Value
• 研发从未上线过的特性 (技术过渡,方案缺陷无法使 用,需求前期分析不足,不满足上线要求,需求变更)
激发团队(Team)潜能,加强协作。
敏捷
理念
Team
• 团队是价值的真正创造者,应加强团队协作,激发团队潜 能。 • 在团队内部,最具有效果并且富有效率的传递信息的方 法,就是面对面的交谈
现场 客户
……
演示
总结反 思
重构
代码集体 所有权
业界优秀敏捷实践
Scrum流程图
敏捷实践--Scrum包括3个角色、3个工件、5个活动、5个价值
3个角色: 产品负责人(Product Owner) Scrum Master Scrum团队 3个工件: 产品Backlog(Product Backlog) SprintBacklog 燃尽图(Burn-down Chart) 5个活动: Sprint计划会议(Sprint Planning Meeting) 每日站会(Daily Scrum Meeting) Sprint评审会议(Sprint Review Meeting) Sprint回顾会议(Sprint Retrospective Meeting) 产品Backlog梳理会议( Product Backlog Refinement) 5个价值: 承诺 – 愿意对目标做出承诺 专注– 把你的心思和能力都用到你承诺的工作上去 开放– Scrum 把项目中的一切开放给每个人看 尊重– 每个人都有他独特的背景和经验 勇气– 有勇气做出承诺,履行承诺,接受别人的尊重
Scrum(不允 许)
User Story 优先级固定
采用工程方 法wk.baidu.com
XP(必须遵守优先级)
Scrum(灵活 处理)
XP(实践 活动约束)
XP(自我管 理)
12条敏捷原则
1.我们最优先要做的是通过尽早的、持续的交付有价值的软件来使客户满意。 2.即使到了开发的后期,也欢迎改变需求。敏捷过程利用变化来为客户创造竞争优势 3.经常性的交付可以工作的软件,交付的间隔可以从几周到几个月,交付的时间间隔越短越好。 4.在整个项目开发期间,业务人员和开发人员必须天天都在一起工作。 5.围绕被激励起来的人个来构建项目。给他们提供所需要的环境和支持,并且信任他们能够完成工作。 6.在团队内部,最具有效果并且富有效率的传递信息的方法,就是面对面的交谈。
制定计划
需求分析 软件设计 程序编写
需求3 需求4
测试 运行 维护
迭代二
制定计划 需求分析
规格3 Coding3-4
软件设计 程序编写 测试
需求all 规格all 规格6 Coding6all
需求6 迭代三
运行 维护
制定计划
需求分析
软件设计
程序编写
测试
运行 维护
项目结束
敏捷:理念+优秀实践+具体应用
7.可工作的软件是首要进度度量标准。
8.敏捷过程提可持续的开发速度。责任人、开发者和用户应该能够保持一个长期的、恒定的开发速度。 9.不断地关注优秀的技能和好的设计会增强敏捷能力。 10.简单----使未完成的工作最大化的艺术----是根本的 11.最好的构架、需求和设计出自与自组织的团队。 12.每隔一定时间,团队会在如何才能更有效地工作方面进行反省,然后相应地对自己的行为进行调整。
瀑布开发模式:每一个阶段都有序执行,并且依赖于先前已完成的阶段 制定计划
需求1 需求2 需求4 需求3
项目start
需求分析
规格1 规格2 规格4
需求N
规格3 规格N
软件设计
程序编写
coding coding coding coding
测试
功能1测试 功能2测试 功能N测试
运行维护
项目结束
瀑布VS迭代 瀑布模式的缺点 • 开发模型是线性的,只有在项目生命周期的后期才能看到结果。 • 在项目各个阶段之间极少有互动反馈。 • 各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量,也容易 产生浪费。 • 通过过多的强制完成日期和里程碑来跟踪各个项目阶段 –简单粗暴的项目管理方式 • 早期的错误可能要等到后期的测试阶段才能发现,修复问题代价大。 • 突出缺点是不适应用户需求的变化
瀑布VS敏捷
瀑布模式的优点
项目提供了按阶 段划分的检查点
瀑布模式
功能的实现与设 计分开,便于分 工协作
当前一阶段完成 后,您只需要去 关注后续阶段
瀑布VS迭代
敏捷开发是一种以人为核心、迭代、循序渐进的开发方法--小型的瀑布式项目
迭代一 需求1 需求2 规格1 规格2 Coding1-2
项目start
不断调整以适应(Adapting)变化
Adapting
• 很难在需求阶段真正的分析和挖掘出所有的需求,有些需 求注定会在设计实现或用户使用过程中才逐渐出现。 拥抱变化,不断的根据经验调整,最终交付达到业务目标 的产品。
•
敏捷优秀实践活动
迭代 计划
Story
Card 结对 编程
站立 会议
TDD
看板
持续 集成
Agile——敏捷开发,作为CMM神话崩溃后被引入的一套新的软件开发模式,这几年 来被广泛引起关注,并被寄予厚望。
敏捷开发宣言: 个体和交互 可以工作的软件 客户合作 响应变化
胜过 胜过 胜过 胜过
过程和工具 面面俱到的文档 合同谈判 遵循计划
虽然右项也有价值,但是我们认为左项具有更大的价值。
敏捷理念
Thank you !
XP强调,软件开发是人与人合作进行的过程,因此成功的软件开发过程应该充分利用人的优 势,而弱化人的缺点,突出了人在软件开发过程中的作用。极端编程属于轻量级的方法,认 为文档、架构不如直接编程来的直接。
Scrum /XP差异
迭代长度
修改需求
XP(1~2 周)
Scrum(2~ 4 周)
XP(OK)
替换的原则是需求实现的时间量是相等
敏捷实践—xp 极限编程设计
XP的十二种方法: 规划策略(The Planning Game); 结对编程(Pair programming) 测试(Testing) 重构(Refractoring) 简单设计(Simple Design) 代码集体所有权(Collective Code Ownership) 持续集成(Continuous Integration) 现场客户(On-site Customer) 小型发布(Small Release) 每周40小时工作制(40-hour Week) 编码规范(Code Standards) 系统隐喻(System Metaphor) XP的四个核心价值: 沟通(Communication) 简单(Simplicity) 反馈(Feedback) 勇气(Courage
敏捷迭代开发基础知识
目录
1 2
敏捷概述
敏捷VS瀑布
3 4
敏捷特点
敏捷应用 敏捷缺点
5
敏捷风靡全球
Please insert your own text
•敏捷成型于上世纪90年代,敏捷流行于当下 •敏捷思想:拥抱变化,快速响应。
•敏捷顺应时代变化,从重型开发过程转向轻量型敏捷开发
敏捷发展历史
瀑布VS迭代