5.3.1 RPA项目框架设计
整体RPA项目的框架设计是至关重要的,这将影响后续的实施、上线、投产等诸多细节内容。对RPA融入工作的流程设计如果缺乏科学、合理的规划和思考,则会导致流程复杂化、RPA技术资源浪费等诸多弊端,从而出现部署困难、难以落地等问题。同时,企业在实施RPA项目的过程中,难免需要在一定程度上对原有的流程进行重塑和改造,进而对业务本身及与其关联的上下游业务流程都带来变革,因此需要妥善考虑角色分工和流程控制的重新设计。
在进行流程自动化的框架设计与开发的过程中,不仅要考虑整个系统的安全性、灵活性、稳定性和高效性,同时还要考虑后续的可延展性需求,可以结合以下几个方面来进行设计。
·业务流程的长度、复杂度、关键流转节点、检核点、校验逻辑等内部影响因素。
·机器人运行时间、运行时长、运行环境等外部影响因素。
·需求衔接、本地化参数与配置、风控与恢复机制、结构化开发、快速拓展需求、全局性维护。
·参数配置安全、信息存储安全、信息传输安全、网络端口与访问安全、物理环境安全、日志安全、代码安全、账号密码安全等。
在流程执行的前、中、后三个阶段将设计思想贯穿整个流程,具体说明如下[1]。
(1)流程执行前
进行大量的环境检查和分析,包括输入文档、配置文件、初始运行环境状态等。
(2)流程执行中
1)根据流程运行涉及的系统、流程执行节点、流程长度等因素对整个流程进行切分,以确保不同功能模块的低耦合性。
2)充分考虑未来业务的增长或拓展,预留衔接位置。
3)梳理常见业务的异常状态和可预见的系统异常状态,将其按照异常类型、后续影响、特殊性等维度进行分类,在关键节点进行异常捕获,根据异常的不同类型进行不同的自动化流程指向,以确保异常发生时能够及时停止、及时跳过当前子流程并继续运行,或者尝试重新执行。
4)对贯穿整个流程的关键数据节点进行质量检查及信息反馈,以提高整个自动化流程的质量。
(3)流程执行后
按需进行执行结果的反馈、运行环境的恢复,以及所有与运行相关数据的备份和归档等,以保证后续流程的正常运行,以及可对历史记录进行追溯。
[1] https://www.sohu.com/a/335667910_676545
5.3.2 RPA项目开发规范
当RPA项目进入开发阶段时,就需要遵守一套开发规范和标准,从命名、注释、日志、配置、目录、异常等多个维度出发,应用在整个项目开发中,从而提高项目的效率和质量。
遵守开发规范不仅可以避免很多不必要的问题,而且可以减少bug的数量。当整个项目都按统一规范往前推进时,整个项目实施周期的各个阶段都可以从中受益。例如,从开发阶段的效率提升,到测试阶段异常情况的迅速解决,再到运维阶段的代码易读性等。此外,遵循开发规范也会提升相关代码的质量及友好性,以便于交付后进行代码管理。
RPA开发规范的主要内容具体如下。
1.命名规范
根据内部定义的规则进行命名,包含变量、参数、流程名、文件名等命名方式,可以遵循软件开发的编码规范。
2.代码注释
包含流程的注释,每个活动的注释,以及业务逻辑的注释。
3.日志记录
日志主要包含两种,即系统日志和业务日志。完善的框架中,系统日志的功能比较齐全,一般情况下不需要再次记录;业务日志则需要根据项目情况记录关键的操作。
4.配置信息
项目所需要的配置信息应存储到配置文件中。用户账号和密码需要存储到服务器端,需要经常修改的信息也可以存储到服务器端。
5.目录结构
需要清晰地定义项目文件夹的结构。
6.异常捕获
需要拥有完善的异常捕获机制,包含系统异常和业务异常,并记录异常信息和截屏。
开发人员可以依靠自身的编程技能和经验来提高代码的质量,可以通过代码审查来辅助完成,对于经验不足的开发人员所编写的代码,需要通过专门的代码检查环节进行审核,并提出改善意见。
总之,遵守开发规范,并不断地完善这些规范,有助于提高RPA的开发效率、缩短开发周期、降低出错率、促进团队合作,以及降低维护成本,进而在最短的时间内,花最少的钱,高质量地完成RPA项目。
5.3.3 流程版本控制
版本控制是对软件开发过程中的各种程序代码、配置文件、说明文档等文件变更的管理,是软件配置管理的核心思想之一。有了版本控制系统,我们可以浏览所有开发的历史记录,掌握团队的开发进度,而且可以轻易地回滚到之前的版本。除此之外,还可以通过分支和标签的功能来发布不同版本的软件,例如稳定版本、维护版本和开发中的版本。
RPA项目可以通过SVN/GIT等工具对代码进行统一的管理和存储,以便于进行版本控制和追溯。所有的代码都需要统一提交到SVN/GIT服务器上进行管理,并按照完整的流程进行操作。多人协作开发时,尽量进行模块化开发,为不同的模块开发分配不同的开发节点,尽量不要修改同一个文件。由于RPA流程代码的特殊性,RPA流程代码可分为两个版本,测试环境版本和生产环境版本,代码在发布和上传SVN/GIT时,需要加上TEST版本和PRD版本。
5.3.4 需求变更控制
需求变更控制的目的是保证需求变更能够按照约定的流程执行,以便建立需求追踪矩阵,追踪重要的依赖关系、建立相关项之间的可追踪性,保证项目按流程变更后依然能够高效、按期完成。
无论什么项目,在实施阶段都无法保证其与初始计划完全一致,可能会遇到人员的变更、部门的变更、测试业务流程的变更等诸多无法预测的问题。由于需求的变更,项目可能会面临稳定性降低、时间延长和成本增加的风险,所以需要按照一定的流程来控制项目。当业务人员由于各种原因必须变更需求时,项目需要按照需求变更管理流程执行需求变更,梳理和确定新的需求。项目组能够根据已知的需求基线来区分已知需求、旧需求、新需求以及增加、删除或修改需求。
在RPA项目的实施过程中,开发人员通常会直接对接业务人员,他们经常会遇到业务人员变更需求、增加需求等突发情况。这些突发情况往往要花费不少的工作量,而且还会影响项目进度。为了避免可能造成的项目延期和投入过量的资源,可以通过需求变更控制流程,通过规范化的方式控制业务需求和项目进度。
5.3.5 文档说明
本阶段涉及的文档及说明主要如表5-6所示。
表5-6 流程开发测试文档