📜 ⬆️ ⬇️

Consideration of risks in assessing the complexity of software and project planning

Let's talk about the risks


dice
What are the risks? What is risk and what is not? How to take into account the risks in assessing the complexity of software and project planning? I propose to talk about this in this topic. At the same time, in order not to inflate a topic and not to repeat , the issues of identifying and mitigating risks — actions to identify, reduce the likelihood of risks occurring and minimizing their consequences — will not be discussed here.
After the publication of the article about the deadly sins in the assessment of the complexity of the software I was told that neither the author nor I said anything about the risks. I want to correct this annoying misunderstanding and tell you a little about the risks and my experience with them.

Typical risks


Below is a list of typical risks for a software development project.

What is NOT a risk


Is global warming at risk? And what about the change in the market situation? And the possible collapse of the customer’s company or, God forbid, your company?
It is more correct to ask: “Which of these risks should be taken into account in your project?”

Somehow we carried out an assessment of the complexity of the next project. Having burned on a recent project, we tried to lay as much risk in the evaluation of a future project as possible. It turned out very impressive list.

After reviewing this list, my previous supervisor and mentor told us: “Don't put your unprofessionalism in risks!” How? Me and my colleagues were accused of lack of professionalism ?! I was a little offended by him then. We were forced to exclude quite a few points that really seemed like risks to us. Some time passed since then, I got a little cold, read books, rethought my previous experience. Now I can say that I have to agree with him on a number of points. So, I will list some cases that should not be considered risks.
')

Risks whose probability tends to 100%


Risks whose probability tends to 0


This list may seem a bit far-fetched. It is given only to illustrate possible "incredible" risks. It is important to understand that the same risks can become unbelievable depending on the nature of the project and its duration.

Works that are part of a project or methodology


Risk management planning


Here you need to make a small digression and explain why the risks need to be considered . As Tom De Marco said, "in order to manage a project, it is enough to manage its risks ." But! This concerns the moment when the project has already started. When there is, what to manage. Now imagine that the evaluation and planning of the project is carried out before its start. And in general, it is not known whether the project will be launched or not. Do I need to take into account the risks at this stage? Yes and no…

On the one hand, at the initial stage, possessing insufficient information, we can either overfill the risks and underestimate them. On the other hand, it is not a reason to completely ignore them. We have to look for a reasonable balance and yet somehow take into account the most significant risks for this project, which we identified at the very beginning.

Definition of terms


We introduce the concept of "pure labor intensity"
We define net laboriousness as laboriousness in “ideal man-days” necessary for the implementation of a particular task. To explain what is meant here, I will use the description taken from the book Scrum and XP from the Trenches from the experienced Scrum Master Henrik Kniberg . So:
“ An ideal man-day is the most productive day when nobody and nothing distracts from the main occupation. Such days are rare.” (c) Henrik Kniberg

In other words, we will assume that the task is so laborious, provided that none of the risks are realized.

Uniform distribution of risks by task or hidden hat technique


image
As an “introductory” report, I’ll give an anecdote told to us by one of the top managers in response to the presented estimates of a recent project:
The employee comes from a business trip, delivers a expense report, and there, among other things, is “Hat: $ 100”
They ask him in accounting ...
- What kind of hat is that?
- Well, I bought myself a hat ... cool ... all things.
- $% & * #! Go change the report!
Well, brings a new, there again, "Hat: $ 100"
Well, again, "$% & * #!", Go change it so that there is no hat.
It brings ... They look - everything is normal ... you’re not digging, there are no hats ... but the final amount has remained as it was.
Ask:
- Where's the hat?
- Yes, there she is ... there ... only you find her hell!

So, this method can be applied when considering risks.
For example, one or more risks, expressed in the form of some additional complexity, can be simply evenly distributed over the other specific tasks, as indicated on the fragment of the Gant chart below:
image
Here, blue color indicates task rectangles with net laboriousness. Signatures - resources assigned to tasks (people). Red color denotes a rectangle in which the labor intensity is concentrated, which is added due to the risk response.
Thus, on the one hand, risk is assessed in the assessment, and, on the other hand, non-focusing on them. This is the method of accounting I met in the book to which I referred above. I note that this book does not explicitly say that it is precisely risk management, but the analogy can be traced very clearly. If interested, see the chapter on planning.

Separate tasks


Now imagine that we have identified some kind of risk that is tied to both resources, but does not increase the duration of work on the tasks they solve. Take a look at the chart below:
image
The figure shows that the total duration of all tasks has not increased, since the risk rectangle is parallel to other rectangles. This approach makes sense to apply in the event that the risk, increasing the overall complexity of the tasks, does not shift the final deadlines. This happens (when the total duration of the project does not increase), unfortunately, very rarely.

Now let's turn to another diagram:
image
Here the red task-risk goes sequentially (end-to-end) with other tasks. Thus, the total duration of work (term) increases.

The approach of risk accounting by identifying independent tasks makes sense if the plan consumers are required to designate risks in an explicit form. It is important to remember that task-risk is fictitious. As a result, during the implementation of the project, this task will either degenerate into a specific task (a new blue rectangle), or “join” into other tasks, or will not be executed at all. Such accounting is important precisely at the initial stage of planning, so as not to lose a possible time shift or budget increase.

findings


I will make an additional emphasis on the fact that taking risks into account does not mean refusing to deal with them; this is not an attempt to avoid a problem instead of solving it. In many cases, it will be more appropriate to create such conditions when the risk from the category of probable becomes the discharge of the impossible . It is possible, however, that part of the risks could not be eliminated. In this case, it will be useful to take into account such risks.

Please forgive if the topic is too long. I limited myself to wherever I could. In particular, in the post there is absolutely nothing about how risk accounting can be used in the PERT method. If the topic is sufficiently demanded, then a separate topic will be created on this topic.
Thanks to those who read to the end!

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


All Articles