65.9K
CodeProject 正在变化。 阅读更多。
Home

"自动化"-一场旧而新生颠覆

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.88/5 (6投票s)

2016年2月14日

CPOL

8分钟阅读

viewsIcon

16783

专注于自动化,这是一项新生颠覆,也是自动化候选资格的基本决策方法。

该死的,这是一个非常古老的词,但它又复活了。最近,自动化恰好成为许多大型软件公司首席信息官战略的核心部分。关于它已经有很多说法了。在听了如此多的说法,并且看到技术世界对自动化的显著倾向之后,我决定自我提升,并为我那个小脑袋里的基本天真问题找到答案,也就是简单的三个著名的“W”:

What is it? (它是什么?)

Why do we need it? (我们为什么需要它?)

Where do we need it? (我们需要它在哪里?)

请耐心听我几分钟,我敢肯定,您会欣赏这个新手在这次基础自动化探索中付出的诚实努力。

这是什么?

任何手动且重复执行的操作(手动指的是由人类执行的操作),将其转化为由机器执行、无需人工干预的操作的过程,就是自动化

仍然模糊?让我们来阐明一下。以一个普通的花园为例:您很富有(不像我),拥有一个拥有大约 300 棵植物的大花园。您有 1 名园丁,负责浇水、施肥、喷洒农药和打扫花园。这样做,这位勤劳的伙计每天大约需要 4 个小时才能完成浇水任务。由于浇水工作,园丁无法抽出足够的时间来处理其他必须的活动,如施肥、打扫、喷洒农药、种植新植物等。为了克服这个问题,您脑子里冒出了一个想法。您在花园里安装了一个滴灌系统,它每天都能为植物浇水,而且不浪费。在这里,安装滴灌系统就是为了消除园丁手动工作而引入的自动化。这是自动化的一个最简单的例子。

如今,自动化无处不在。汽车、交通信号灯、铁路、制造厂,等等等等。您说出一个领域,稍微考察一下,就会发现自动化存在于其中。这些自动化是这些特定领域几十年研究的成果。我赖以生存的机器,即计算机,也是自动化的一个例子,它被发明出来是为了自动化计算,而如今它又在做许多其他事情。

我们为什么需要它?

一个价值百万英镑(比美元重)的问题——我们到底为什么需要它?答案是为了加快整体执行速度,减少浪费(成本),并提高效率。遵循现有的流程,我们肯定能完成工作并获得可接受的产出,但使用自动化,同一项工作可以在极短的时间内完成,并且还能腾出空闲资源来处理下一个排队的任务。

软件领域相对年轻,直到现在它还处于发展阶段。我不会说它已经成熟。为了达到下一个成熟度级别,软件行业的科学家们(像我们这样的开发者)正在寻找引入自动化的方法。制造工厂有不同的装配线,同样,软件开发(工厂)也有收集需求、设计、开发、测试和部署等阶段。软件领域拥有相当大的人力资源基础,但行业却面临着预算紧张和市场波动等挑战。相信我,软件行业非常需要优化资源利用和削减成本。为了实现这一点,自动化是必由之路。

我们需要它在哪里?

一个从一开始就一定在您脑海中盘旋的问题。

为了缓解这个问题,一个可怜的像我一样的科学家试图发明一些简单的方法。我设计了一个基本的方法论,遵循它可以找到整体执行过程中可以成为自动化候选任务的潜在任务。任务可以完全自动化或部分自动化,这取决于任务。要自动化任务,我们需要仔细地进行详细评估。一个好方法是与相关人员进行一次头脑风暴会议进行评估。我的这个小小的基本方法论不限于任何特定领域,尽管如此,我必须提到,我设计它时考虑了软件开发生命周期。所以请注意……开个玩笑。

该方法论将有助于您进行基本决策,可能需要进行进一步的深入分析。我称之为“自动化候选资格评估方法论 (ACAM)”。天哪……名字真大。

让我们开始理解它。

ACAM 方法论包含 2 个阶段。每个阶段首先进行解释,然后附带图示。

第一阶段:任务收集与排序

在第一阶段,重点将放在现有流程分析、任务识别和一些结果上。结果将在后续阶段中使用。第一阶段要遵循以下步骤。

步骤 1:计算完成整个作业所需的总工作量

步骤 2:将整体作业分解为明确的、可量化的自主任务。

步骤 3:列出完成一次作业所需的任务和工作量。

步骤 4:使用以下公式计算每个任务的权重:

权重 = (每人小时工作量 * 每月频率) / 任务总数

步骤 5:按权重降序排列任务,权重最高的任务排在最前面。

