📜 ⬆️ ⬇️

Why 9 women can not give birth to a child for 1 month or About the use of simulation modeling in project management

Introduction


I think many of you have heard the expression “9 women cannot give birth to a child in 1 month!”. The context of this expression is obvious - in software development it is used as an allegory when they protest against completely unacceptable compression of terms . Here, under the compression understand the reduction of development time by expanding the team while maintaining the overall complexity of the development.
image

It is quite obvious that it is impossible to compress timelines to infinity. There is a certain limit. For example, a well-known expert in assessing the complexity of software development by Steve McConnell (Steve McConnell) this threshold is defined as 25% of the original estimates (see my previous article ).
But this topic is not about the estimates of labor intensity ...
So I wrote above "quite obvious ...". Think it's really obvious? Anyone?
My recent experience has shown that this is by no means all. The project was very large and the deadline was inexorably approaching. It was decided to dramatically expand the team in order to be in time. The argument about "9 women" no one accepted. The team was expanded and we still did not have time on time. Could it have been somehow, except in words, to show how events will develop? Here is how to simulate such a situation, and will be my article.

I am sure that many of you had to make some decisions, on which a great deal later depended. How did you take them? What guided? Did you know for sure exactly how events will develop depending on what choice was made? But the higher the position in the management hierarchy, the more far-sighted the decisions must be and the more expensive the mistakes are from wrong decisions.
image
In most cases, decisions are made intuitively, based on life and professional experience. Making decisions, on a subconscious level, we take into account many factors, take into account the knowledge that we received earlier. But what if you need to explain to someone why you are so confident in your decision? Here, of course, you can apply all your persuasion skills, just “push” your position and calm down. For example, you can categorically say: "Yes, I'm just sure of it!", And ignore all other arguments. But this does not always work, especially if you are lower in rank than those to whom you prove your position.

It would be nice to be able to translate your "intuitive sensations" into some more tangible form. In a form that would allow:
It is clear that with inadequate perception, no models will convince a person of the wrong decision. The model helps not so much to convince someone as to sort out your own arguments.
')

Decision Support Systems


image Decision support systems come to the rescue to solve the problems posed.
Such systems “make it possible to make decisions in difficult conditions for a complete and objective analysis of objective activity.” Just what we need when managing projects. To support decision-making using various methods. We are also interested in a method that will be most visible in order to solve the problems indicated above.

Simulation

image Most fully these tasks correspond to the simulation method. This method allows you to build models that describe the processes as they would have been in reality. Such a model can be “lost” in time for both one test and a given set of them. However, it is worth remembering that the model always remains a model. It will never be able to take into account all factors, but with a certain degree of reliability it allows you to make informed conclusions.

Modeling tools


image There are many different modeling tools. Among them are AnyLogic , GPSS and others. Each of them has its own advantages and its own shortcomings. Each of them has its own priority areas of application. I will not try to compare these systems, as this is beyond the scope of this topic.

image In this article, I will consider the iThink system of isee systems, inc as an example. I chose this system, firstly, because it was I who heard about it for the first time, after reading Deadline’s book by Tom DeMarco, and secondly, because it seemed subjective to me to be the easiest to carry out modeling tasks specific to project management.

Example


Formulation of the problem

For ease of understanding, let’s take as a basis an example from the very book I mentioned above — Deadline. In it, the main character, Mr. Tompkins, and Dr. Jamid simulate the change in team performance depending on different conditions. Our “situation with women” is very similar, so the example is quite appropriate. To be fair, it should be noted that, in fact, the original source of this example is the book “Introduction to Systems: Thinking and ithink”. (Hanowr, NH High Performance Systems, Inc., 1994) .
To build a model, create a new file in iThink and on the “Model” tab I will start adding its elements.
But first you need to select factors and numerical values ​​for modeling.

Factors

In order to reduce the lengthy reasoning in the romantic style, I will briefly highlight the factors that can influence the model:
  1. Recruitment to the project
  2. The cost of integrating new members into the team
  3. Negative scale effect
  4. The effect of merging from collaboration

