APP下载

敏捷开发在项目开发中的应用

2017-11-14卢文佳

经营者 2017年6期
关键词:项目开发应用

卢文佳

摘 要 敏捷开发思想是近些年来在软件行业流行起来的新式思想,运用该思维策划生产的软件具备灵活、有效和高品质等优势,把敏捷开发和过去的经典开发规则进行融合,可以有效地提升项目开发的效率,使得越来越多的软件项目开发团队对其产生浓烈的兴趣。把敏捷开发思想融入小型项目开发环节中,处理经典设计方式在满足客户意向变化方面的不足,可以合理把握需求改变与客户对开发环节的透明性导致的风险,力求在短期内得到令人满意的项目开发方案。

关键词 敏捷开发 项目开发 应用

敏捷开发并非完全是一门全新的理论,而是对以往的经典开发思想的改善。敏捷开发吸取了丰富的软件项目中的有用经验。敏捷开发在既有的软件项目开发基础上实现了整合,所以敏捷开发既有经典方式的优点,又在很大程度上改善了软件开发的效果,而且可以在开发环节对客户的需求进行更改,利用初期迭代方式可以在早期找出风险,降低工程的返工率。敏捷开发思想以人为本,目的是满足客户的需求,其特点是具备随时满足外界需求的能力。这一特征可以在很多方面体现出来,比如经济全球化导致的任务与设计条件的较难明确,市场对手的运营方式与客户需要的持续改变,技术的快速变更,职工薪资的不断提升等。运用敏捷开发思想的企业能够拥有处理类似不确定性问题的能力,进而在市场中占据一席之地。

一、敏捷开发思想分析

经典的设计开发认为不包含文档的软件是难以想象的,是不合格的项目开发。编码过程不能成为沟通系统理论与组织的预期媒介。开发团队应当编写简单易懂的文档,通过这种方式对系统和有关设计进行描述。但是在实际情况中,却能发现数量较多的文档效果比较少的文档还要差,这是由于编写大量的文档不但要花费过多的时间,而且让这些文档与代码实现同步,需耗费更多的时间。假如开发人员未能让代码与文档一致,将会导致文档占据大量的内存,复杂难懂的编码会给后来的继任开发者带来很大程度上的阻碍。敏捷开发思想则认为,应当只编写和维持一个精悍、主题明显的有关系统原理与组织方面的文档便可以满足要求,项目开发的重点要放在最后的产品上,也就是客户所需要的软件。任何一个项目开发团队都需要经过内部讨论,确定哪部分文档在交付项目软件时是必需的。软件能够被装饰、改变、研究,但它是真实存在的。尽管直接由编码中获取系统的原理与组织信息是有难度的,但代码是唯一不存在歧义的信息来源,从这个方面来说,代码也就是设计。

二、敏捷开发在项目开发中的应用

(一)偏重于原理与组织设计

在敏捷开发过程中,关注原理与组织设计,尽量不进行具体设计。原理设计能够被理解成是寻找开发项目和软件的目的,关注的是软件开发的具体规划、市场竞争力、用户需求以及技术水平等。组织设计可以理解为:从宏观层次上看,组织设计需要以什么形式完成,分多少环节,由多少构件组成,各个环节与构件之间的联系是什么。具体设计指的是详细的规划、外接形式等。某个产品,尤其是面对市场的产品,原理设计与组织设计相当关键,应当预测行业将来的发展趋势,产品在市场中内部与外部的对比,技术的提升趋势,以及各个组块的成本与效益的差距等,这样才可以尽量确保产品朝着良好的方向发展。在软件中加入或者删掉一个组块应该以十分谨慎的态度对待,因为新加入的功能一旦被用户体验,在后期的维护中就很难将该组块删除。此外,还应当思考每个产品版本间的兼容性以及用户群体的变化等情况。因此,在进行初期设计开发的时候,经过原理设计与组织设计,理清路线是相当必要的。

(二)积极与用户沟通

