敏捷思想在软件开发中的应用与实践研究
2020-05-21赵俊石春
赵俊 石春
摘要:随着计算机相关设备的不断普及与软件开发技术的完善,软件设计与开发逐渐趋于个性化、多元化,对软件开发的质量与效率也提出了新的要求。然而,传统的瀑布式开发方式较为笨重难以满足社会发展需求,亟须一种更加便捷灵活的开发方式。21世纪初期,敏捷思想作为一种轻量级的软件开发思想逐渐被软件开发人员所认可和接受,逐渐应用于软件开发与设计中。因此,该文基于敏捷思想的基本概念与内涵等探究敏捷思想在软件开发中的应用。
关键词:计算机;软件开发;敏捷思想
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2020)09-0098-02
目前,随着社会进步,软件成为人们日常生活与工作中必不可少的一部分,软件开发在软件产业高度发达的今天为适应社会需求应当更加注重效率,采用更加高效的方式方法。传统的软件开发方法譬如说于1970年被提出的如今被广泛使用的瀑布式开发方式在对软件需求多样化的21世纪就显得日渐笨拙且所耗费的时间长,太过于强调文档、没有迭代与反馈、不适合客户需求不断变化的软件开发、将开发者变成流水线上的软件文档开发机器等缺点使得传统的软件开发方法不再适应高速发展的软件行业。为了满足市场需要,解决问题,国外软件开发行业提出了一些新的开发方法,这类方法以快捷、轻便的思维方式,得到了业界广泛的认可与推广,这类方法被称为敏捷软件开发方法。然而,这种“舶来品”在国内的实践与应用却不如人意,有的互联网公司把敏捷做成了“假敏捷”,成为披着敏捷外套的小瀑布,而有的互联网公司成功应用于实践中,通过敏捷转型得到了二次发展。因此,本文基于敏捷开发的核心思想探究其在软件开发中的实践应用。
1 敏捷开发思想
敏捷开发思想最初是十几名软件开发专家在美国犹他州的滑雪胜地中通过沟通与交流提出,其中最为出名的一名专家名为Martin Fowler,被人称之为软件开发大师,这些专家聚集在一起致力于总结实践经验能够发现软件开发中更好的开发方法。这些专家为了与传统的软件开发方法区别开来,将这些方法命名为敏捷开发,并且一起组建了“敏捷联盟”将会议结果发布为“敏捷联盟宣言”,首次明确提出了关于敏捷开发思想的核心价值观与基本原则。
1.1 敏捷开发思想核心价值观
敏捷联盟所签署的敏捷宣言中包含了4个核心价值观:1)个体和交互胜过过程和工具;2)可以工作的软件胜过面面俱到的文档;3)客户合作胜过合同谈判;4)+响应变化胜过遵循计划。1.2敏捷开发思想12条原则
1)尽早、持续地交付有价值的软件,使客户满意;
2)到了开发的后期,也欢迎改变需求。敏捷过程利用变化来为客户创造竞争优势;
3)经常性地交付可以工作的软件,交付间隔可以从几个星期到几个月,交付时间间隔越短越好;
4)在整个项目开发期间,业务人员和开发人员必须天天都在一起工作;
5)围绕被激励起来的个体来构建项目。给他们提供所需的环境和支持,并且信任他们能够完成工作;
6)在团队内部以及团队之间,最有效果并且最富有效率的传递信息的方式,就是面对面的交谈;
7)可以工作的软件是首要的进度度量标准;
8)敏捷过程提倡可持续的开发速度。责任人、开发者和用户应该能够保持一个长期的、恒定的开发速度;
9)不断地关注优秀的技能和好的设计会增强敏捷的能力;
10)简单是根本的,它是使未完成的工作最大化的艺术;
11)最好的架构、需求和设计出自自我组织的团队;
12)每隔一定的时间,团队会在如何才能更有效地工作方面进行反省,然后相应地调整自己的行为。
根据价值观和原则可以归纳出三个要点“客户”“团队”“以人为本”。因此,敏捷开发思想实际上指以人作为核心,根据用户不断变化的需求采用迭代、循序渐进的方法进行灵活开发的一种轻量软件开发方法。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
2 敏捷思想在计算机软件开发中的应用
2.1 敏捷思想在计算机软件开发中应用现状
近年来,敏捷软件思想在计算软件开发领域逐渐推广开来,许多国外大型互联网公司都在软件开发进程中融人敏捷思想,例如google、Vahoo、IBM等都已经使用敏捷开发方法多年。然而,在国内,许多互联网公司仍旧采用传统的瀑布式开发方式,而敏捷思想相对来说起步较晚,才刚刚被业界人员所接受,对于敏捷思想的应用与实践还处于发展阶段,只有国内部分企业真正做到了敏捷开发,譬如说华为通过加强敏捷思想开发培训以推广落实敏捷软件开发。然而,存在许多中小企业由于团队建设薄弱、管理能力较低处于“假敏捷”的状态,甚至存在为了敏捷而敏捷的情况。因此,探究关于敏捷思想在计算机软件开发中的应用流程与实践具有一定的研究价值,值得我们去深入分析。
2.2 敏捷思想在计算机软件开发中的应用过程
敏捷思想对于计算机软件开发来说总体上起到一个指导性的作用,具体的实际应用可以遵循以下流程:
2.2.1 敏捷需求分析
敏捷宣言所提到的12条原则中可以看出用户需求在整个软件开发进程中起到了非常关键的导向作用,因此,在开始新的软件开发项目的时候,首要的事情就是敏捷需求分析。敏捷需求分析又分为两个方面,一方面为制定产品需求列表,另一方面为改进和评估需求清单。
制定产品需求列表:首先应当了解用户需求、明确产品需求,可以通過开展战略会议,邀请软件开发团队、客户、项目负责人等相关利益者参加会议,分析与讨论用户需求、产品需求、用户操作场景,并且将需求进行优先级的排定,在会议进程中应当通过对内容的记录与整理创建出Product backlog。在整个软件项目开发的进程中这个清单将一直存在,项目开发团队必须时刻与用户保持联系,了解用户的需求变化,及时随着用户需求而更新需求列表以及需求列表的优先级。这些用户需求是制定软件开发项目目标与愿景的重要基础。
改进和评估需求列表:在整个软件开发流程中,负责项目开发的团队对创建的Product backlog作出评估与改进是一个至关重要的环节。主要对项目需求列表的明确程度、合理性以及优先级排序进行评估,去除与软件开发项目无关的、不合理的需求,改进优先级排序错误的部分。然后根据用户的有效需求制定完整的软件项目开发计划。
2.2.2 敏捷软件开发
敏捷软件开发阶段是在之前工作的基础上,将需求列表拆分成最小粒度的Story,可以通过Sprint计划会议在Productbacklog中按照优先级挑选出一个Story作为一次迭代计划目标,完成时间设定为一定周期以内。然后将挑选出的Storv进行进一步的细分,形成一个迭代任务列表。项目开发者应当在规定的周期内,完成迭代任务列表中每一项的编码工作,及时告知项目进展。需要注意的一点是,目前,国内许多企业为了及时了解项目进度,因此每日召开例会,围绕昨日进度、今日安排以及所遇到的困难这几个方面进行汇报与梳理。但是,笔者在实际的工作经验过程中发现,这样的做法耗费的时间较多,并没有起到实质性的作用,尤其在公司团队规模较大的情况下通过召开例会进行工作汇报的方式反而不利于软件开发效率。在实际的应用中,可以借助市面上CORNERSTONE、WorktileAgile等相关的敏捷软件项目开发工具进行记录。
2.2.3 敏捷测试
在敏捷软件开发进程中,敏捷测试是其中较为关键的一个环节。敏捷测试由单元测试、可接受性测试以及系统及性能测试。开发团队在完成一个迭代周期冲刺阶段之后,需要邀请利益相关者召开会议,由软件开发者对软件进行演示,进入这一个Sprint软件产品的验收测试阶段,在测试过程中通过收集用户问题反馈并且根据软件的测试情况由开发团队确立一个最为重要的待改目标,将其设定为下一个冲刺阶段的首要任务,对软件开发产品进行进一步的优化与完善。
3 结束语
总而言之,相较于罗列大堆功能再进行线性流程开发的传统开发方式,敏捷开发将软件开发项目分解为多个迭代任务,通过完成每个阶段的任务从而完成整个项目具有一定的优势与可行性,避免了软件开发成为枯燥的文档开发,使得软件开发变成一个灵活的随机应变的高效的过程。本文基于敏捷思想的理论基础上总结出敏捷思想在计算机软件开发中敏捷需求分析一敏捷软件开发一敏捷测试的应用流程。在今后关于软件开发的实践操作中,敏捷思想将起到重要的指导作用。
参考文献:
[1]罗昊.计算机软件开发中敏捷思想的應用探讨[J].计算机产品与流通,2019(12):28.
[2] Computers; Researchers from Pontifcal Catholic University ofParana Detail New Studies and Findings in the Area of Com-puters (Usability In Agile Software Development:a TertiaryStudy)[J]. Computers, Networks&Communications,2019.
[3]杨智勇.敏捷项目管理在软件开发中的应用[Dl.上海:上海交通大学,2014.
[4]严智,刘玉恰.浅析敏捷软件开发方法与工程实践[Jl.信息化研究,2013,39(2):52-55,59.
[5]谢东强.敏捷软件开发的双迭代模型[J].计算机应用与软件,2012,29 (6):176-17 8,198.
[6]范洪涛.敏捷软件开发应用研究[D].成都:西南交通大学,2009.
[7]沈成莉.敏捷项目管理在软件开发中的实践应用[D].上海:复旦大学,2009.
[8]向佐龙.敏捷管理方法在软件开发中的应用研究[D].武汉:武汉理工大学,2007.
[9]唐俐威.软件开发的敏捷管理方法应用研究[D].哈尔滨:哈尔滨工业大学,2006.
【通联编辑:唐一东】
收稿日期:2020-01-25
基金项目:海南师范大学校级教育教学改革研究项目(hsjg2019-52)
作者简介:赵俊(1993-),男,四川成都人,工学学士,主要研究方向为无线通信,软件设计与开发;通讯作者:石春(1977-),男,江西鄱阳人,副教授,工学博士,通讯作者主要研究方向为无线通信,软件设计与开发。