🐋作者简介:博主是一位.Net开发者,同时也是RPA和低代码平台的践行者。
🐬个人主页:会敲键盘的肘子
🐰系列专栏:UiPath
🦀专栏简介:UiPath在传统的RPA(Robotic process automation)的基础上,增加了See(AI通过计算机视觉阅读用户的计算机屏幕)和Think(通过机器学习来发现平台能够为用户构建什么自动化流程)从而不断帮助用户自动化构建流程,而不仅仅是用户自主发现,自主构建。并且在构建的过程当中,做到了Low-code甚至是No-code的程度,让每一位员工都可以自主使用。
🐶座右铭:总有一天你所坚持的会反过来拥抱你。
🌈写在前面:
“RPA开发人员每天都做什么?”
为了更广泛地理解角色的含义,我们将从理解什么是业务流程以及如何评估流程的自动化潜力开始。讨论RPA实现,并检查每个阶段,以了解RPA开发人员的任务、所有权以及与其他角色的协作。
👉本文关键字:RPA、UiPath、Low-code、No-code、.Net
文章目录
- 1️⃣ 背景
- ♈ 什么是RPA
- ♉ 什么是UiPath
- ♊ 为什么使用UiPath
- ♌ 本文收获
- ♎ 环境
- 2️⃣ 解释什么是process,并将其与procedure区分开来
- ♉ 业务流程
- ⭐ 定义
- ⭐ 流程的组成部分
- ♈ processes与procedure之间的关系
- ⭐ 示例:订单到现金
- ⭐ “As Is”流程图
- ⭐ “To-Be”流程图
- 3️⃣ 使用设置的标准来评估流程是否适合自动化
- ♈ 流程适应性
- ⭐ 基于规则
- ⭐ 自动化和/或重复流程
- ⭐ 标准输入
- ⭐ 稳定性
- ♉ 自动化复杂性
- ⭐ 屏幕数量
- ⭐ 应用程序类型
- ⭐ 业务逻辑场景
- ⭐ 输入的类型和数量
- ♊ 评估自动化潜力
- ⭐ No RPA
- ⭐ SEMI-AUTOMATION
- ⭐ HIGH-COST RPA
- ⭐ ZERO-TOUCH AUTOMATION
- 4️⃣ 自动化项目生命周期
- ♈ RPA项目实施如何工作?
- ⭐ 发现和启动
- ⭐ 过程分析
- ⭐ 解决方案设计
- ⭐ 开发和单元测试
- ⭐ 集成和用户验收测试(UAT)
- ⭐ 部署
- ♉ RPA开发人员在整个实施过程中的责任是什么?
- ⭐ 发现和启动
- Solution Architect
- Project Manager
- ⭐ 过程分析
- Business Analyst
- Solution Architect
- Project Manager
- ⭐ 解决方案设计
- Business Analyst
- Solution Architect
- Project Manager
- ⭐ 开发和单元测试
- RPA Developer
- Solution Architect
- Project Manager
- ⭐ 集成和用户验收测试(UAT)
- RPA Developer
- Solution Architect
- Project Manager
- ⭐ 部署
- RPA Developer
- Solution Architect
- Project Manager
- 5️⃣ 参考资料
1️⃣ 背景
♈ 什么是RPA
RPA(Robotic process automation) 代表机器人过程自动化。
它是一种软件程序,可在与计算机应用程序交互时模仿人类行为并实现重复的、基于规则的流程的自动化。
♉ 什么是UiPath
UiPath 是一种机器人流程自动化工具,用于自动化枯燥和重复的任务。它由罗马尼亚企业家 Daniel Dines 和 Marius Trica 于 2005 年创立。它还消除了自动化无聊任务的人工干预,并为所有活动提供了拖放功能,它是最简单的 RPA 工具。
♊ 为什么使用UiPath
UiPath在传统的RPA的基础上,增加了See(AI通过计算机视觉阅读用户的计算机屏幕)和Think(通过机器学习来发现平台能够为用户构建什么自动化流程)从而不断帮助用户自动化构建流程,而不仅仅是用户自主发现,自主构建。并且在构建的过程当中,做到了Low-code甚至是No-code的程度,让每一位员工都可以自主使用。
♌ 本文收获
-
解释什么是
process
,并将其与procedure
区分开来。 -
使用设置的标准来评估流程是否适合自动化。
-
描述RPA项目实施的各个阶段。
-
讨论RPA开发人员在实施的每个阶段的任务。
-
描述在RPA项目实施的各个阶段与其他角色的协作。
♎ 环境
-
UiPath Studio Community 2022.4.3
-
Windows 10
-
.Net
2️⃣ 解释什么是process,并将其与procedure区分开来
作为RPA开发人员,您的主要关注点是流程的自动化。具体而言,业务流程的自动化。为此,您必须评估并确保流程适合自动化。
在讨论流程的自动化潜力之前,让我们首先确保我们知道什么是业务流程。那么,什么时业务流程。
♉ 业务流程
RPA开发人员将对技术技能的良好掌握与快速理解有关输入、输出和决策点的业务流程的能力相结合。后者将在与RPA业务分析师合作大型实施项目或独自承担小型项目时发挥作用。
⭐ 定义
流程是一组相互关联或相互作用的活动,将输入转化为输出。
⭐ 流程的组成部分
-
Inputs-流程中的数据。
-
Process Flows-流程中进行的子流程或活动的序列。
-
Source Applications-用于执行流程的子流程或活动的应用程序或系统。
-
Outputs-流程生成的结果。
流程的输出可以作为其他流程的输入。
组织使用流程是因为在受控条件下规划和执行流程可以提高合规性,确保满足运营需求,帮助管理风险,并推动改进。
♈ processes与procedure之间的关系
标准流程的定义缺少很多东西,例如时间限制、对其他流程的依赖性、变化以及资源的分配方式。这就是程序发挥作用的地方。本质上,procedure是对processes的补充,并描述了它的执行方式;它解释了谁负责processes的每一部分,processes的每部分何时需要发生,如何处理异常,以及适用于processes每一部分的规范。
对于procedure说明:
-
负责processes的每一部分。
-
当processes的每个部分都需要发生时。
-
如何处理异常。
-
适用于工艺各部分的规范。
就记录方式而言,processes和procedure是不同的。process通常通过图表记录,无论是流程图还是工作流,旨在突出流程步骤的逻辑顺序。另一方面,procedure通常是一个复杂的书面文件,侧重于提供指导。
⭐ 示例:订单到现金
为了更好地理解这一点,让我们以一个常用的自动化业务流程为例,将手动(“As Is”)流程图与自动(“To Be”)流程进行比较。
-
通过电子邮件收到采购订单(PO)。
-
代理打开电子邮件附件并检查PO中是否存在产品代码。
-
如果PO中存在产品代码,则代理将打开SAP并运行特定的SAP事务。
-
如果采购订单中不存在产品代码,代理商将在主数据文件中查找该代码。
-
如果主数据文件中存在产品代码,代理将打开SAP并运行特定的SAP事务。
-
如果主数据文件中不存在产品代码,代理将向主数据分析师发送电子邮件以更新该文件。
-
-
一旦提供了产品代码,代理将根据组织要求和PO填写SAP屏幕中的必填字段。
-
接下来,代理生成销售订单。
-
最后,代理回复初始电子邮件,将销售订单添加到附件中,并将电子邮件移动到已处理的文件夹中。
⭐ “As Is”流程图
-
Inputs-收到的电子邮件。
-
Process Flows-验证产品代码存在、SAP事务执行和SAP字段填充。
-
Source Applications-Outlook、桌面和SAP。
-
Outputs-流程生成的结果。
此外,还有几个子流程输出用作其他子流程的输入。例如,主数据文件检查中缺少产品代码的结果代表主数据分析员更新文件的输入。
⭐ “To-Be”流程图
我们示例中的“To-Be”过程是RPA潜力的因素。正如我们所看到的,该过程的大多数手动步骤(以前用蓝色表示)都可以通过RPA实现自动化。
3️⃣ 使用设置的标准来评估流程是否适合自动化
是什么使流程成为自动化的好候选人?
在评估流程是否适合自动化时,需要考虑几个因素。通常,分析和优先级排序由RPA业务分析师执行。然而,对于开发人员来说,能够分析业务分析师不可用的情况并确定其优先级也是很有用的。
我们使用两组标准来确定自动化潜力:流程适应性和自动化复杂性。
♈ 流程适应性
以下是您可以用来评估流程是否适合自动化的标准:
⭐ 基于规则
过程中做出的决策(包括数据解释)可以用预定义的逻辑来捕捉。异常率很低,也可以包含在业务逻辑中。
⭐ 自动化和/或重复流程
我们可以区分四种类型的流程:
- 手动和非重复性:过程步骤由人执行,每次执行过程都可能不同。
- 手动和重复:过程中的步骤由用户执行,每次至少有些步骤是相同的。
- 半自动化和重复性:一些重复步骤已经自动化(使用宏、Outlook规则等)。
- 自动化:有些流程已经使用RPA以外的其他技术实现了自动化。
由于高异常率或无法集成到业务逻辑中的因素,需要保持手动或非重复的流程不是自动化的好选择。
⭐ 标准输入
过程中的输入应该是电子的、易于阅读的,或者可以使用与RPA相关的技术(如OCR)进行读取。
一个很好的例子是具有预定义字段的发票。
⭐ 稳定性
在一段时间内保持不变且预计在未来几个月内不会发生变化的流程是自动化的理想选择,前提是它们也符合其他标准。
♉ 自动化复杂性
这组标准决定了流程自动化的难度。
⭐ 屏幕数量
RPA通过编程机器人在屏幕级别执行任务来工作(当屏幕改变时,必须教授逻辑)。屏幕的数量越高,在流程自动化之前必须捕获和配置的元素越多。
⭐ 应用程序类型
一些应用程序更容易实现自动化(如Office套件或浏览器),其他应用程序则大大增加了自动化工作量(例如大型机)。不同的应用程序越多,屏幕的数量也会增加(见上一点)。
⭐ 业务逻辑场景
自动化的复杂性随着业务逻辑中决策点的数量而增加。基本上,每个场景可以乘以场景数量的两倍。
⭐ 输入的类型和数量
如前所述,标准输入是可取的。然而,在某些情况下,必须为每个受自动化影响的供应商配置一个标准输入(如发票)。此外,非标准输入可以有不同的复杂度等级,自由文本是最复杂的。
♊ 评估自动化潜力
通过在自动化潜力评估中使用这些因素,我们可以将流程分为四类:
⭐ No RPA
变化频繁、系统环境不稳定、需要多次手动(甚至非数字)操作的流程。
⭐ SEMI-AUTOMATION
可以分解为可以明显自动化的步骤和需要手动操作的步骤(如物理安全令牌的验证或使用)的流程。
⭐ HIGH-COST RPA
相当数字化且可以自动化的流程,但使用一些复杂的技术(如OCR)或需要高级编程技能。
⭐ ZERO-TOUCH AUTOMATION
数字化流程,涉及高度静态的系统和流程环境,因此可以轻松地将其分解为指令,并定义简单的触发器。
4️⃣ 自动化项目生命周期
-
描述RPA项目实施的各个阶段。
-
讨论RPA开发人员在实施的每个阶段的任务。
-
描述在RPA项目实施的各个阶段与其他角色的协作。
作为RPA开发人员,您工作的每一段代码/工作流都是特定项目的一部分。这可能是一个大型或相当小的自动化项目。
但您的实际工作是构建或改进更大的自动化解决方案。
为了更好地理解什么是重要的,让我们学习RPA项目实现是如何工作的。
♈ RPA项目实施如何工作?
我们经常发现实施过程分为六个阶段。
让我们花点时间探索每个阶段!
⭐ 发现和启动
在Discovery and kickoff中,初始实施团队评估潜在自动化的复杂性和可行性,以确定成功交付所需的估计时间线和努力,并与客户建立项目的总体预期。
⭐ 过程分析
在流程分析中,实施团队分析并确定客户流程的要求。
自动化程度取决于此分析(以及流程的复杂性),并记录现有流程和未来流程,以告知未来状态解决方案的创建。
⭐ 解决方案设计
在解决方案设计中,一旦流程的业务需求最终确定,技术团队将设计一个未来的状态流,并绘制出完成自动化所需开发的各种模块。
⭐ 开发和单元测试
在开发和单元测试中,设计白板中概述的模块由开发团队创建,使用过程定义文档(PDD)和解决方案设计文档(SDD)作为参考。
在大规模集成测试(下一阶段)之前,对创建的模块进行单独测试,以确保它们在受控测试设置下成功运行。
⭐ 集成和用户验收测试(UAT)
用户主要完成用户验收测试(UAT)。实施团队与业务部门协调监督流程本身。
根据团队创建的测试计划,机器人在预生产环境中处理所有潜在的“快乐路径”和业务异常场景,以确保其按照所有商定的要求执行。
⭐ 部署
在部署阶段,一旦UAT完成(有业务签核),最终流程包、库和资产将迁移到生产Orchestrator,并设置为与生产机器人一起运行,生产机器人必须能够访问范围内所有应用程序的生产实例。
超级护理是一个有限的时期,在部署后立即开始。在此阶段,实施团队密切关注生产中运行的每个流程。
通常,hypercare需要每天的会话,在这些会话中,由生产自动化运行的案例由CoE和流程SME进行审查,任何错误或问题都会被快速修补并重新推送到生产中。
♉ RPA开发人员在整个实施过程中的责任是什么?
为了更好地理解RPA开发人员在实施的六个阶段中的职责以及与其他角色的协作,让我们来研究这个图。
⭐ 发现和启动
Solution Architect
- 在发现研讨会中进行高级别的流程演练,如果需要,在复杂性计算器中捕获详细信息。
- 提供对流程复杂性的最终判断,并估计所需的工作量。
Project Manager
- 安排并引导启动电话(通常与初始发现同时发生)。
- 使用项目管理模板管理整体参与。
- 与客户业务和卓越中心就项目计划时间表和要求设定期望。
- 与所有业务利益相关者建立定期更新节奏(即每周更新电话)。
- 每周对团队工时进行监控,并上报任何延误/超期问题。
- 确保项目里程碑/可交付成果和任务与项目工作说明书(SOW)一致。
⭐ 过程分析
Business Analyst
- 与主题专家一起浏览流程,捕获所有现有步骤,并映射未来步骤。UiPath任务捕获是一个可以简化这部分流程的工具。
- 从SME收集任何现有的业务需求文档或其他流程文档。
- 完成流程的流程定义文件(PDD)。
Solution Architect
- 验证记录的步骤是否适用于自动化。
- 与业务应用程序团队合作,确保将足够的测试数据加载到相关系统中进行开发和单元测试(可以与项目经理合作)。
- 与业务分析师合作,最终确定流程范围。
Project Manager
- 支持业务分析师设置主题专家演练会议。
- 如果需要更改最初商定的工作范围,请根据需要填写更改请求。
- 请求并跟踪开发/测试所需的所有系统访问请求。
- 从业务部门获得有文档记录的流程定义文档(PDD)签核。
⭐ 解决方案设计
Business Analyst
- 验证解决方案设计文档(SDD)中的待定流程是否与流程分析阶段捕获的业务需求相匹配。
Solution Architect
- 领导开发团队白板所有模块和组件。
- 创建待处理流程和解决方案设计文件(SDD)。
Project Manager
- 与业务部门共享解决方案设计文件(SDD)草案,以达成初步协议,并就开发过程中可能进行的更改签订合同。
⭐ 开发和单元测试
RPA Developer
- 根据概述和分配构建代码模块(根据需要作为工作流文件或库)。
- 在开发过程中对创建的模块进行单元测试,以捕获并修复可能出现的任何错误。
- 确保代码符合开发最佳实践。
- 解决方案架构师通过不断的指导和参与学习过程来支持RPA开发人员。因此,RPA开发人员应联系SA寻求指导。
Solution Architect
- 根据白板计划跟踪模块的完成情况,根据开发人员的反馈根据需要编辑/添加新模块。
- 进行特别代码审查,以确保开发人员代码质量符合代码审查准则中规定的最佳实践。
- 为用户验收测试(UAT)创建一个测试计划,包含所有“幸福路径”的详细描述以及部署前必须测试的业务异常情况。
Project Manager
- 确保与中小企业进行UAT的时间。
- 与业务(和技术负责人)合作,确保将足够的测试数据加载到相关系统中,以执行UAT(与测试计划中列出的所有测试用例一致)。
⭐ 集成和用户验收测试(UAT)
RPA Developer
- 根据测试结果,根据需要中断修复。
- 最终确定流程日志记录(符合日志记录指南),并与客户同步标准,以便进行部署后维护。
Solution Architect
- 根据所有测试用例和完整的测试计划与业务部门进行UAT。
- 根据UAT期间所需的任何更改,进行最终代码审查。
Project Manager
- 用户验收测试完成后,获得业务部门的签准。
⭐ 部署
RPA Developer
- 在商定的超级托管期内根据需要中断修复。
- 监视日志并查看发生的任何异常情况。
Solution Architect
- 最终确定操作手册开发规范文件(DSD)。
- 建立持续改进/持续发展模型(如果客户需要)。
Project Manager
- 根据部署检查表模板,确保完成所有必要的部署前任务,并跟进部署后任务,确保按时完成。
- 根据需要,与CoE/Business建立超级护理审查会议,以涵盖结果。
- 设置最后的知识转移会话和移交。
- 确保按照工作说明书(SOW)完成、签署并交付给客户所有可交付成果。
5️⃣ 参考资料
About the Automation Lifecycle
About Automation Projects
⭐写在结尾:
文章中出现的任何错误请大家批评指出,一定及时修改。
希望写在这里的小伙伴能给个三连支持!