在项目开发过程中,当涉及新版本开发时,经常会遇到针对旧版本的某一关键模块进行再次设计的情况,进而碰到了几个常见的问题:首先,新版本的组块与旧版本组块的匹配性问题,致使旧版本用户难以顺利地适应新版本变化;其次,新版本的变化是纯技术角度的再次设计,无论是面对用户,还是面对开发团队内部的组织来说,都没有比较显著的优势,最后的结局通常是开发者耗费了大量的人力物力与时间进行设计,却由于一些现实情况导致二次开发以失败告终,依旧使用之前的模块。因此,盲目增加需求,并不能给项目带来好处,需要避免出现不能增加用户体验价值的功能,假如新功能对用户没有任何价值,那就意味着该模块在实际中并不需要。尽管敏捷开发思想可以很好地适应客户需求变化,但有必要避免盲目变化。敏捷开发思想坚持的是简易的平缓设计,而非强烈的拆除式设计。一方面,开发者只需要进行其能力范围内的设计;另一方面设计要随着客户需求的变化和时间的推移而平缓完善。这样有益于提升设计的灵活性,降低因变化而引起的成本投入程度。项目产品的变化应当进行谨慎的讨论研究,三思而后行。敏捷开发认为,在项目的任何环节里,开发设计人员是与用户一同工作的,开发者到用户的工作生活环境中进行調查,同时需要邀请用户到项目开发部门中来进行建议参考。假如在开发环节里遇到一些问题或是产品进行再次设计时,可以迅速得知用户的意见,保证技术开发人员可以最大限度地设计出用户需要的产品。

(三)预先进行产品检验

以往的瀑布形式开发是先进行代码编写,再进行产品检验,直到出现设计方面的问题时,常常为了减少成本,不了了之。敏捷开发坚持由用户实际应用体验的角度出发,预先进行产品检验,在代码编写之前先编写检验代码。编写检验代码是一个测试行为,同时也是一个设计行为,还可以说是编写文档的行为。在这个环节里,客户需要上的偏差与项目开发中的不足将会被找到。因为代码编写还未实现,只需要变化需求与设计便可以满足条件,降低了成本投入,减少了项目开发风险。

三、结语

伴随着全球经济化进程的不断加深与科技水平的持续提高,人们对项目开发的生产效果与满足用户要求的不确定性与易变性等方面有了更多的需求。在经典开发方式中,用户可以说几乎没有加入开发环节中,项目开发过程中的调查、策划、编码直到内部测试,开发的每一个环节对用户都是保密的,只有公测或是培训时才会接触到产品。因此,产品最终系统的运行模式与操作界面和用户的需求肯定存在着不小的差距,而敏捷开发正可以弥补这一缺陷。敏捷开发是一个过程,并不是一个独立的事件。其是一个不断应用规则、方式和实践来改善软件的组织与能读性的过程。将敏捷开发思想运用到项目开发过程中,将获得明显的效果,敏捷开发思想体现了项目开发过程中比较科学的理论软件开发价值观与标准。

(作者单位为上海交通大学信息安全工程学院)

参考文献

[1] 郎高一.敏捷开发在LICENSE管理平台项目中的应用实践[D].浙江工业大学,2015.

[2] 郝青.敏捷开发中的Web应用开发框架研究[D].北京邮电大学,2015.

[3] 陈亭华.敏捷方法在通讯软件开发中的应用研究[D].东华大学,2014.

[4] 蔡军英.互动娱乐软件中敏捷开发方法的应用[D].华东理工大学,2013.

[5] 梁军峰.敏捷开发方法在检验检疫快件验放系统建设中的应用与研究[D].电子科技大学,2011.endprint

猜你喜欢

项目开发应用
基于量本利分析法的房地产开发项目经济评价
房地产企业开发中法律风险的有效防范策略分析
关于低风速风电项目开发风险与对策的探讨
多媒体技术在小学语文教学中的应用研究
分析膜技术及其在电厂水处理中的应用
GM(1,1)白化微分优化方程预测模型建模过程应用分析
煤矿井下坑道钻机人机工程学应用分析
气体分离提纯应用变压吸附技术的分析
会计与统计的比较研究
物业管理早期介入在房地产项目开发中的地位和作用分析