The difference between architecture optimization and release iteration was described in the previous section. It is believed that the impact of architecture optimization work is much greater than that of release iteration requirements work. In the early stage of architecture optimization, we have been trying to find the risks of the entire architecture optimization process as much as possible and avoid them in advance. After many working practices of architecture upgrading, I found that it was unrealistic and too ideal to find and avoid all risks in advance. No matter how well prepared you are, there are still risks in the process of architecture optimization.

The main reason is that the whole process of architecture optimization is a continuous and long-term process, which is influenced by many subjective and objective factors. Some of the risks brought by these factors are unknown and passively accepted; Part of it is known and prepared in advance. Some of them can be pushed forward by personal influence, and some of them are mutually influenced by the larger environment and have to accept the fact.

No matter what the risk caused by the factors, the most important way to avoid risk is still to judge the influence of relevant factors and turn the unknown into known. How to define the risk as known or unknown? Let me draw a standard here

  • A known risk means that A risk is known before it happens. For example, when module A is planning, it needs 8 days of manpower development, but there is no manpower. This is A known risk. Knowing that no one else is doing it and aiming to do it in eight days is a risk.

  • And unknown risk refers to risk in the case of the (back), did not know this matter, and the above module A, for example, at the beginning of the project to determine the research and development personnel responsible for R, project started, R classmates leave (or be seconded yields and project), and other causes human can’t input, the module is A research and development progress will be affected, indirect influences module progress together. Receiving such information at the moment is an important and urgent matter that needs to be addressed. However, it also requires a familiar process to find someone, which involves a series of changes such as working hours and quality, which have uncontrollable influences on the process and results of architecture optimization.

For known risks can through some methods to avoid ahead of time, such as the role of the target is not consistent, defect of technical scheme, investment research and development of human and time uncertainty, developers are not familiar with the business, collaborative dependence relations are not clear and so on, these known risks, laid certain, uncertain known risk aversion. Feedback to relevant personnel at the same time, research and development process are also important, the ability of risk on the team, each person is responsible for matters, will have the possibility of risk, what will happen when there is a potential risk, information synchronization will be more important at this moment, in daily work, the more complex, the implementation cycle is long, collaborative staff more projects, It is difficult for any one person to fully understand and anticipate all the risks.

However, unknown risks are difficult to avoid in advance through some methods, because these risks are beyond the scope of individual ability, and even beyond the scope of knowledge of the whole team. Objectively speaking, the work of architecture optimization is applied to different products, and the realization path needs to be combined with the product to achieve the optimization effect. It is difficult to fully reuse the historical experience, and some of the past experience will be different in the application of new projects. Some factors in the process of research and development of the whole not foreseen risk in advance, no advance preparation for the unknown risks, once the risk occurs, can only passive to accept, and passive solve the problem, the dependence on related preparation is inadequate, and at the same time also can produce new risks, the risk of unknown is the main reason for the project implementation is out of control.

In conclusion, the impact of unknown risks after occurrence is higher than that of known risks, and the known risks will also become unknown risks if they are not paid enough attention to. For known risks, reasonable resource investment and avoidance should be carried out according to the impact degree and probability of risks. However, unknown risks are generally in the process of implementation, with strong timeliness. It is necessary to have a good information synchronization mechanism, efficiently obtain risk information, and timely avoid and stop loss.

Other reference

  • [Thinking about the process of architecture Optimization] Quality over efficiency

  • Avoid random trial and error

  • [Thinking on the process of architecture optimization] Continuous technological innovation

  • [Thinking about the process of architecture Optimization] the value of specifications in R&D work

  • Summary of componentization benefits of R&D process

  • [Thinking about the process of architecture optimization] It is better to determine things by people than by people

  • Five key points of CR

  • Three dimensions of technical solution evaluation

  • The meaning of communication

  • [Thinking on the process of architecture optimization] Platform ecology is given priority

  • [Thinking on the process of architecture optimization] The sorting principle of technical requirements

  • The basic principles of active communication

  • [Thinking about the process of architecture optimization] The difference between architecture optimization and function iteration

  • [Thinking about the process of architecture optimization] Assume that the data is not believable

  • [Thinking about the process of architecture optimization] The value of the review