第9章_敏捷过程_第1页
第9章_敏捷过程_第2页
第9章_敏捷过程_第3页
第9章_敏捷过程_第4页
第9章_敏捷过程_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件开发与实践 第9章敏捷过程 AgileProcess 什么是过程 过程定义了谁负责什么工作 何时以及怎样达到某一确定的目标 软件工程中的目标就是开发和维护软件及相关产品 过程铁三角 过程 把各部分集成在一起 CMM 概述 敏捷软件运动代表了21世纪互联网时代软件开发模式的一种先进理念和价值观 相比传统过程 敏捷更强调快速灵活反应 主动迎接和适应变化 主张更紧密的客户与开发商协作和以人为本的企业可持续发展 典型的敏捷过程模型有XP 极限编程 FDD 特性驱动开发 Scrum以及敏捷的统一过程 AUP 等 概述 2001年敏捷联盟在美国成立 2001年 敏捷宣言 发表 概述 敏捷过程分为三个部分 敏捷项目管理敏捷需求分析敏捷软件开发 敏捷过程中的需求分析 商务分析师与客户交流 搞清楚客户到底需要什么 到底为什么需要这些东西 商业价值是商务分析师关注的最终目标 有了目标的指向 就可以不迷失方向 和客户进行交流 最终目的就是挖掘出客户的商业目标 商务分析师需要详细的问客户为什么 挖掘出他真正的目标 敏捷过程中的需求分析 商务分析师要作出判断 我们到底是否真的需要这个需求 有没有更好的解决方案 有没有简单并且低廉的方式 换一种形式是不是也能达到这样的需求 这个需求有多少地方涉及到以前的软件变更 敏捷过程中的需求分析 商务分析师通过撰写用户故事来描述需求 在书写的时候格式比较随意 可以在故事卡背面写上注释或疑问 甚至画上界面原型图 敏捷过程中的需求分析 用户故事的作用有两个 一个是作为进度跟踪的依据 一个是作为与人交谈的备忘录 敏捷过程中的需求分析 用户故事卡片并不是很精确的需求 因此不需要把事情描述的非常清楚 将需求的详细分析推迟到实现前夕来完成 这是敏捷需求分析的精华所在 任何提前做好的东西都会导致浪费 敏捷过程提倡足够就好 避免浪费 敏捷过程中的需求分析 用户故事和用例的区别 用户故事的作用是备忘功能 而不是文档 而用例需要详细的描述其操作步骤 以及每个异常路径 因而起到了文档的作用 用户故事是可见的商业价值 而不是功能描述 每个用户故事的粒度和工作量都相差不多 这和用例有很大的区别 用户故事是小粒度的 可测试的 可见的 并且是有价值的 敏捷过程中的需求分析 敏捷方法希望快速交付可用的软件 实现软件的快速交付是通过迭代来完成 在迭代开始前 由一组有经验的开发人员大致评估一下用户故事 标记出不同的难度和风险 并提出问题供商务分析师来获得更详细的信息 商务分析师会和相关涉众去讨论 然后商务分析师将推荐优先级最高的一组用户故事给客户来挑选 客户可以选择这些用户故事 或者指出从他的视角看到的优先级更高的用户故事 这些将成为下一个迭代的内容 敏捷过程中的需求分析 客户看到每个迭代交付的可运行的软件后或者得到用户反馈后 常常会有新的想法冒出来 有些想法是好的 有些想法就属于看到别家网站有这个功能 不假思索的提出的功能 这些不同的需求都需要经过认真的分析 找出哪些是值得我们立即考虑的 哪些是不用急迫的去实现的 敏捷过程中的需求分析 用户故事的跟踪和管理是由项目经理来进行 每次迭代都跟踪卡片的进展 确认 是否已经开始实现 是否已经完成代码开发 是否已经开始功能测试 不同的卡片在迭代前都会评估为不同的大小 我们一般分为大中小三级 等实践过几次迭代后 团队的开发速度基本保持恒定 我们就可以很容易的知道每次迭代能做多少个用户故事 这样就可以安排下一次迭代的开发 敏捷过程中的需求分析 每次迭代内分析得出恰好足够下一次迭代开发的需求 就是商务分析师每次迭代的主要工作内容 商务分析师的需求分析工作在上一次迭代完成 包括需求的了解 分析 评估和排列优先级 敏捷过程中的需求分析 在每次迭代开始的时候 由商务分析师主持召开迭代计划会议 在会议上向所有的程序员解释这次迭代要完成的用户故事 然后由程序员自由提问 直到他们能够获得足够开始实现该功能的信息 敏捷过程中的需求分析 在程序员完成一个用户故事后 商务分析师还要来代表客户做功能验收测试 查看是否完成了预计的功能 是否有程序员还没有想到的异常情况 如果存在问题需要退回给程序员继续完成 这在一定程度上保证了系统完成的需求不偏离客户的要求 当然 更多的测试还需要质量保证 QA 来完成 敏捷过程中的需求分析 敏捷过程并不是没有需求分析 而是把需求分析过程分散到整个开发的过程中 让开发和需求分析并行进行 商务分析师在这个过程中 起到了纽带和桥梁的作用 是一个团队不可缺少的角色 XP是什么 敏捷方法的代表 KentBeck在他的开篇之作 ExtremeProgrammingExplained EmbraceChange 中提出 97年一种高度动态的过程 它通过非常短的迭代周期来应对软件开发中的变化强调有效测试和演化设计 fowler XP的目标 在规定的时间生产出满足客户需要的软件 什么时候需要XP 需求不明确 变化快高风险 在特定的时间内 面对一个相当难开发的系统中小型团队 人数不超过10个 XP的系统隐喻 XP体现四个价值目标 沟通 communication 简化 simlicity 反馈 feedback 勇气 courage XP的12个核心实践 规划策略 Planninggame 系统隐喻 SystemMetaphor 简单设计 Simpledesign 配对编程 pairprogramming 编码标准 Codingstandards 测试驱动 Test driven 重构 Refactoring 持续集成 Continuousintegration 小发行版 Smallreleases 现场客户 On sitecustomer 集体代码所有权 Collectiveownership 一周40小时 40 hourweek 实践之间的互相支持 XP项目的状态图 XP的计划 反馈循环 从CMM角度看XP XP部分满足或大部分满足了CMM2 3级KPA的要求 而基本上没有涉及CMM4 5级的KPAXP侧重于具体的过程和开发技术 而CMM更关注组织和管理上的问题XP缺少的一个重要内容是 institutionalization MarkPaulk SEI XPvs RUP 对XP的置疑 技术前提 对变化成本曲线的置疑技艺前提 对于有经验的人是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论