本站小编为你精心准备了敏捷开发在软件开发中的运用参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。
摘要:敏捷开发能够使项目团队的工作效率得到极大提升,以最快的速度获得投资回报,同时还可以产生高质量的工作成果,敏捷开发在实际的软件开发工作中的应用十分广泛。本文介绍了敏捷开发在软件开发中的应用,希望可以为同行业人士提供参考。
关键词:敏捷开发;拆分;并列;敏捷方法
敏捷开发方法,是一种以人为核心,也就是以开发者为核心的进行迭代开发,循序渐进式进行开发的软件开发方法。这种开发方法采用的是项目拆分的手段,改变了以往软件开发瀑布式的开发方式,转变为以人为本的并列式开发方式,这是一种具有高度精干灵活的软件开发方法,它能将整个软件开发过程分为若干阶段,从而大幅度提升软件开发效率并且提升软件开发质量。这种开发方法很大程度上调动了软件开发团队的工作激情和工作效率,提高了软件开发产品的质量和极大降低了软件开发成本,从而可以让开发公司在交付高质量的开发成果的同时降低成本,提高软件开发公司的竞争力,使用这种开发方式是一种一举多得的方式。
一、敏捷开发在软件开发中的应用
当软件行业刚刚诞生之时,由于整个软件开发过程越来越长,涉及到的开发人员越来越多,而整个开发过程缺乏有效的指导而使得整个开发过程出现了很多不可控、不可预知的不利因素,这就导致了代码重复率高,最终产品质量差强人意。为了避免这一情况,很多软件公司都采取了多种措施来约束整个开发过程,而这些约束措施却又会降低开发效率,拖慢整个开发进程,不可避免的增加了软件开发的时间与成本,同时由于检查约束手段的不足,极易形成恶性循环。在此背景之下,一些业内的专家聚集在一起共同思考解决办法,于是一种更加高效的软件开发方法就被开发了出来,这就是敏捷开发方法。敏捷开发过程,是一种以人为核心,也就是以开发者为核心的进行迭代开发,循序渐进式进行开发的软件开发方法。这一方法在构建开发新软件时会产生十分微小的增量,让软件具有比之前更高的灵活性、可维护性以及高可重复性等等“敏捷”属性,从而提高了软件开发的效率,并且能够通过有效的应对手段来应对开发过程中用户多变的需求。为了达到敏捷的要求,我们必须要使用一些实践中总结出来的规则,在使用这些设计规则时一定要保证软件的高度灵活以及后期的可维护性,同时还需要适当引入一些在特定环境之下公认有效的可以权衡这些规则的设计模式。不管规则如何总结,如何改变,践行这些规则的永远是人,每一个开发者与其他开发者的交互是十分多元复杂的,交互的效果很难预料,但是这种交互过程却是整个软件开发工作中最为关键的步骤。以往的软件开发过程过度强调了软件开发过程以及软件开发技术,而忽略了软件开发者的作用,这应当得到全部软件开发人员的重视。
敏捷开发具有很多的特征,这些特征是区别于普通软件开发方法的关键所在。这些特征包括以下内容。第一,软件开发的终极目的就是要以最快的速度、最高的效率、最高的质量持续向用户交付高质量的软件,时间要尽可能短,并且在企业的生命周期内要不断寻找减少软件开发周期的方法。第二,保持软件开发过程中的高度灵活性,就算是在软件开发的后期,也要具有可以根据用户需求随时做出改变的能力,要敏捷应对用户需求变化的趋势。第三,在整个开发过程中,软件开发人员应当聚集到一起工作,面对面进行交流,管理人员应当创造优越的工作环境,对开发人员的开发工作提供最强有力的支持,并且要创设合理的激励机制,要将工作进度这一最重要的考核标准与其他标准结合起来综合评判员工的表现,同时积极将敏捷开发过程应用在软件开发的全过程中,要对优秀员工的表现和创新性的想法和技术进行表彰,不断提升软件开发设计水平。第四,尽量减少开发人员工作强度和工作时间,简单就是最大的节省,同时要重视软件开发团队的作用,因为最好的架构,最好的技术,最好的设计都是出自与优秀的软件开发团队。在下文将介绍敏捷开发在具体情境中的应用。
1.敏捷开发方法在企业架构开发中的重要作用
敏捷开发是否与企业架构兼容,这是很多人都关注的问题。现在看来,二者是兼容的,但是这种兼容却需要后期的开发人员的努力。敏捷开发要想在企业架构开发中获得有效的应用,要求相关人员必须要采用特殊的方法和特殊的技巧,才能够让敏捷开发和企业架构开发相得益彰。敏捷开发的目标就是开发出能够最大程度对接企业业务,最大程度提升企业工作效率的软件,并且能够让企业的业务产生良好的转变。但是,企业架构开发和敏捷开发采用的方法不同,应该要进行统一。对于某一个具体的软件开发工作,如果只是用了某一种方法而没有使用另外一种方法从而导致了失败,这个过程会最大程度上使得开发者拥有这两种方法的使用经验。举例来讲,一款优秀的文档处理软件,可以在企业架构层面获得良好的应用,但是却并不符合敏捷开发要求的便利性、扩展性、和多任务需求的功能。一个直瀑式的软件开发项目会很好的满足企业架构开发的要求,但是却并不一定能够向客户展示它的最大价值,同时也不能通过高效的迭代来解决软件风险问题。更加有意义的解决方案就是在软件开发项目启动时就兼顾企业架构和敏捷开发的要求。这种方法实施起来困难很多,因为组织性的问题,以及在整个开发过程如何协调的问题。比较好的解决办法就是敏捷开发团队当做整个架构开发的一部分,每一个团队成员都与企业架构开发成员辽西合作。两个团队没有必要相互忍让,两个团队的目标相同,他们的缺省操作模式并不与目标对立。这些实践对于企业进行软件开发有着很多的好处。
2.敏捷开发具体实现途径
根据行业的优秀经验,一个软件开发团队要想很好的实现敏捷开发模式,团队管理者或者全体成员应当采取合适的模式,在必要的时候可以进行实验然后推广合适的开发模式。在一个敏捷开发模式刚刚诞生的时候,应当选择对这种模式做个别试点还是直接进行全面推广考验着管理者的智慧。个别试点就是要求在个别的开发团队进行敏捷开发的尝试,然后推广到整个团队中。这种方法具有以下几个优势,第一,可以最小化各种失误产生的不利影响,同时可以将初期的成功经验最大化以及最快速应用到后期的软件开发实践中,同时还可以快速培养一批具有相当经验和实力的专业人才,帮助后期推广。但是应该可以看到这种方式也有不足之处。首先这种方法有可能会产生初期随机性的成功,这种成功一旦被复制有可能会因为概率问题而在企业内部产生不利的影响,一旦后期失败多,就会产生对公司管理层的质疑,影响公司团结。但是,全面推进也是有着其优缺点。全面推进的最大优点就是全面,可以让所有团队共同转型,让组织跟加灵活,增加是错,避免随机性的成功和失误产生。同时也应当看到,全面推进的缺点就是风险高、开销大,机构可能会面临大规模改变,会受到来自各级组织的阻力。
3.敏捷开发路线选择
敏捷开发路线,主要有两种,既技术优先还是迭代优先。技术优先,就是要求开发者在使用敏捷开发时首先关注各种技术实践,先改变技术然后提升开发水平。这种方式给开发团队带来的好处技术转型过程十分顺畅平滑,但是这种方式一般难以做到,同时会导致整个开发团队成本飙升。同时也有可能让团队背离之前良好的传统和习惯,让开发者不再以用户为中心,失去了敏捷开发的真正意义。迭代优先要求团队按照迭代的方式进行工作,一旦开发目标受阻,才会进行技术实践改变。这种方法的优势在于实现比较容易,团队成员容易形成凝聚力。但是这种方式也有风险,那就是团队很难主动对改善敏捷开发而做出努力。
二、敏捷开发在软件开发中产生的问题
在软件开发过程中,尤其是在敏捷开发过程中,软件开发者的影响要远远大于其他因素。这也就是说,软件开发者的缺陷与问题是导致敏捷开发过程出现问题的最主要原因。人无完人,每个人会有各种各样的缺点和问题。软件开发者的容易在软件开发过程中犯各种各样的错误,可能是态度问题,可能是认识问题,也有可能是技术问题。很多的软件开发人员在工作了一段时间之后,就会变得过于谨小慎微,不愿意冒险,不愿意犯错,怕这些过错会影响自己的业绩,这就会导致后期员工创新后劲和冲劲不足。随着工作时间的延长,员工会产生一个舒适区,而不愿意突破这个舒适区创造新的方式,倾向于重复是用自己已经熟稔的方式方法,同时也很难坚持一个良好的习惯。在软件开发团队中,交流是最重要的,面对面交流是最有效的交流方式,这也是很多软件开发团队的欠缺的地方。总结为了获得更大的效益,减少软件开发成本和时间,让客户满意,提升开发企业的竞争力,开发企业和开发团队应当重视敏捷开发在软件开发中的重要作用。
参考文献:
[1]彭志楠.敏捷开发在软件开发中的应用研究[D].电子科技大学,2009.
[2]姚开鹏.敏捷开发过程在企业应用中的研究与实践[D].武汉理工大学,2005.
[3]于士文.敏捷软件开发方法在软件维护中的应用研究[D].湖南大学,2006.
[4]邱强.敏捷开发在软件开发中的应用[J].科技资讯,2009,22:1.
[5]张林,刘德永.敏捷开发在软件产品项目中的应用实践[J].硅谷,2011,07:122+113.
作者:龙高贵 单位:黔南民族师范学院