软件开发新方法Agile.doc
上传人:sy****28 上传时间:2024-09-13 格式:DOC 页数:4 大小:52KB 金币:14 举报 版权申诉
预览加载中,请您耐心等待几秒...

软件开发新方法Agile.doc

软件开发新方法Agile.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

14 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(NewMethodology)-Agile2002年1月张敬周朱三元钱乐秋n概述nAgile方法的核心理念及特点nAgile与CMMnAgile具体方法XP,SCRUMn结束语软件开发的新挑战中国入世快速的市场进入时间快速变化的需求快速发展的技术如何应对挑战软件工程的两个目标:高质量高生产率CMMSPICEISO9000等Agile?!!!Agile方法的产生2001年2月,新方法的一些创始人在美国犹他州成立Agile联盟(http://www.agilealliance.org/)LightweightAgileXPSCRUMCrystalFDDDSDMASDLeanDevelopmentAgile方法的含义Agile方法是在保证软件开发有成功产出的前提下,尽量减少开发过程中的活动和制品的方法。笼统的讲就是,"刚刚好"(Justenough),即开发中的活动及制品既不要太多也不要太少。Agile方法的实践效果我预言XP对当今时代的作用可与CMM在八十年代和九十年代初的作用相媲美--TomDeMarco,CutterTrendsReport???IONA公司的Obix技术支持小组在采用了XP方法后,软件生产率提高了67%SPG(softwareproductivitygroup)的CapersJones则称,SCRUM方法可提高生产率6倍Agilen基于适应而非预测n以人为导向而非过程导向--MartinFowler"NewMethodology"Agile适应而非预测开始计划的结果实际需要的结果需求不可预测--PeterWegner用数学的方法给出了严格的证明按计划的过程基于适应的过程理论上来说,软件开发应是一个自适应的跟踪过程Agile适应而非预测自适应系统是一个强反馈系统§在软件开发中,需求的获取和分析、软件设计、编码等实质上均为前馈环节,真正的反馈环节应该是用户对可运行软件的使用、使用中的判断及判断后与开发人员的信息交流。§反馈和前馈这一回路的响应速度应大于被跟踪(或被适应)的系统的变化速度,这就要求软件开发有快速的产出能力。Agile适???而非预测特点Agile方法通过快速、短迭代式的开发,不断产出和演化可运行软件,根据用户的反馈信息作适应性调整,然后进入下一轮快速短迭代式开发。软件开发中,人的因素是第一位的Agile以人为导向而非过程导向§人是过程的主体,而人的工作承受力是有限的§软件开发中的大部分是需要创造力的设计工作,软件人员是创造性的工作者§软件人员有主观上做好工作的意愿§软件开发的目的是为人提供方便,应首先着眼于有用的可执行的软件,也就是首先考虑商务目标,而不是为过程而过程Agile以人为导向而非过程导向强调软件开发中相关人员间信息交流软件开发中的中间过程和制品(文档),追根究底其目的是为了交流项目失败的原因最终都可追溯到某个信息没有及时准确地传递到应该接收它的人--AlistirCockburn人特别擅长面对面的交??,面对面交流的成本要远远低于文档交流的成本--AlistircockburnAgileAgile方法的一个共同特点:努力营造诚信、开放的组织氛围,根据项目中信息流通的具体情况,按高内聚、松耦合的原则,将项目组划分为若干个小组(每个小组以不超过10人为宜,组员均在一个工作间内工作),通过小组内各种渠道的沟通,来减少中间制品的工作负担,提高应变能力。以人为导向而非过程导向n任何软件开发方法都有一个相应的价值系统(Valuesystem),方法通过价值系统对过程予以指导,方法只有在其应用周境(context)与价值系统相吻合时才能发挥真正效力nAgile联盟提出了"四个价值"、"十二个指导原则"AgileAgile方法的价值系统和指导原则AgileAgile方法的价值系统§较之于过程和工具,更注重人及其相互作用的价值§较之于无所不及的各类文档,更注重可运行的软??的价值§较之于合同谈判,更注重与客户合作的价值§较之于按计划行事,更注重响应需求变化的价值(1)在快速不断地交付用户可运行软件的过程中,将使用户满意放在第一位(2)以积极的态度对待需求的变化(不管该变化出现在开发早期还是后期)(3)以几周到几个月为周期,尽快、不断地交付可运行的软件供用户使用(4)在项目过程中,业务人员和开发人员最好能一起工作(5)以积极向上的员工为中心建立项目组,给予他们所需的环境和支持,对他们的工作予以充分的信任(6)在项目组中,最有用、最有效的信息沟通手段是面对面的交谈AgileAgile方法的指导原则AgileAgile方法的指导原则(7)测量项目进展的首要依据是可运行的软件(8)Agile过程高度重视可持续开发项目发起者、开发者和用户应能始终保持步调一致(9)应时刻关注技术上???精益求精和设计的合理,这样能