第一阶段图示:让我们以一个花园的例子来说明,有 1 个人每天工作 8 小时。

每天所需的花园维护总工作量 = 工作人数 * 每天工作小时数 = 1 * 8 = 8 人时。所以总作业工作量 = 8 人时

我为我们的花园例子确定了四个自主任务:浇水、施肥和喷洒农药、新种植和修剪造型。

将工作分解为自主任务后 – 这是我们得到的结果

任务 一个人完成作业所需的工作量
浇水 4
施肥与喷洒农药 2
修剪造型 1.5
新种植 0.5
总工作量 8

现在,让我们计算“浇水”任务的权重。

公式是“权重 = (每人小时工作量 * 每月频率) / 任务总数”

每人小时工作量 = 4 小时

每月频率 = 30,因为这是每日任务

浇水任务的权重 = (4*30)/4 = 30

类似地,在对其他任务进行**权重计算**并按降序排列后 – 这是我们得到的结果
 

任务 权重
浇水 30
喷洒农药 15
修剪造型 11.25
新种植 3.75

第二阶段:自动化候选资格决策制定

让我们进入方法论的下一阶段,我们将决定任务是否值得自动化。以下是需要遵循的步骤。

步骤 1:只考虑权重大于 5 的任务。此决策的原因是,工作量少且频率低的任务不适合自动化。

步骤 2:分析任务,查看是否有任何人工操作。列出人工操作,将在后续步骤中使用。

步骤 3:如果有人工操作,则考虑任务进行后续步骤,否则将其丢弃。

步骤 4:检查在先前步骤中发现的人工操作自动化的可行性。这可以是简单的直觉,如果需要,也可以通过小型概念验证 (POC) 来验证。

步骤 5:如果自动化可行,则考虑它,否则将其丢弃。

步骤 6:计算自动化后可以实现的估计节省。这可能存在 10% 的偏差,因为我们还没有准备好自动化。为了获得接近实际的数字,建议进行 POC。这个数字将成为说服领导层进行进一步批准的有力武器(我知道这是个烦人的工作)。通过完全自动化,您可以将所需工作量降至零,或者通过部分自动化将一部分工作量降至零。这取决于正在考虑的任务。要小心您的陈述,并为所有陈述提供充分的理由。计算节省的公式很简单。

步骤 7:如果节省超过 30%,则考虑自动化,否则将其丢弃。

以下流程图描绘了自动化候选资格决策制定流程。

第二阶段图示

继续以花园为例,让我们考虑“浇水”任务。

步骤 1:浇水任务的权重为 30(在第一阶段计算),使其有资格进行后续步骤。

步骤 2:分析浇水任务。分析后,我们发现它涉及到人工操作。符合下一步条件。

步骤 3:它有人工操作,所以符合下一步条件。

步骤 4:自动化的可行性。是的,可以使用“滴灌系统”来完成。符合下一步条件。

步骤 5:实施“滴灌系统”自动化是可行的,符合下一步条件。

步骤 6:在这种情况下可以实现完全自动化。安装滴灌系统后,除了维护外,不再需要人工操作,每月仅需 1 小时。之前每月浇水 30 次,所以每天的浇水工作将完成(1 小时/30)= 0.033 小时。

节省 = ((4-0.033)/4)*100 = 99.17

步骤 7:如果节省超过 30%,那么我们必须继续进行自动化。

在执行上述步骤后,所有任务的计算结果如下:

任务 weight 保存 自动化合格 备注
浇水 30 99.17  是 完全自动化
喷洒农药 15 不适用 无法自动化
修剪造型 11.25 不适用 无法自动化
新种植 3.75 不适用 已拒绝 – 权重 < 5

因此,只有浇水任务符合自动化条件。这样,我们可以映射在软件开发生命周期中的任何正常开发项目中执行的任何工作。仅仅是为了给你们一个启发,使用持续集成流程实现构建-部署自动化,使用ACAM映射构建-部署流程,遵循上述步骤,说服领导层或客户提供清晰的数字,我相信他们会惊叹不已。

结语

就这些了,各位。希望我可怜的ACAM 方法论提供了一个简单但现实的基础方法,用于缩小自动化候选任务的范围。

最后,我必须提到,所解释的方法论是基于我的经验创建的,并且我使用这种方法创建了许多自动化加速器。它可能与每种情况完全相同,也可能不同,但可以创建修改版本。我强烈建议大家更加重视自动化,因为在不久的将来,这正是行业将主要倾向的方向。

欢迎评论。

© . All rights reserved.