It seemed that most of the talks at BPMNext mentioned agents at some level — but the meanings varied. After many discussions it seems that we might focus on a special type of agent we can call a “Personal Assistant” which has the potential to dramatically change large scale BPM, and here is why.
I asked dozens of attendees the question: What is the definition of an agent and how is it different from other software? The answers were surprisingly consistent around three requirements. The software agent must:
- do something for someone
- work autonomously
- guided by goals
Then I pointed out that this definition is common to almost all software out there. All software is designed to do something for someone. Working autonomously is very common, usually what we call “running in the background.” Finally, all software has some way to tell when it is done working. Examples of this include your word processor when it formats your document in the background, your email server receiving and forwarding email, a google alert telling you when a web page has been created, your anti-spam filter, and your virus protection software, etc. Agents are plentiful and widely used today.
Even so, there is a feeling that what we mean by agent should be so much more than this. Some said it should behave like a human. It should go beyond what it was programmed to do. It should have some learning capability. It should interact with other real people. It should be more like the operating system character in the movie “Her.” Nathaniel Palmer reminded me of the Apple Knowledge Navigator vision where your agent appeared on screen with a human head, and you talk to it, while it assists you in taking care of a lot of the tedious aspects of communications. It would arrange appointments, coordinate calls, find stuff, and in general make it easier to communicate. If you see business as a conversation between people, then this kind of intelligent agent might really help.
Lets call it a Personal Assistant so we can distinguish this kind of agent.
Visualizing the Personal Assistant
It is personal; it represents a real person (you) to others. Not that anyone else would confuse the assistant for a real person, but that it is an intermediary between people to facilitate their communications. Sort of like this:
It is useful not only for reaching out to others, but also in responding to others trying to reach you.
Meanwhile, it is reasonable to expect that the personal assistants will be communicating a lot more with each other than the people. They might be checking on status, cloning projects, and updating status when things change.
Most of the presentations at BPMNext talked about agents being used within a closed system. That is the old model of delivering an application or solution which is all contains, and that all of the users visit for a specific purpose. For any given person, there can only be a small number of such systems that they use, and those system will not normally be under their control. A user might have the option to configure an agent in the system, but probably only
The Personal Assistant, instead of being an agent within a particular closed system, is an agent outside of such a system, and can reach in to play a role for you. That is, my personal assistant lives in my sandbox, and is completely under my control, but when doing its job, reaches out and interacts with another sandbox to explore assignment there, and to potentially complete them. This opens exciting possibilities.
The personal assistant is one type of agent, which plays a very specific role, which I hope to explore in future posts.