What is a Process?
An Enterprise must act to bring Value to its Customer: it has to Produce Products, distribute Offers, manage its Resources and manage how it operates.
But how do we distinguish between a Process and a Function within a Process?
A Process is a sequence of Functions that are executed from an independent event: a customer request, or a partner or internal request, or a date...
Recruit an employee, sell an Offer, and buy Components are Processes.
On the other hand, "calculate a price" is not a Process, but a Function inserted into a Process: it is used in Processes like "Take out a Contract", "Make a quotation" or "Bill monthly".
But how do we distinguish between a Process and a Process domain?
The "Human Resources management Processes" Domain is made up of different Processes, such as:
- Process "Recruit an employee"
- Process "Evaluate an employee"
- Process "Train an employee"
- Process "Transfer an employee"
Each of these Processes is triggered by an independent event.
This is what enable us to distinguish between Process and Process Domain.
As an example, "Manage staff" is not a Process as there is no unambiguous independent event, it is a Process domain.
How do we model a Process?
A Process is a suite of Functions executed by one or several Actors helped by Information. We therefore have to Model the Functions, Actors and Information.
But beforehand, we have to define the start and end of the Process:
- Start: what is the trigger event, what are the input elements?
- End: what are the output elements and who are they for?
The Product of the Process is a Good or Information if we consider Production Processes. But if it is about Producing a Service, the Product of the Process is a change of State on the Object that the Service concerns: premises cleaned or new haircut or Goods transported to another place. The beneficiary of the Process can be internal or external: a Customer or a Partner.
The sequence of Functions is not necessarily sequential. For example, "take out a contract" may require an expert's involvement if the contract is for a large amount. Moreover, a Function can link other Functions. For example, the Function "check customer eligibility" calls on the Functions "get customer age" and "check that the customer is not already known as a bad debtor". We must therefore represent the Function chain algorithm.
Functions rely on Information: Product, Customer, Contract, Account... information. We therefore have to represent this Information.
Finally, these Functions will be executed by Actors: Human-Actors (employees, partners or customers) or IT-Actors.
Different forms of Process Modeling exist that respect these principles: it is recommended that we choose one and only one within an Enterprise to facilitate the dialog between the different Transformation Actors.
A single Operational Model with different views
When we have to transform a Process Model into software, there are 2 methods available:
- either we use a Modeling tool specifically for Processes, and then the IT developers have to translate the Process Model into software
- or we use a single tool: we Model the Processes in the tool and the software is automatically generated
It is clear that the second type of tool is more efficient as it removes human intervention (the translation of the Process Model into software): we gain in time, money, reliability and Agility. In particular, we no longer need to check, through testing, that both Models are coherent.
We prefer using a single Model rather than 2 separate Models for the Business and IT parts, and we provide Views of this Model adapted to each Actor: it is a valuable tool for a multidisciplinary approach.
There are not yet any universal Tools that transform the whole of a Business Model into an IT Model, but progress has been made on some parts of the Model:
- Model Information and automatically generate the IT Data Model
- Model the business Rules directly in a rules engine
- Model a Process and automatically generate the navigation and allocation
- Model the presentation and automatically generate the GUI Model
- Model the Business Intelligence deliverables and automatically generate Information production
The story of George the Baker is made available under the terms of the
Creative Commons Attribution - NoDerivatives 4.0 International license.