敏捷开发在SAP ERP优化工作中的应用

2018-01-28 14:14
装备制造技术 2018年1期
关键词:调试变化用户

陈 灏

(广西柳工机械股份有限公司,广西 柳州545007)

0 引言

信息技术的飞快发展及其对各行各业的覆盖、渗透,迅速地改变着人们原来所熟悉的一切,并将世界带入了经济全球化的新时代。随着全球市场竞争不断加剧,不断缩小的利润空间,逐步上升的客户期望,急剧加快的创新要求,促使企业要迅速适应这种变化和要求,否则会在严峻的市场竞争环境中处于被动的劣势地位。“在推进信息化的过程中注重运用信息技术改造传统产业”,是我国传统产业改造的指导思想。

在这个背景下,大量的制造业企业选择了应用ERP软件来支撑企业未来的战略发展;当企业花了大量资金与人力对ERP进行实施上线后,随着外部咨询顾问的撤离,企业后续的ERP应用、优化就成了企业面临的问题。信息化是企业核心竞争力的一部分,不是买软件、买硬件,不是用昂贵的信息技术描述企业流程,不是简单的信息化的应用,而要利用信息技术提升企业的管理水平和业务能力。

1 敏捷开发的应用

1.1 敏捷开发的定义

敏捷开发模式是一种应对快速变化的需求的一种软件开发能力。其更强调程序员团队与业务专家之间的紧密协作、面对面的沟通频繁交付新的软件版本、紧凑而自我组织型的团队,能够很好地适应需求变化的代码编写和团队组织方法。该模式以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。

1.2 敏捷开发相较传统开发方法的优点

当企业的业务部门需要做某业务优化及改善,同时需要在系统内做一些二次开发,配合业务管理的变革,将业务流程用系统的方式固化下来,而此时如果采取传统的软件开发的方式——瀑布法,是不能满足用户需求的。

瀑布模型有以下缺点:

(1)各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量;

(2)由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果从而增加了开发风险;

(3)通过过多的强制完成日期和里程碑来跟踪各个项目阶段;

(4)瀑布模型的突出缺点是不适应用户需求的变化。

在实际工作中,业务需求变化较快,并且业务人员很多情况下要看到真实的系统执行时才进一步说明清楚他们的需求,只是拿到一些设计阶段的文档,他们无法想象出未来系统是如何运行,不能识别系统是否已经能满足需求。

因此如按瀑布法完成系统二次开发,往往面临的情况是两种:一是开发出来的程序不是用户当初想要的,即使有可能很大一部分原因是用户最初没有描述清楚他的需求,但现实情况就是如此,必须做出改变;二是系统开发还没有完成时,用户的需求已经开始改变了,面临系统返工甚至重建的局面。

而敏捷开发的方式,将IT开发人员、业务人员、内部顾问集中到一个小项目组里,进行迭代式的设计、开发、测试,发现问题或需求有变化时可以快速反应,从设计源头就可以进行快速地进行调整。

1.3 敏捷开发的具体应用

对于软件类系统或项目,即使在需求上花的时间再长,也很难在需求阶段分析和挖掘出所有的需求,有些需求注定会在设计实现、用户使用过程中才逐渐清晰地呈现出来。在现实工作中,许多用户都是在阶段交付系统的使用中才会发现原来的需求是否是他们真正想要的,也有机会将真正的需求反馈到开发人员处,以及时地进行调整;这种开发过程中存在的不确定性,如果使用瀑布法这种变化会延迟到测试或者用户使用阶段才能发现,极大地增加了返工或变更成本,而敏捷开发方法通过短周期迭代以及尽可能早的交付可用的迭代来适应这些变化。

在装载机公司总装工厂信息化优化项目——生产现场执行ME项目中,使用了敏捷的开发方法[1],较好地解决了用户需求不明晰并且变化快的问题。

例如报工部分最先的设计是针对关键工序进行管理,定义的7个主要功能为:

订单派工上线报工下线报工焊接报工交接报工涂装报工整机入库。

变更1:在程序设计出来并投入生产现场使用后,业务人员发现系统功能与他们的业务还是有一定的差异,提出了进一步的功能需求,下一步的功能设计变成如下:

订单派工上线报工下线报工下线处理焊接报工交接报工涂装上线涂装下线整机入库。

增加了“下线处理”功能,与下线报工连接,并将“涂装报工”拆成“涂装上线”和“涂装下线”,项目小组根据用户需求在2周之内完成设计变更及测试,交付用户使用。

变更2:用户使用一段时间后又提出了新的需求,功能设计再次变更如下:

订单派工上线报工下线报工下线处理焊接报工交接报工调试排班调试派工调试派工及接收涂装下线涂装下线整机入库。

