常见的敏捷开发流程比较.docxVIP

  • 9
  • 0
  • 约2.27千字
  • 约 4页
  • 2021-10-19 发布于天津
  • 举报
PAGE 1 PAGE 1 常见的敏捷开发流程比较 速度是企业竞争致胜的关键因素,软体专案的最大挑战在于一方面要应付变动中的需求,一方面要在紧缩的时程内完成专案,所以软体团队除了在技术上必需日益精进,更需要运用有效的开发流程,以确保团队能够发挥综效。 这正是Agile Process (机敏的软体开发流程)于近年来兴起的主要原因,本文将介绍数种广为接受的软体开发流程,及其在运用上的建议。 一、Agile Process -机敏的开发流程 几乎全部的软体专案都会在起始阶段面临选择开发流程的困难,一种是完备的开发流程,另一种是简易轻巧的流程。 虽然我们了解采用完备的开发流程可以提高软体的品质,但是因为欠缺人力、工具与时间,我们常会被迫采用简化的流程,但事与愿违,大部分的状况我们仍旧难以在预算内准时完成专案。 Agile Process (机敏的开发流程)是一种软体开发流程的泛称,Agile Process具有下列几项共通的特性: 1. 客户与开发人员形成亲密合作的团队,因为客户无法于初期定义完整的规格,而开发人员于开发过程中也常常无法知悉外在环境或业务的变动,所以需要两者亲密合作方能开发适用的软体。 2. 专案最终的目标是可执行的程式,因此全部的中间产品必需经过审慎评估,确认有助于最终目标,才需要制作中间产品。 3. 采用Iterative与Incremental方式分阶段进行,密集review是否符合需求。 4. 流程可以简洁,但规划与执行必需严谨。 5. 强调团队合作,赋予高度的责任,团队有自主权得以因应变化做调整。 二、 RUP开发流程- Rational Unify Process RUP为IBM Rational公司经过多年的研发与经验所提出的软体开发流程,其内容含盖Business modeling, Requirement Modeling, Logical Design, Implementation, Testing, Deployment等软体开发生命周期的直接工作,与Project Management, Change 2.广泛使用Visual Modeling于商业需求分析、系统分析与系统设计;3.强调架构设计;4.对每项工作所需要的技术、工具、做法、范本、检查项目均有具体的定义,架构完备且具有可调整的弹性。 因为RUP的流程规范与相关技术较复杂,所以导入时必需留意几个因素:1.主管的支持以确保足够的资源投入;2.分阶段导入;3.适当的训练与亲密的顾问咨询;4 .使用Modeling技术时需要考量Coding的实作环境;5.良好团队的管理,以沟通、耐心与坚持解决变革的人性阻力。 三、XP开发流程- eXtreme Programming XP亦称为终极流程,是最轻量级的开发流程,其最主要的精神是『在客户有系统需求时,赐予准时满足的可执行程式』,所以最适合需求快速变动的专案。 XP经过6年的实作与修改,已演化为精致的开发流程,但仍不失其精简的特性,它强调客户所要的是workable的执行码,所以把与撰写程式无关的工作降至最低,并要求客户与开发人员最好以side-by-side的方式一起工作。 XP开发流程的基本步骤为:1.开发人员随时可以和客户进行有效沟通,撰写user stories以确认需求。 2.简易快速的系统设计,撰写独立的验证程式以解决特别困难的问题,找出演算法即可丢弃验证程式。 3.规划多次小型阶段的专案计划,以最快速度完成每一阶段的程式交付客户,客户负责Acceptance tests;4. Coding前必需完成Unit Test与Acceptance tests程序,全部模组整合前都须经过Unit Tests;5.开发人员必需快速回应Bug与需求变更;6.要求二人一组使用一台电脑设计程式,当一人coding时,另一人负责思索与设计;7.程式必需符合程式规范,并常做程式的重整(Refactoring)。 XP属于较精简的流程,于导入应留意几件事情:1.最好有顾问赐予协助;2.持续的Review;3.可适当调整流程,但不可失去其基本精神。 四、SCRUM开发流程 SCRUM开发流程是Agile Process的一种,以英式橄榄球争球队形(Scrum)为名,基本假设是『开发软体就像开发新产品,无法一开头就能定义Final Product的规程,过程中需要研发、创意、尝试错误,所以没有一种固定的流程可以保证专案成功』。 Scrum将软体开发团队比拟成橄榄球队,有明确的最高目标,熟识开发流程中所需具备的最佳典范与技

文档评论(0)

1亿VIP精品文档

相关文档