The concept of “zero code” is the wish-fulfillment myth of the BPM industry. Many advertisements will claim that the processes can be designed without any coding. This complete hog-wash. There is, however, a possibility for a zero-code system, but let’s imagine how that would have to work.
People desire systems that automatically do thing for them. They tried it, and found that they had to tell the computer what to do in what situation — this is coding.
Marketing the Illusion
Then a clever trick was played: the idea of typing a bunch of text in an unfamiliar syntax was associated with the idea of coding. People thought that the hard part about getting the computer to do what you want is the typing part. If we can eliminate typing, we can eliminate coding. That is, if we can make a system where you tell the computer what to do without typing, and only by using a mouse to drag and drop shapes, then you won’t have to do any coding, right? But you still have to learn what a bunch of obscure symbols mean, and what their interaction might be. It turns out that the “typing” is not the hard part about the coding.
Dragging and dropping symbols on a map to tell the system exactly what to do is still coding, and it is just as hard as typing the code in text, because the hard part is figuring out what should be done in what situation. You have not eliminated coding, you just disguised it.
Zero-Code Systems Today
There are some examples of no-coding systems if we look for them, we can talk about two that stand out:
1) Google Page Rank: When Yahoo was the top of the search world it employed a bunch of people to code up an index to the web. That is, they looked at a page, and decided where it should fit. Google invented Page Rank which gleaned associations just from the links between existing pages. No person had to decide that “giraffe” was associated with “african animals” instead that emerged from the data set without human involvement, that is, without coding. The algorithm can be tricked by purposefully constructing misleading links, but this is not programming in any traditional sense.
2) Google Translate: Every phrase translated gives you the option to see both the original and the translated version, and then you can improve the translation. Nobody has to sit down and program the translator by defining rules for it to follow under certain situations. Instead from the examples, it works out the rules by itself.
Actually, these are both a little more complicated than I describe here, bootstrapped by some initial coding, however it is fair to say that they improve without explicitly being told what to do. Two properties are common of these: (a) they learn by example, and not by being given explicit rules, and (b) nobody is in control nor has to take responsibility for the results.
Zero Code BPM Systems
There is then a possibility for a BPM system that learns by example. Here is what it would look like:
- When installed, there would be no rules around what a person does. No process diagram.
- There would be a basic set of capabilities around recording information and communicating this to others.
- People would identify people they work with, and make lists of colleagues very much like “friends” in Facebook, or “links” in LinkedIn.
- Workers would simply start writing and sending documents to others.
- After enough cases exist, the system would mine the history and show workers what the work patterns look like.
- The system would use these patterns to suggest a course of action by recognizing similarity with earlier cases. Similarity would consider instance data values, as well as timing and previous actions.
- The emergent patterns of work could be used for predictive simulation of how a particular instance might go, letting people know when it might reach a certain stage or be finished.
- The patterns could be used to distinguish different classes of people, essentially discerning their role without having to explicitly state it.
- The pattern from one person (or set of people) could be compared with another set to try and determine which one has better outcomes, or achieves these more efficiently.
- Simulations could be run using the pattern from one set of people, with the data from another set of people, to see if the other pattern might have done a better job. Such results are never conclusive, but still might be idea provoking.
At no point in this scenario did we say that anyone drew up a process diagram. Nobody specified what work was to be done, nor how to do it. Nobody was in control of assuring the efficiency of the organization, except in the normal way by training people and giving them performance reviews. This is a zero coding system. The system itself is adaptive and learns, not because people can program it really fast and easily, but because no programming is needed. Instead, it learns by example, and nobody is in control.
Back to the Real World
I am not trying to say that a zero-code system is better than a custom coded system. Instead, the purpose of this exercise to show a clear example of what a zero-code BPM system would look like, so that when someone claims that their system requires no coding, you will know what to compare them to. Or to be more concise: a process diagram is simply another form of coding — don’t be fooled.
My example does not include integration with other existing information systems. In my experience coding is required for any level of system integration. Anyone claiming to do integration without coding is hoping the listener is very dim indeed.
Zero-code systems are all around us: email does not need programming before use; an office suite does not need to be programmed before use. But these systems do not claim to support business processes in any significant way.
Nobody yet in the industry is ready for a BPM system that can not be controlled. There is a deep set management belief that workers must be controlled and that if you let workers do whatever they want, they will behave chaotically. There is a belief in the separation of brains and brawn: one set of exclusive people will figure out what to do, code it into the system, so that another set can do it without thinking. This market believes that command and control is needed to coordinate action.
Which is one reason why I showed a flock of murmurating starlings in my BPMNext talk. Clearly organization emerges without needed any single individual in control, and without telling other exactly what to do. But, of course, that is just a bunch of birds flying — the idea doesn’t apply to a human organization with thousands of individuals working and interacting with other individuals. Or does it?
In conclusion, the industry is clearly not ready for a BPM system which exerts no control over the participants in the process. Exerting control is what programming is all about, and therefor you will never see a zero-code BPM system sold as a BPM system.