之前发表了《RPA项目之开发规则篇》,现再次推出升级版。客户在做RPA项目之前,通常情况下都会有下列的问题:
RPA项目是否能满足业务的需求?
项目是否能够落地?
需要多长的时间?
需要投入多少钱?
能够产生多大的收益?
RPA运行中是否会出现问题?
所有的客户都希望在最短的时间内,花最少的钱,高质量地完成项目。所以客户的问题主要集中在项目成本,项目收益,项目周期和项目质量,其实就是项目的ROI和项目质量。
项目成本和项目周期是相辅相成的,周期长了成本就高,反之周期短了成本就低。所以关键性的指标就是项目成本和项目质量。
如何降低项目成本并保证项目质量,这也就直接成为RPA实施团队的两个关键性的指标。
为了达成这两个指标,RPA实施团队就需要依靠三个关键性的因素:
方法论:有一套成熟的实施方法论支持整个实施过程。
人才:各个岗位需要经验丰富的人才。
工具:有成熟的RPA框架/产品和完善的组件库。
个人总结的RPA实施过程中需要遵守的十二大准则如下:
1、完善的实施方法论
实施方法论是来自实践,指导实践的RPA实施项目经验的结晶,有了实施方法论的指引,RPA项目实施会少走弯路,提高效率。完善的实施方法论可以指导参与者依据实施流程顺利地开展实施工作。
完整的RPA实施过程包含下列几大阶段:
准备阶段:包含确定和评估项目等
设计阶段:包含建立PDD和SDD文档等
开发阶段:包含流程开发等
测试阶段:包含流程测试等
支持阶段:包含性能监控和继续支持等
2、完善的项目文档
完善的文档有利于提高软件开发的能见度,作为检查软件开发进度和开发质量的依据,便于以后的软件开发、使用和维护,文档的过程就是软件开发的过程,文档是软件开发规范和指南。
RPA实施过程中主要包含下列的几种文档:
可行性分析文档(FAD)
对涉及的业务流程会进行技术分析,通过一定的方法论或者工具对流程进行可行性分析,从而判断是否存在自动化的机会,该文档用于记录分析过程和分析结果。
流程定义文档(PDD)
流程定义文档用于记录业务流程操作详细的操作步骤和业务规则,定义整个业务的范围和功能要求,相当于软件开发中的需求文档。
方案设计文档(SDD)
基于流程定义文档,开发团队会进行相应的方案设计和具体的系统实现,并形成方案设计文档。
测试场景文档(TSD)
测试场景文档用于检查编写的代码和流程是否能满足业务需求。
3、良好的沟通能力
良好的沟通,也是一种能力的体现。
和客户之间良好的沟通,体现在可以明白客户的业务流程和业务规则,并让客户清楚地了解RPA是如何实现的,需要的前提条件和期待的实现结果。
良好的团队内部沟通包含同事之间的技术交流和学习,项目中的相互协作,问题的及时反馈。有效的沟通和表达,能促进一个团队的良性发展。
4、全面的个人能力
RPA工具一般都是基于.NET技术进行开发的,首先需要熟悉这类语言相关的语法和类库,其次要对RPA工具本身的功能做到熟练掌握,包含开发组件和管理功能,要做到既能开发又能配置和部署。
另外要多浏览官方的文档和论坛,定期学习新的功能。还有一点就是RPA项目一般对Excel操作的比较多,掌握VBA更有利于弥补不足之处。
开发者需要多学,多用,多练。增强个人的开发技能的同时增长开发经验,并需要学习业务流程,成为能独当一面的开发专家。
5、规范的编码规则
编码规范体现出一个开发者的基本素质,良好的编码规范可以提高团队编码的效率,避免很多不必要的问题。
• 命名规范
根据内部定义的规则进行命名,包含变量,参数,流程名,文件名等命名方式,可以遵循软件开发的编码规范。
• 代码注释
包含流程的注释,每个activity的注释,以及业务逻辑的注释。
• 日志记录
日志包含两种:系统日志和业务日志。完善的框架中的系统日志功能比较齐全,一般情况下不需要再次记录;对于业务日志根据项目需要记录关键性的操作。
• 配置信息
对于项目需要的配置信息,需要存储到配置文件中。不过需要分清哪些可以存储到本地文件中哪些需要存储到服务器端。例如用户账号和密码需要存储到服务器端,对于需要经常修改的信息也可以存储到服务器的端。
• 文件夹结构
清晰地定义项目文件夹的结构,一般情况下包含下列几种文件夹:
Configuration-存储配置文件
Document-存储相关文档
Framework-存储框架文件
Process-存储操作系统的文件
Tools-存储工具集
Log-存储业务日志
Exception-存储异常信息和异常截屏
• 异常捕获
需要有完善的异常捕获机制,包含系统异常和业务异常,并记录异常信息和截屏。
6、 统一代码存储
通过SVN等工具对代码进行统一管理和存储,便于版本控制和追溯。
有了版本控制系统,可以浏览所有开发的历史纪录,掌握团队的开发进度,而且作任何修改都不再害怕,可以轻易的复原回之前正常的版本。也可以透过分支和标签的功能来进行软件发行的不同版本,例如稳定版本、维护版本和开发中版本。
所有的代码需要统一存储到服务器上,特别对于框架和通用代码的管理,需要按照完整的流程进行操作。
7、 配备专用框架
稳定的框架有利于解决开发者的后顾之忧,开发者只需要关注在业务本身的开发上即可,不需要把精力投入到搭建和优化框架的事情上。
UiPath和Blue Prism官方都推出了自己的框架,但是这些框架都是围绕WorkQueue进行业务处理的,需要修改下相应的逻辑才能为其他类型业务所使用。
• UiPath官方自带的ReFramework,这个框架比较简洁,使用上也比较容易,在框架中对日志的记录和对异常的处理也很到位,默认的操作也是围绕Queue进行的,主要包含四部分:
Init:初始化参数设定和环境设定
Get Transaction Data:取得需要被处理的数据
Process Transaction:对取得的数据进行具体操作
End Process:结束流程
• Blue Prism官方提供Process Template和Process Object。
Process Template会将来自数据源的工作加载到Blue Prism 工作队列中,然后处理工作队列中的所有项目。
Process Object中提供了两个业务对象模板。第一个是基本模板,用于捕获典型目标系统的基本操作。第二个是包装器对象,它调用其中一些操作来创建一个启动和关闭对象。
8、完善的组件库
完善的组件库有利于提高开发效率,缩短开发周期。在开发过程中,即可以做到即插即用,也可以将各个单独的组件包串联成完整的业务流。
组件库分为两种:业务组件和功能组件。
业务组件顾名思义就是为某项业务打造的专门的组件包。对于通用的业务可以上升到产品级别,对于单独的业务可以形成独立的业务包。
功能组件也可以分为两种:官方组件和自定义组件。
官方组件是官方推出的正式的组件包,这种类型的组件稳定性比较高并且版本也经常升级。
Blue Prism官方内置里20多种Object,可以通过导入文件的形式导入。
UiPath官方内置里多种Activity,可以通过Manage Packages的导入,官方不定期升级这些Activity的功能。
自定义的组件是指根据自身的功能需要,提炼的通用组件。
Blue Prism可以使用Object复用对象,将相应的动作生成VBO,其他的Process可以调用。也可以将共通的的Process提炼出来,被其他的流程复用。
UiPath将通用的流程可以提炼成Workflow,供项目调用。也可以通过自定义Activity的形式,生成可复用的包。还可以将可复用的组件发布成Library。
9、保证代码质量
如何保证代码质量是重中之重的事情。
开发人员可以靠自身的编程技能和经验来提高代码质量,也需要项目组形成一定的最佳实践文档,对于遇到的各种情况提供最佳实现方式,避免在类似的问题上浪费时间或者使用低效率的方式来实现。
另外需要代码审查来辅助完成,对于经验不足的开发人员写的代码,需要进行专门代码检查的环节,并提出改善意见。
10、重视测试环节
测试是项目上线之前的最关键的一个环节,一定要重视和认真对待。
通过测试人员的反馈有助于对项目的把控,当需求不合理时及时补救,在理解偏差时及时沟通,当质量出问题时及时参与。
完整的,系统的测试有利于验证开发结果,覆盖业务场景和业务规则,规避潜在的功能性的或者业务性的风险,保障项目的正常上线。
11、形成部署规范
完善的部署规范可以避免在进行环境转换时出现低级错误。
RPA项目基本都存在三种环境:开发环境,测试环境和正式环境。各个环境中的地址,账号等配置信息可能存在不同,就需要在部署时严格按照部署手册进行相关的操作。
12、持续项目支持
RPA项目上线之后,需要持续地监控机器人的性能和利用率,根据实际情况调整机器人的使用。并需要解决上线之后遇到的各种问题,调整之前的策略,同时验证RPA项目的ROI。
总之,只有通过遵守实施准则和不断地完善这些准则,才能提高开发效率,缩短开发周期,减少出错机率,促进团队合作和降低维护成本,进而可以在最短的时间内,花最少的钱,高质量地完成RPA项目。
原文链接:https://www.51rpa.net/rpaedu/3911.html