Intelligent project management and simulation
This article is planned as the first publication in a series of articles on intelligent project management.
The publication will briefly discuss issues of simulation modeling of project management (UE) and UE intellectualization.
It is assumed that the reader is superficially familiar with the theory of project management and system analysis, as well as possibly with the design of information systems. In-depth knowledge in all or one of the areas may cause an irresistible desire to write a comment that is welcome! ... or launch something difficult in the author ...
So, let's get started.
1. Project Model
In accordance with PMBoK 5 (1), several areas of knowledge of project management are identified (we will not address all of them). In each of the areas, the project is considered from different angles, all kinds of entities / objects, management methods and their influence on the project are distinguished as a way of organizing work to achieve a specific goal or task. Here we will only briefly describe the typical objects that can be distinguished when managing projects, their characteristics, interconnections, as well as the general mechanics of simulation and their conformity to the life cycle of the project.
Typical objects and their characteristics
Projectpossesses the following characteristics: leader, name, type, planned start date, actual start date, planned end date, actual end date, current life cycle status, initial project balance, current project balance.
Characteristics calculated or determined on the basis of other objects: the project team, the percentage of work completed, the lag or the lead in terms of the volume of work performed, the lag or lead in terms of time, the estimated cost.
Task / Work - similar characteristics are indicated here with the project, to which the following are added: receiver, executive, type of work performed, project, location, percentage of readiness.
The characteristics calculated or determined on the basis of other objects: the sequence of execution within the project, the composition of the executors, the history of the state change, the cost of the task / work.
Material resource (fixed assets): object type, date of registration, date of commissioning, name, book value.
Estimated or determined: depreciation, current state, where it is involved now, schedule of use.
Consumable resource (raw materials, spare parts): type of resource, initial reserves, location, delivery date, shelf life.
Estimated or determined: current stocks, expenditure intensity
Personnel : name, permanent location.
Estimated or determined: availability for work, compatibility with other employees, current placement at the time of the work, where involved, work schedule.
Risk : probability of occurrence, price of damage, description, duration of impact, risk response indicator.
Estimated or determined: measures to eliminate the consequences, measures to prevent the occurrence or evasion, cost, terms of implementation.
Relationships and dependencies The
project - [1: M] - task - is carried out in the terms of the project.
Task- [1: M] -task - may have a hierarchical relationship (vertical), may have a relationship in the form of an indication of the sequence of execution (horizontal).
Material Resource- [M: M] -problem- it is attached through the relation of the schedule to the task with the schedule of use.
Consumable resource - [M: M] -task - is tied through the relation of the schedule to the task with the indication of the necessary stock for its implementation.
Personnel- [M: M] -task - can be involved in several tasks, for which a schedule of work and the percentage of use in the task are indicated.
Risk - [M: M] - [Object] - when indicating the relationship with [Object], the probability of occurrence is indicated.
Of course, this is not a complete list of objects.
Each cycle of modeling corresponds to a fixed time - 1 day / hour of the project. To do this, we accept all the terms, and intervals in the project - in multiples of 1 day / hour. The simulation cycle diagram is shown below:
The simulation cycle is as follows:
- Initial values for the project for simulation are set. A project is created, a project schedule is prepared, a risk tree. The functions of intellectual support for project management are also available at this stage, but this step cannot be performed without DM.
- The iteration begins with the determination of the effective values.
- Performing a beat. Each cycle of the simulation, the following operations are performed:
- resources are spent on tasks
- the probability of failures (risks) is checked,
- a certain amount of work is being carried out from the list of work on the project,
- financial operations are carried out under the project.
- The calculated values for a specific measure are saved.
- Check the conditions for the completion of the simulation.
- The completion of the simulation and the conclusion of the results (analytical, aggregated and detailed values for the simulation steps). At the end of the simulation, the last (final) values and reasons for the termination of the simulation are saved.
- Issue to the user (or decision maker - DM) information about the state of the project without the use of optimizations, analytics modules and decision support. The user needs a reaction to the current state (if necessary) or continued simulation.
- Evaluation of the user's management decisions based on current values, as well as a retrospective of their changes and user-made management decisions using optimization algorithms, analytic modules and decision support.
In accordance with the project life cycle we will distinguish:
- initialization and project planning - 1 step
- project implementation - 2-5, 7 and 8 step of the cycle
- project completion - step 6
All data from the intermediate steps of the simulation are saved and accumulated within the current simulation. With the further work of optimization algorithms (at step 8 of the simulation cycle), data from both the current and previous completed simulations (adjusted for the result of the completion of the simulation) can be used.
With several simultaneously executed project works, the simulation for them is performed as if in parallel (i.e., simultaneous execution is simulated), in the absence of disagreement on the resources used.
For several employees / types of resources, modeling is performed for each of them in parallel (i.e., they are spent simultaneously), in the absence of disagreement on the resources used.
2. Implementation Technologies
Key issues to be addressed:
- storage of the project data structure in the database
- interface for user interaction with the database structure
- simulator server implementation tools
- interface for interaction between the database and the simulator server
- storage of the neural network and intermediate steps of the iteration of the simulator
- interaction between the application interface and the neural network
As it is easy to notice the project objects and the relationships between them it is easy to imagine in the form of relations of a relational database and store in this form is also not difficult, i.e. there will be enough relational DB - MySQL, for example.
To develop the interface, we will choose the Yii 2 framework (and the corresponding technology stack - PHP, HTML, etc.).
Implementation of a simulation server - Node.js
Implementation of a neural network for Node.js, for example - habrahabr.ru/post/193738
Interaction with frontend (Yii2) and Node.js - github.com/oncesk/yii-node-socket The
question remains open storage format of the neural network itself, which is subject to the following requirements:
- Reflection of the properties of a neural network (interconnection, weight of links, etc.)
- Secure access (eliminate direct user influence on the network)
- Fast loading of a neural network into memory.
- Network training opportunity.
3. Control logic
For each of the areas of knowledge of project management, there are problem statements and the described mathematical methods for solving them, with which the author is superficially familiar. Depending on the control model, knowledge of these rules and methods for solving problems should be redistributed between the system and the user. Management models are highlighted as follows: (1)
- management with notifications - the system does not affect the object (project), but displays notifications of changes in indicators and the ability to perform actions (decision-making and maximum knowledge is required from decision-makers).
- interactive management - the system offers control actions, but the decision remains with the decision maker (decision making remains with the decision maker).
- heuristic management - the system makes decisions and performs some influences on its own (decision maker is excluded from the management process).
The implementation of the management itself consists in monitoring and analyzing the totality of the project characteristics and assessing their deviation from the “normal” for a given time, taking into account the dynamics of their change. Control actions are selected on the basis of the data obtained (i.e. if there is a match for such a combination of characteristics of any impact), similar projects with similar situations and the decisions made therein are analyzed. In accordance with the degree or level of deviation, these or other methods of exposure can be applied:
- Redistribution of resources between tasks;
- Redistribution of labor resources between tasks;
- Change the schedule of tasks;
- Procurement planning;
- Avoiding or taking measures to eliminate the consequences of risks.
The following characteristics are important for exposure methods: degree of compliance with the situation, duration of implementation, cost of implementation, possible time to start implementation. To determine the applicable method of exposure, it is important:
- Characteristics specified by experts.
- Availability of information in the accumulated database of completed projects.
It is logical to build these mechanisms using neural networks and fuzzy logic. You can use these algorithms both at the initialization and planning stage of the project, and at the stage of its implementation. An analysis is possible - how to change the characteristics after applying the control action.
4. Intellectualization of imitation
T.O. at the stage of the beat, a complete exclusion of the decision maker from the control process is possible. What is necessary for this? To model events, some characteristics (approximate) are needed. To perform control actions, the system must “know” some additional information regarding the subject area, for example:
1. Redistribution of resources between tasks.
- interchangeability of resources - can be set by correspondence matrix tables;
- probability of failure of resources - indicates the probability in the range from Xmin to Xmax;
- the possibility of parallel use by several performers - as a logical property of the task.
2. The redistribution of labor between tasks.
- interchangeability and incompatibility of personnel - can be set by correspondence matrix tables;
- labor productivity - as a calculated value based on data on: work experience, age, advanced training, etc.
- the ratio of the types of work performed and the skills required for its implementation is similarly solved by matrices;
- probability of absenteeism (probability of illness) - indicates the probability in the range from Xmin to Xmax;
- the possibility of parallel execution of one work by several performers - as a logical property of the task.
3. Change the schedule of tasks.
- is it possible to suspend a task, or should execution be continuous - as a logical property of a task;
- whether the task is included in the “critical path” (ie, the timing of its implementation directly affects the timing of completion of the project) is determined by the system “on the fly”.
4. Procurement planning.
- resource consumption intensity - determined by the system "on the fly".
- the possibility of purchasing the necessary equipment - as a logical property of the task.
5. Evasion or taking measures to eliminate the consequences of risks.
- probability of equipment failure - indicates the probability in the range from Xmin to Xmax;
- possible options for avoiding and eliminating the consequences - it is decided by matrices or lists of compliance (indicating the degree of compliance).
This is not an exhaustive list of tasks. Here it is also necessary to note the fact that there can be no universal solution for any project and, what is good for one project, death for another. T.O. certain key characteristics are needed, their combination, and their values, which would allow typing and classification, selecting similar projects for training the system, for example:
- types of resources involved;
- types of tasks;
- qualifications and skills of the personnel involved;
- budget amount;
- project duration;
- project success;
- number of participants, etc.
Not the least role will be played by the uncertainty factor of both the characteristics described above and the characteristics of the project itself.
As noted above, disagreements on the use of resources can be both within a project between tasks, and between different projects using the same resources. To simplify the work with resources, we will select an agent, which we will call “Resource Referee”. It is to him that Projects agents will turn to him for the necessary resources, which will make it possible to redistribute even the reserved resources depending on the importance (criticality) of the tasks or projects being performed.
What will give such simulation or simulation of project management? The answer is simple:
- management with notifications - can be used as a training or testing of decision-makers on the knowledge of certain principles or the ability to solve problems associated with project management.
- Interactive management - development of some practices and testing them on the model. This will make it possible to change the model to suit the situation or vice versa to assess the possession of the methods for solving the problems of UE by the decision maker (self-test).
- heuristic control - the possibility of a large number of simulation runs and the accumulation of certain experience (data) about these simulations for their further analysis.
However, imitation and simulation itself is not the ultimate goal. As a result of the accumulation of fairly accurate simple and complex models in the base of simulation, development and debugging of the behavior of the simulation model and modules that provide interactive interaction and heuristic management (without DM), it is possible to use the accumulated rules and algorithms to manage (or intellectual management support) real projects ( 3).
Implementing such a system in the form of a SaaS solution, involving a certain number of participants, will allow access to the work experience (impersonal) of other participants (with the possibility of training the system).
List of sources used
- pmlead.ru/?p=1521 . [In the Internet]
- www.aaai.org/ojs/index.php/aimagazine/article/view/564 . [In the Internet]
- us.analytics8.com/images/uploads/general/US_2010-10_Whitepaper_BI_Project_Management_101.pdf . [In the Internet]