敏捷开发关键在于,能够“敏捷”地适应项目的变化,而不是在开发阶段去适应需求变化。
IT项目不仅投资较大,而且项目的实施过程很长,拿ERP来说,一般的项目都是分阶段去实施,每个阶段的实施过程少则几个月,而且存在项目风险。
因此,很多企业在项目决策上都存在一个顾虑,企业上项目需要解决企业存在的问题,但实施的过程和风险又让企业进退两难,真的不能二者兼得吗?
软件价值的兑现
现在的软件业有个现象,就是软件的功能就等于价值,软件功能越多,系统越复杂、解决问题越多价值就最大。但是实际上很多功能最终用户根本不会用,造成功能浪费。
第二个现象是很多用户并不清楚软件的价值究竟在哪里,所有的IT部门和厂商都是追求软件按需求开发完成,认为软件只要开发完成上线后就实现了价值。
但实际上软件上线仅仅是一个软件生命周期最早期的阶段,软件的价值是在使用中体现出来的。
比如说投资回报率的计算方法:
投资回报率=软件单位时间内实现的价值×时间-开发成本
在这里面时间的因素是很重要的。很多国内企业都是为了降低开发成本,忽略了怎么样延长软件的使用寿命从而提高它的最大价值。
国内企业IT投资有80%是用在新产品开发上,20%用在现有系统扩展上。国外这个数字正好相反。如果对现有系统进行投资控制,用户得到的价值要比开发一个新系统大得多。
敏捷开发的价值
从中国前几年ERP上线的平均速度来看,项目的交付时间都比较长,这让用户产生了顾虑。
从某些角度来讲这是很正常的现象。因为中国的企业可以利用自己的后发优势,从西方软件开发过程中学到了很多经验,可以避免很多犯过的错误。
但是也有一些不正常的因素存在:一些项目因为业绩的需求,希望项目能尽快上线,可如果是传统的软件开发方法,它的自然规律是速度、成本和质量三个互相制约的因素。一味追求速度必然的结果就是成本的提高,系统的灵活性、可扩展性和可使用性都会下降。
在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。
简单说,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
敏捷开发很多方面就是为了解决问题:一个就是什么样的功能提供给客户,应该产生最大的价值?什么样的功能不要提供给客户,因为它产生不了价值。产品系统的灵活性和可扩展性,以及适应性是怎么样实现等。
软件开发不能被认为是一个既定的进程,因为在一个团队里开发一个软件时会有太多的变化出现,任何一个既定的程序设置都能达到一个合适的预想结果是不可能的。因为需求在变化,技术在更新,还有人员流动等问题的存在。
敏捷开发最重要的就是怎么样使业务人员、技术人员和最终用户能够尽可能地沟通。因为只有过程的沟通,大家才能意识到什么样的功能是可以做的,什么样的功能是能给用户提供最大价值的。
敏捷开发使团队依靠变化来获取活力。因此,不需要一个成熟的初始设计。他们更愿意保持设计尽可能的干净、简单,并使用许多单元测试和验收测试作为支援。这保持了设计的灵活性、易于理解性。
团队利用这种灵活性,持续地改进设计,以便于每次迭代结束生成的系统都具有最适合于那次迭代中需求的设计。
敏捷开发技术应用分析
电子商务软件开发存在的问题
开宏公司是国内某汽车零部件贸易企业,其业务形式大部分采用期货订货,客户群基本上覆盖了全国各地,公司制定的订货时间一般集中在月底的10天左右。
该企业原来开发了一套适合自己企业运作的贸易企业ERP系统,但ERP的核心是实现企业内部资源的优化配置,是实现企业内部供应链管理。仅仅是在公司内部使用。
由于企业没有外部信息管理机制,所以不能够很好的和客户进行信息交流,这样一来就造成客户在集中订货的时候,因为订货量巨大,而时间集中在供货的那几天,造成该企业的业务人员平时很轻松,在那几天却很忙碌,而且经常会发生排队订货的现象。
同时由于是期货订货,所以该企业还得向上游供应商订货,这样一来,给工作带来极大的不便,也容易造成混乱和漏洞。
因此,经过多方面考虑,公司决定根据企业特点开发一套网上期货订货系统,将订货的整个环节都打通,通过和几个系统之间的集成,做到实时的信息流通。
但是因为国内没有相关成熟的案例和模型,所以实施存在极大地风险性。而为了尽快地解决业务流程中的问题,要求尽早建立网上订货系统,根据以上情况,决定采用敏捷开发技术来实施这个项目。
实施计划
建立联合实施团队,由电子商务公司的项目实施人员和客户方的关键用户一起构成,统一受客户方的常务副总指挥。
工作方式:在客户现场办公,在调研的同时做需求,根据系统架构和功能划分,边做设计边做开发。
沟通方式:所有项目组成员对每天的工作进行总结和经验交流。每周召开一次推进和培训会议,在不断开发的过程中进行对用户的业务知识,系统知识,和操作的培训,为将来系统的运行维护打下更好的基础。
项目实施过程
第一轮循环实施周期两个月,不但搭建了整个应用的整体框架,还实现了两大品种的单向期货订货流程。
第二轮循环实施周期两个月,打通了向供应商的期货订货环节,并且实现了另外两个品种的订货。同时逐步将前期做好的系统向用户做推广使用,在不断完善的过程中,对本阶段的项目开发实施做修正。
第三轮循环实施周期三个月。由开发人员和客户方的关键用户对期货订货系统进行完善和优化。
项目实施效果
通过网上信息的快速传递,再也没有排队订货的状况,同时由于采用了敏捷开发技术,降低了开发成本,开发效率得以提高。尽管在整个项目实施过程中存在大量的变更和修正,但是这样的开发方式可以很有效的避免带来更多负面的扯皮现象。
文章来源于领测软件测试网 https://www.ltesting.net/