When designing a business process, you need to design for change, because business is always changing and agility depends upon the ability to change. Once you understand that change is a constant part of business, you know that the business process you design today is not going to remain static.
If you are going to design for change, it is important to pick the right language. If you pick the wrong language, then change will be very difficult. We say that a language is a good language when it affords changes in the ways that you are likely to need changing. If the language is a good fit for human processes, then it will easily allow the kinds of changes that you normally find in a human organization.
I was talking with a friend today about what it means to be a good fit, and easy to change, and why it is that some languages allow change easier than others.
Think about music. Music can be coded as a stream of digital quantized values such as you would get from a compact disk or WAV file. Music can also be written as sheet music. Which form of writing music is better? Clearly the digital stream is great for playing back exactly the final composition, but if you want to tweak the music the sheet music is better. Let say you are fitting music to a movie. You might want to change the tempo to make the music punchier, or alternately change the mix of instruments to make it softer. To achieve these differences, you might substitute a flute for a trumpet, or a string bass for a tuba. With sheet music you can make these choices, but with the digitized stream you can not.
It may seem a bit unfair to compare sheet music which must be read by a person to a digitized stream that can be played automatically, so let make a slightly different comparison. A few years ago in my “garage band” days I was really interested in midi format. That is a digital format that allows you to connect instruments together for performance. Actually you connect a midi “controller” (looks like a piano) with a synthesizer or other equipment to make the music.
You can record the midi stream. It is a digital stream that is in many way like the digital stream that comes from a CD. Most computers today can play midi streams just like they can play WAV files, or MP3 files. So what is the difference? If you want to change the music, there is a tremendous difference.
With a midi file, if you hear a cymbal crash, and want to remove that one note, you can without changing anything else. This is not possible with a WAV file. With a midi file, if you hear a trumpet-like sound, and you want to make that solo softer, you can substitute a flute-like sound. With a WAV file, you can not. Midi is a representation based on notes being played on instruments, so you can change individual notes, and you can change individual instruments within the music. But a wave file is simply a recording of the resulting mix, and for the most part you can not change the arrangement, tempo, or anything else. You can make it louder or softer, and you can change the tone curve, but a change substituting one instrument for another is essentially impossible.
What does all this mean to business processes? If you store the original drawing of a business process, and if that drawing matches the behavior of people, then it becomes relatively easy to make changes to accommodate the kinds of changes that people would need. For example, if one person leaves, and you need to substitute another, then this is easy if the model represents giving tasks to people. Adding a new human task between two others is easy to do. If you record only the low level process based on the transfer of data between servers, it difficult to change for the same reason that a WAV file is difficult to change.
If you want to be able to change the music, then it is important that the music is recorded in a format that matches the kinds of changes you might make. Given that you need to be able to change processes over time, it is critical that you record that business process in a format that is a proper fit to the way that people work, so that changes that are likely to be needed are natural. This is the essence of the “fit” of a langauge to BPM. Thus the language that you use to design the business process become a critical element in allowing change, and in turn in allowing the management of business processes.
What is the right language? I might have to deal with that in a later post.