为项目自动化任务时的注意事项

自动化任务可以提高质量并减少完成项目所需的时间,但需要考虑某些因素,以确保不浪费时间创建工具。

通过约翰·吉斯特,Maverick科技公司 2016年11月23日

在项目的过程中,有时资源可能会陷入执行乏味和重复任务的困境。从文档和管理到开发和测试,项目的所有方面都可能存在必须多次执行相同或类似任务的区域。

分配人力来完成项目的这些方面可能会浪费时间,并导致错误,因为工人变得疲劳和效率低下。开发自定义工具来自动化任务可以减少错误并节省时间。在考虑自动化任务时,请考虑这些方面。

你在做什么,有什么可用的工具?

也许在设计自动化工具时,最大的考虑因素是它需要能够与哪些应用程序和文件进行交互。对于简单的文本或数据操作,许多编程语言的内置库可能能够完成这一任务。

当使用特殊软件或文件类型时,开发人员必须确定可用的应用程序接口(api)。某些软件包可能内置了工具或脚本语言,如VBA,可能有助于自动化任务。对于某些程序,可以单独使用软件的内置功能来开发自动化流程。

谁将使用完成的工具?

项目团队由具有不同背景和不同技术经验水平的人员组成。如果一个工具是为个人使用或一小群工程师而构建的,那么验证输入和处理错误的代码可能是不必要的;如果团队可以访问源代码,某些值甚至可能是硬编码的。

为庞大的用户群或技术不熟练的团队构建工具将需要额外的工作以使用户友好。许多用户可能不习惯使用命令行或shell,因此需要开发自定义接口;在某些情况下,这可能需要比编写代码更长的时间。可能还需要提供文档,以确保团队成员正确使用软件。

使用什么语言

一旦确定了程序需要执行的任务,就可以选择编程语言了。像python这样的脚本语言可以很容易地快速编写代码,具有大型库,并且可以在多个操作系统上运行,但通常运行速度较慢,并且可能不容易构建用户界面。

c#或VB可以让程序员制作更复杂的接口,并为某些程序(如Microsoft Office)提供更好的api,但它们通常需要更多的时间来编写代码,并且可能需要特殊的开发环境。用户机器也需要考虑在内,因为某些语言需要安装一个运行时环境,而这不是操作系统的标准。

它是否值得花费开发时间?

在考虑了所有的设计考虑因素之后,开发人员或工程师需要确定自动化任务是否真的可以节省时间。如果一个项目任务很少被完成,那么自动化它可能没有任何好处。

计算节省的时间和开发时间是有用的,因为人们在一个任务上真正花费了多少时间并不总是显而易见的。代码的可重用性也需要考虑在内。对代码的轻微修改或对程序主要组件的重新使用可能会使它对当前自动化之外的任务有用。应该考虑使用相同代码创建其他工具所节省的时间。

本文由John Gist撰写。约翰是一名工程师特立独行的技术是一家领先的自动化解决方案提供商,为流程工业提供工业自动化、战略制造和企业集成服务。Maverick提供广泛领域的专业知识和咨询,包括工业自动化控制、分布式控制系统、制造执行系统、运营战略、业务流程优化等。

Maverick科技是一家2016年11月23日会员。