Numbers

Next, we need to identify quantities that can be measured in some way. In this case, without this simulation will be impossible.
So, our numerical values ​​are:
  1. The number of employees
  2. The volume of the implemented functional in arbitrary units ( functional units )

Build a model in iThink

In order to make it easier to perceive the model, I will begin its construction from the end.
Take two containers . One - complete, will symbolize the work that needs to be done. The second - empty, will symbolize the work that the team has already done. Connect them through the valve , which will determine how quickly the work from the first container will move to the second. Thus, this valve will characterize the performance of the team to perform the necessary work. Unfortunately, iThink is not very good friends with Russian signatures, so I’ll do all signatures in English.
image
In the next step, we need to introduce the process of accepting new staff (for example, developers) to the team. It is also worth remembering that effectively the staff does not start working immediately. To start new employees, you must "enter" into the project. Even if they are very experienced and qualified people, they still need to delve into the project: to understand the accepted approaches, to clarify the nuances, etc.
The diagram below shows:

image
Next, we need to relate the staff (number of employees) and the change in the amount of implemented / unrealized functionality (in arbitrary units). To do this, we introduce another element in our model - the converter . A converter is a formula (rule) that converts one numeric value to another. In this case, the converter will reflect the so-called negative scale effect - diseconomies of scale , i.e. how much less effective each subsequent team member will be. This amendment I laid in the form of speculative graphics.
image
In iThink, converters can be defined both graphically (a set of values ​​through which the curve passes) and analytically - as a formula.
In order not to overly dive into the details of the model and not to create a basis for disputes, I will not give formulas here. I am sure that everyone will have his own formulas.
image
At the next stage, we will add one more converter - the “integration cost” - Integration Cost. This converter will show how the effectiveness of the team decreases when new employees are introduced (the “old-timers” are forced to distract from their main job in order to help the newcomers).
image
Another interesting factor in teamwork is known - the “merge effect” - Join Effect. Sometimes over time, people in a team become more than the sum of individuals. People become a team! Supporting each other, they begin not only to work more efficiently than if they worked alone, but it is also easier to take on new members of the team - it’s easier to join the friendly team (unfortunately, it happens and vice versa). To simplify the model, we point out that this factor in a certain way influences the integration cost factor.
image
At the last stage, we will add one more arrow so that after work is finished, stop hiring new people. In fact, it is necessary to stop taking it even earlier, but for now we will not complicate the model.
image
Model improvement

Of course, that the presented model is not perfect. Naturally, there are mistakes in it, there are ways to clarify and add new factors affecting the process.
For example:
In general, there is enough space for creativity. :)

Decision-making


Now, actually, about making a decision. The resulting model helps to decide on how long the “infusion” of new members into the team is still quite effective.
In order to understand what will happen, run the model.

As a result, we obtain the following graphs.
The first chart shows how quickly the backlog will be converted into completed. The main thing that can be seen here is that the process is non-linear.
image
But the second graph is more interesting. He is already showing exactly how the performance of the team changes as more team members are introduced. From the graph, for example, it is clear that in the short term, productivity drops. Notice how far it is from straight lines.
image
In order to understand how many people a team can take into their ranks relatively painlessly, you need to adjust the Income Staff valve, set different values, and re-scroll the model.

Conclusion


In this topic, I briefly told you how to simulate your feelings, check your guesses and try to show someone the reasons and arguments of a decision being made. Unfortunately, this does not guarantee you that you can convince anyone.
As always, the "silver bullet" does not exist. Simulation will not be able to make decisions for you and convince others. No software (at least at the level of development that we have now) will not reach your premonitions from the depths of your subconsciousness itself. But, fortunately, we have very effective tools that help us not only better understand our arguments, but also predict the situation.

UPD: At the request of the workers , the model itself is available here . You can experiment.

Source: https://habr.com/ru/post/83621/


All Articles