增加了“调试排班”,“调试派工”,“调试派工及接收”功能,即把整机调试工作的流程也融入了IT系统管理;需求确定后,设计变更及测试3周内完成,交付用户使用。

变更3:在使用了一段时间后,用户又有了新的需求,此次变化如下:

订单派工上线报工下线报工下线处理焊接报工交接报工调试排班调试派工调试派工及接收检验报工涂装下线涂装下线整机入库。

增加了“检验报工”功能,目的是把质量检验与生产流程关联受控(原先两块业务在系统中是相对独立,没有关联控制的),项目组也是在两周内完成变更交付用户使用。

可以看到这个项目中,报工部分用户的需求是在使用的过程中不断变更的,主要功能由7个变成了13个,用户在项目开始阶段提不出完整而清晰的需求,如果使用传统的瀑布法进行开发,肯定不能快速地满足用户地需求;采用了敏捷的方法,在项目中快速地进行迭代,发布产品。虽然最终的产品与最初设计时相距甚远,但是达到了用户的预期,将业务的管理固化到了IT系统之中,改善了业务管理。

1.4 敏捷开发的经验与总结

敏捷开发的方法,可以说是快速迭代+快速尝试+快速改进+充分交流+简化流程。以下是在实行敏捷开发的方法中得到的一些经验与体会:

(1)敏捷开发方法较适用于客户不知道自己要什么的情况(这样的客户占绝大多数)。因为客户不知道要什么,所以顾问及开发人员需要在项目的进程中不断帮客户弄明白他到底想要什么,通过和客户沟通,合作,倾听反馈,持续改进;敏捷的开发方法使我们从害怕用户需求的变化,转变为欢迎用户的需求变化,并采用正确的方式去响应这种变化,使项目到达最大地改善业务的目的。

(2)快速迭代及产品发布

不要求每一个阶段的任务做的都是最完美的,而是明明知道还有很多不足的地方,并不急着去完善它,而是把主要功能先搭建起来为目的,以最短的时间,将“半成品”提交给用户使用,通过用户的反馈信息,在这个“半成品”上逐步进行完善。这也是挖掘用户需求的另一种方式。

(3)简洁有效的小团队沟通方式[2]

项目组核心团队规模要小,不超过8人这宜,但人员要精干,能力要强;主要有项目经理、关键用户、内部顾问、开发人员四个角色;并且在项目期间,项目组核心团队尽可能在同一办公室内集中办公,这样才能有效地保证沟通的及时性和准确性,也是保证迭代周期短的必要条件。任何的通讯工具都比不上面对面的沟通。

(4)项目范围的控制

用户的需求确实是在不断的变化,但是不意味着无限制地去满足用户的需求;项目经理一定要把握住项目的基线、目标,不能让需求无限制的蔓延;毕竟项目是有成本和时间的要求的。关键点:不要拒绝用户的非原则性需求,这也是为了项目在受控范围内达到最好的用户满意度。

(5)敏捷不要求面面俱到的文档但离不开文档,整个项目过程中的文档控制仍然是必需要有的,不能因为说为了敏捷而省略了,对后期的维护及持续改善是不利的。

(6)敏捷并不仅是快,更是灵活;敏捷方法有时候被误认为是无计划性和纪律性的方法,实际上更确切的说法是敏捷方法强调适应性而非预见性,适应性的方法集中在快速适应现实的变化。

2 结束语

总装工厂信息化优化项目——生产现场执行ME项目的顺利完成,并得到用户认可,促进了用户的业务改善。之后许多的优化项目,也采取了敏捷开发的方法去开展,取得了良好的效果。关于敏捷开发方法的应用,还有非常多的方面可以去探讨,不同的项目,不同的团队,不同的产品,具体实践方式都有可能是不同的。有一件事情应该是相同的,就是每隔一段时间,都要进行自我总结和调整,逐步改进。

信息化是一个长期持续的过程,这个过程可以这样描述,由数据变成信息,由信息变成知识,由知识产生效益。而改进是永无止境的。

参考文献:

[1]约翰.C.古德帕斯丘(John C.Goodpasture)(美国).敏捷项目管理-企业级实践与案例[M].北京:电子工业出版社,2012.

[2]Alistair Cockburn.Crystal Clear小团队的敏捷开发方法[M].北京:清华大学出版社,2006.

猜你喜欢
调试变化用户
从9到3的变化
这五年的变化
基于航拍无人机的设计与调试
FOCAS功能在机床调试中的开发与应用
核电厂主给水系统调试
无线通信中频线路窄带临界调试法及其应用
关注用户
关注用户
关注用户
鸟的变化系列