
Formulation of the problem
For simplicity, let's imagine that an enterprise is structurally divided into two levels. (In general, there can be any number of levels).
')
At the enterprise level, the following works are performed:- The requirements for the enterprise as a whole are formulated and the limitations imposed by external conditions are revealed;
- The production capacity of the enterprise is determined;
- Formulated strategic goals of the enterprise and current plans (tasks);
- Tasks for the enterprise are decomposed into tasks for divisions. This takes into account the capabilities of individual units;
- Tasks are transferred to the units.
At the unit level, the following work is done:- Assignments for the unit are validated for the possibility of their implementation;
- In the case of successful validation, tasks for a unit are decomposed into tasks for performers;
- Performers perform tasks;
- Analyzed the progress of these tasks;
- Analyzes the progress of the tasks of the unit as a whole;
- Analyzed completed operations, both at the level of the performers, and at the level of the unit as a whole;
- Based on the collected facts, the production capabilities of each actor are determined;
- There are bottlenecks requiring amplification;
- The production capabilities of the unit as a whole are analyzed, and information about this is transmitted to the enterprise level.
At the enterprise level, work continues:- Accepted and analyzed information on the progress of the actual work;
- Examine the actual capabilities of the units;
- This information is used to identify bottlenecks and their possible enhancement;
- The same information is used to determine the production capabilities of the enterprise as a whole.
Thus, in each structural unit it is necessary to perform the following work:- Validate incoming tasks from the upper structural level;
- To create planned scenarios of planned works, which, according to the plan of their creator, should lead to the fulfillment of tasks that came from the upper structural level;
- Validate plans, and on the basis of them create tasks that assign specific performers;
- To complete tasks;
- Analyze the results of the work performed;
- On the basis of the data obtained, make adjustments to the planned work, and coordinate these changes with both adjacent units and the upper structural unit;
- Maintain knowledge of the production capacity of each performer;
- In order to improve performance, find and “embroider” bottlenecks;
- Calculate the total production capacity of the structural unit as a whole. Information on this is transmitted as adjacent units, and a level above.
Let the IT department face the task: it is necessary to automate the following functions:- Modeling operations and scenarios based on typical schemes;
- Comparison of the obtained results with the planned ones;
- Adjustment plans.
Introduction
I want to explain why using a regular workflow engine is not suitable for solving this problem. There are limitations that I will talk about.
Work planning usually takes place through a multitude of “castings”, where each “casting” is a scenario of future work. Each scenario contains a number of planned operations located on the time axis and interconnected by logical conditions, for example:
- After completing operation 3, operation 5 will begin;
- The result of operation 5 will play the role of an auxiliary tool in operation 6.
There is a difference between an individual scenario and a sample scenario. To explain the difference between them, I will resort to an analogy with a construction project.
An example from the field of construction
Imagine that you are planning to build your own house. For such a construction project is needed. The project makes the project organization. You order the development of the project of your future home in the project organization, where you are asked: do you develop a model project, or an individual one? In this case, the standard cost is 20,000 rubles, and the individual price is 200,000, that is, an order of magnitude more expensive! To answer this question, you need to know how a typical project differs from an individual one.
The difference is that the standard project is not adapted to specific conditions. Specific conditions are (including) geology and terrain. For example, a slope of 30 degrees on a sandy slope flooded during flood.
Imagine if a house on a strip foundation will be built on such a slope, as indicated in a typical project. It is clear that it will not last long - it will wash away. In order for such a house to stand for a long time, it must be put on piles, which will have to be beaten to a depth sufficient to rest against the parent base and with a frequency that is able to withstand the load of the sliding sand layer. If you ordered an individual project, then the project organization will make the calculation of such a foundation. In the model project you will not find a pile foundation, because the model project is designed for standard conditions.
Suppose the draft indicated that as a gravel fraction in concrete, which goes to fill the floor, you must use granite crushed stone fraction 20-50. But the local manufacturer is ready to put only limestone. To buy granite rubble is incredibly expensive! Question: Is it possible to replace granite rubble with limestone? The project organization, knowing the local conditions, can replace the material, re-read the allowable loads, and suggest to fill the floor with concrete not 20 cm thick, but 30 cm. Therefore, the question arises, what is cheaper: to bring granite rubble, or go to the rise in price of the foundation? If you order an individual project, then these questions will be asked to you by the project designer. He will give the answers to them. If you buy a standard project, you will have to ask these questions yourself and solve them at your own risk.
If you are an experienced builder enough, if you are ready to carry out an examination of a typical project and evaluate the possibility of its adaptation to specific local conditions, then a typical project is enough for you to work. If you do not have the necessary experience, you should order an individual project.
Production Management Example
An individual scenario differs from a typical scenario in the same way: an individual scenario is created on the basis of a typical scenario. It is created by adapting its (standard scenario) to specific conditions: specific dates and specific performers, materials, and so on.
A typical construction project requires a "landing on the terrain." This means that it will be sufficient to indicate the coordinates of the corners and the height mark in order for the model project to begin to acquire the features of an individual. For a typical “fit-in-place” scenario, it refers to a specific time: an indication of the start time. This "landing" can make the engine automatically.
A typical project requires adaptation to local building materials, geology and relief. For a typical scenario, this means that it must be adapted to specific conditions and specific performers. This adaptation will look like assigning specific performers to roles, adjusting the planned duration of operations, replacing one operation with another, or changing the order of operations, etc.
Why model scripts?
So is there a need to model individual or model typical scenarios?
The rule for choosing an automation object is: for automation, you must select those functions whose automation will be beneficial. This means that frequent cases are subject to automation (even if the automation of each of them has a small economic effect), as well as rare cases, but the automation of each of which gives a large economic effect (for example, by reducing risks).
Typical scenarios require adaptation to real conditions with a frequency from “almost never” to “almost always”.
Whether it is necessary to model individual scenarios, or not, whether it is necessary to model typical ones, or not, depends on the benefits derived from this simulation.
When can we not model individual scenarios?
- When the deviations of the planned scenarios from the standard occur rarely, and the analysis of these deviations does not give a tangible benefit.
When do we have to model individual scenarios?
- When deviations of individual scenarios from the standard occur frequently;
- When deviations occur rarely, but analyzing these deviations gives a tangible benefit.
So, we can conclude that the modeling of individual scenarios is necessary when they (scenarios) often deviate from the standard, or when there is a continuous improvement in the production process.
When can you not model typical scenarios?
- When deviations of the planned scenarios from the standard scenario occur very often.
When do you need to model typical scenarios?
- When deviations of the planned scenarios from the typical scenario occur rarely.
Problem formulation
Now, let's return to the question of why the usual workflow tool cannot be used to solve the above problem.
In the formulation of the problem there are points:
- Modeling operations and scenarios based on typical schemes;
- Comparison of the obtained results with the planned ones;
- Adjustment plans.
These functions cannot be automatized if models of planned scenarios are not stored in the information system.
There are editors of Gantt charts that allow you to build models of planned scenarios.
However, two tasks may arise:
- A typical scenario may be necessary, since the deviations of individual scenarios from the typical ones rarely occur. This is solved by creating a typical Gantt chart;
- It may be necessary to simulate the branching of the planned scenario depending on the conditions developing in the course of the work. This task is not solved with the help of the Gantt chart.
There is a BPMN notation. This notation is intended to model typical scenarios, but it is not possible to create a model of an individual scenario in it.
Conclusion
To date, I have not found an information system or notation that would suggest modeling both typical and individual scenarios with regard to branching. Most likely, I searched a little. If someone knows similar systems, report, please!
Thanks for attention!