- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
敏捷软件开发三重迭代模型
敏捷软件开发三重迭代模型 在不断变化的用户需求和复杂的商业环境条件下,为了快速开发高质量的软件,诸多软件企业采用敏捷软件开发策略。在传统敏捷软件开发方法过程中,存在任务对人依赖、工作量非饱和等问题,导致开发效率低,项目进展缓慢。本文提出基于敏捷软件开发的三重迭代模型,针对任务对人依赖问题,在项目迭代过程中对任务的分配细化做出改进;针对工作量非饱和问题,做了传统迭代过程划分并行的改进。实践证明此模型很好的解决了传统敏捷软件开发中存在的问题,提高了软件的开发效率,降低了软件开发的周期和成本
【关键词】敏捷方法 三重迭代 软件工程 并行化开发 软件模型
1 概述
如今随着信息化时代的发展,软件的需求量不断增加,软件开发方法也一直处在不断发展的过程中。在众多的方法中,敏捷软件开发凭借其以人为核心,快速迭代,及时响应客户需求的特征,成为众多高效团队的胜利之道
敏捷软件开发有多种,包括SRCRUM,特征驱动软件开发(FDD),自适应软件开发(ADP)以及极限编程(XP)等。这些方法都有以下主要特征:
1.1 迭代计划
迭代是周期性较小的交付,从而实现用户的一些需求,在每次迭代结束时,会给客户演示迭代生成的系统,以得到他们的反馈
1.2 用户反馈
需求的具体细节很可能随时间而改变,尤其在客户看到集成到一起的系统。有用户的反馈,再把反馈之后的需求集成到产品,这会避免很多无用功以及对需求的曲解
1.3 持续集成和测试驱动开发
开发人员每天会迁入他们的代码并集成,频繁的集成帮助项目在早期发现项目的风险和质量问题,还可以在任何时间发布可以部署的软件。 测试驱动开发有助于编写简洁可用和高质量的代码,有利于重构并加速开发过程。持续集成和测试驱动开发是迭代的基础
在敏捷团队中,愿景和软件一起演化,每次的迭代,团队需改进系统设计,使设计尽可能适合于当前系统。这种做法并不是要放弃架构或者设计,而是增量地演化出系统最佳架构和设计方式。正是敏捷软件开发方法的这些优势,使得越来越多的企业来采用实践。但随着实践的发展,出现的问题也越来越多
2 问题
敏捷软件开发的核心就是以最低的成本、最快速的为客户提供价值。基于这一优势,越来越多的软件开发企业开始采用敏捷软件开发方法,由于许多企业缺少在软件开发方法研究上的经验,在实施敏捷过程中往往会出现一些问题,从而未能达到预期的目标。下面总结了一些经典问题
2.1 任务对人依赖问题
很多团队在进行任务分派时,由于诸多不合理的任务分解,导致任务分解的粒度较大。开发过程中,对于大粒度的任务,安排的开发人员需要花费较其他小粒度任务更多的时间,使得其他开发人员已完成手头工作但无法插手到此大粒度任务中,因为这些大粒度的任务具有连续性,从而出现任务对人依赖的现象。例如,项目组一共7人,迭代周期为2周,一共8个story,在开发进行一周后,4人已经完成各自的story从而闲置,但又无法加入其他三人的story。因?槠渌?三人的story已经开发了一半,而且这些story具有连续性,闲置的4人无法领到这些story下的任务。整个迭代不可能让闲置下来的人员无事可做,等着另外三个人,所以不得不使本次迭代提前结束
2.2 工作量非饱和问题
在常见的软件开发迭代周期内,不同职责的人员,任务的工作量可能明显不同。例如,在某软件开发的第m个周期内,开发人员的工作量繁重,而需求分析人员和测试人员的工作量则相对轻松。从第m+1个周期开始,情况却相反。这种分工不均导致不同职责人员的工作量在迭代周期内不能达到相对饱和,很大程度上降低了项目的开发效率和进度
为了解决以上问题,本文提出了一种适合敏捷软件开发的三重迭代模型。此模型对需求设计,产品编码和测试进行划分,各自迭代。这三个大类迭代的划分虽然与敏捷提倡的完整团队理念有一些差距,但是在各自迭代中,相互检视,互为交付,在一定程度上不仅弥补了非完整团队的缺陷,降低了不同职责人员任务间的耦合度,而且极大的提高了团队的开发效率和项目的研发进度
3 三重迭代模型
为了解决上一节在软件实施敏捷开发方法过程中遇到的问题,提出了一种三重迭代模型,将敏捷方法中的单个迭代过程分解成了三大类迭代过程
通过对项目的规模大小、需要的开发资源、技术的难度等级评估建立研发团队。下面详细的介绍从项目开始到交付的各迭代过程
3.1 需求设计迭代过程
3.1.1 项目的初始阶段
需求设计人员通过初始阶段与客户的交互,获取对开发目标的初步认识。并与客户及其开发和测试人员确定产品迭代周期以及最终产品交付的预期
3.1.2 三重迭代阶段
(1)需求设计人员拿到开发人员发布的项目必威体育精装版测试版本,演示给客户。若客户认可当前版本,则
您可能关注的文档
最近下载
- 2025年全国特种设备安全管理人员A证考试题库(含答案) .docx
- 灌装操作工作业指导书.doc
- 番茄酱灭菌灌装机说明书end.doc VIP
- 性格培养08勇敢的小熊.pptx
- 腐植酸肥料生产建设项目可行性研究报告.doc
- 民营企业财务管理新规制度.doc
- 2023基于手机银行APP专区调研的客群精细化运营分析报告.pdf VIP
- 杀菌操作工作业指导书.doc VIP
- 基于手机银行APP专区调研的客群精细化运营分析报告-42页.doc VIP
- 马工程系列《教育学原理》项贤明主编第一到十章全完整版课件PPT:产生发展、教育与社会人的发展、目的培养目标、制度、课程教学德育、教师学生等(1).pptx
文档评论(0)