企业、政府、非营利组织或小型团队,无论其规模或类型如何,都会开展组织活动。
组织活动由多个业务流程组成。
业务流程可以分解为任务。当组织内部的部门和个人执行其各自角色中分配的任务时,业务流程便能正常运行。
通过这种方式,随着各个业务流程的运行,整个组织活动也随之运行。
面向对象软件
在软件开发领域,面向对象软件的概念以及基于此概念的设计方法和编程语言得到了发展。
在此之前,软件设计中数据和处理是分离的,程序中数据和处理的定义是独立的。
因此,密切相关的数据和处理的定义可以在程序中紧密放置,也可以放在完全不同的位置。
无论它们放在何处,计算机处理程序的方式都没有区别。
另一方面,在修改或添加已开发程序的特性时,工作效率和出现bug的可能性会因放置质量的不同而显著不同。
如果密切相关的数据和处理的定义分散在数万或数十万行的程序中,那么进行更改将变得异常困难。
面向对象软件是解决此类问题的基本概念。
换句话说,它的思想是,密切相关的数据和处理应该在程序中被清晰地划分并放置在同一个“隔间”内,以便在以后修改程序时更容易理解。
这个用于存放数据和处理的“隔间”就是被称为“对象”的概念。
从设计阶段开始,围绕“对象”这个单元来设计软件也十分重要。
另一方面,我们通常习惯于将各种事物视为对象。
例如,当我们设置闹钟的唤醒时间时,闹钟会在那个时间响起。我们认识到,闹钟作为一个对象,拥有数据(唤醒时间)和处理(闹钟响起)。
以符合人类这种普遍认知的方式来设计和实现软件是合理的。这就是面向对象软件得以普及的原因。
业务流程导向软件
我已经概述了组织活动和面向对象软件。
在此,我想提出一种新的软件开发方法:业务流程导向软件。
正如在讨论面向对象软件时所解释的,以符合人类认知的方式设计软件,在修改或添加软件功能时具有显著优势。
在组织活动中利用软件时,将相关信息和功能置于业务流程(组织活动的基本单位)的概念性“隔间”内,应该有助于更轻松地进行修改和功能添加。
这就是业务流程导向软件的基本概念。
手册与输入信息
在规模较大的公司中,典型的业务流程通常会被手册化。清晰定义到足以手册化的业务流程也称为工作流。
由通用软件实现的业务系统,就是这些工作流的具象化系统。当每个负责人或部门按照工作流将信息输入到业务系统中时,一个业务流程就得以实现。
在这里,业务手册、业务系统和输入信息之间有着非常密切的关系。
然而,在上述机制中,这三个密切相关的元素却是分散的。
业务流程导向软件的理念认为,这些元素应该是一个统一的整体。
想象一份文档,其中业务手册写在一个文件中,并且还有供每个负责人或部门输入信息的字段。
此外,假设每个任务的下一位负责人的联系信息也具体列出。
那么,您会发现业务流程的所有元素都包含在这个带有业务手册的输入信息表单文件中。
如果创建此文件并将其交给第一个任务的负责人,业务流程将按照所描述的手册进行。最终,当所有需要输入的信息都填写完毕时,一个业务流程就完成了。
这个文件本身就是应用了业务流程导向软件概念的业务流程导向软件。
随着各种类型的业务流程导向软件的运行,整个组织活动也将随之运行。
软件本身
前面,我将带有业务手册的输入信息表单文件描述为业务流程导向软件本身。
有些人可能曾以为这将引出关于开发程序或系统的讨论。
然而,情况并非如此。
无论是否涉及程序或系统,这个文件本身就作为业务流程导向软件运行。
正如之前所解释的,如果创建此文件并将其发送给第一个负责人,它随后将被传递给每个任务的负责人,其中所描述的业务流程将被执行。
当然,基于此文件,可以开发程序或系统来实现其中描述的工作流。
然而,使用这样的系统与仅仅在责任方之间传递这个文件本身之间,有多大的区别呢?
这里需要注意的是,开发程序或系统会将手册与处理分离。
这种分离违背了业务流程导向的方法。换句话说,它使得业务流程的改进和功能添加变得更加困难。
如果您想象一个业务手册被修改的场景,这一点就会立即变得显而易见。
每次业务流程的程序发生变化,程序和系统都需要相应地进行修改。
因此,业务手册需要从一开始就进行彻底的完善,这使得手册化变得耗时。此外,即使手册发生变化,也不会立即反映在程序或系统中。
除了需要时间的问题之外,还有改造费用。
这意味着业务流程和手册不能轻易更改。
另一方面,如果不开发程序和系统,而是由责任方之间交换带有业务手册的输入信息表单文件,那么程序和系统的开发周期和维护/运营成本就变得不必要。
可执行软件
那么,有些人可能会问,为什么这个文件被称为“软件”?
原因在于,这个文件是可执行文件。然而,它并非作为程序在计算机上执行;相反,它是由人类执行的软件。
业务手册就像是人类的程序。而输入信息字段则像是内存或数据库中的数据存储位置。
从这个角度来看,将此文件视为由人类执行的软件,并无不妥。
执行主体
业务流程导向软件中编写的任务可以由人类执行,也可以由人工智能执行。
即使是单个任务,也可能存在人工智能与人类协作执行的情况,或者仅由人类或仅由人工智能执行任务的情况。
人工智能也可以读取此文件中的业务手册并执行适当的处理。
因此,此文件对于人类和人工智能而言,都成为了可执行软件。
人工智能辅助
首先,人工智能执行文件。在此过程中,它会读取文件中编写的业务手册,并理解需要处理的内容。
这些处理中,有些部分可以直接由人工智能执行,或者人工智能可以直接将信息输入到输入字段中。
另一方面,有些部分需要人工处理或信息输入。
对于这些部分,人工智能会通知人类,并提示他们执行处理或输入信息。
此时,人工智能可以根据人类处理或输入信息的内容,改变其向人类的呈现方式。
向人类呈现的基本方法可以包括通过文本聊天或语音聊天传达必要的任务,或引导人类输入信息。
还有一种方法是直接打开文件。例如,如果文件是文本格式,就会打开一个文本编辑器。
更高级的方法是提取必要的任务和输入信息,然后根据这些内容,为方便人类操作的应用程序生成一个临时文件并执行它。
例如,如果需要以表格形式输入,可以生成一个电子表格文件供人类输入信息。然后,人工智能会将临时文件中输入的信息转录到原始文件的输入字段中。
更先进的方法是,按需编程一个具有用户界面的应用程序,该界面与文件以及人类所需的任务/输入信息相匹配。
通过这种方式,当一项任务完成时,无论是通过人工智能自动化完成,还是通过人工智能辅助人类工作和输入完成,人工智能都会将文件传输到业务手册中记载的下一项任务负责人的联系地址。
通过这种人工智能辅助人类的方式,可以实现一个系统,即人类只需通过易于使用的用户界面高效地执行最少的必要任务。
人工智能友好型文件
基本上,业务流程导向软件可以是任何文件格式。
然而,考虑到人工智能的辅助,人工智能易于处理的文件格式适合作为基本文件格式。Markdown 格式的文本文件就是一个典型例子。
同时,最好能为内容建立基本的规则。由于人工智能提供辅助,这些基本的编写规则也可以灵活修改或扩展。
知识积累与业务流程改进
业务流程导向软件允许组织通过简单地创建或更改结合了手册和输入字段的文件来添加新的业务流程或修改现有流程,而无需涉及程序或系统的开发。
此外,在业务手册中包含一个联系点(用于处理与该业务流程相关的疑问或改进请求)的联系信息至关重要。
这大大减少了人工智能或人类在处理不确定性或搜索信息时所花费的时间和精力。而且,随着疑问、解答和改进请求集中到一个联系点,业务流程知识自然会积累,并且业务流程可以高频地得到改进。
系统化和组织积累的知识,或响应改进请求修改业务流程导向软件的任务,也可以由人工智能自动执行或得到其辅助。
此外,如有必要,可以创建新的业务流程导向软件,以向组织添加新的业务流程。
快速学习型组织
通过业务流程导向软件的概念以及人工智能的自动化/辅助,组织作为一个整体可以自然地积累知识并持续进行自我改进。
这可以被描述为一个快速学习型组织。
这使得组织活动比传统组织效率高得多。
同时,借助人工智能对个体任务的辅助,人类只需通过用户友好的界面执行最少的工作。
因此,人类无需学习大量信息或掌握频繁变化的业务流程的每一个细节。
与人类不同,人工智能可以即时、轻松地重新阅读所有新的业务手册。此外,它不需要时间来适应新的业务流程,也不会固守旧的流程。
因此,人类在学习大量手册和适应业务流程变化等方面所面临的困难,都由人工智能来承担。
这就是实现快速学习型组织的方式。