Software Engineering Project Risks

Source: Internet
Author: User
Like any other project, software project development also has various risks, some of which are even catastrophic. R. charette believes that risks are related to what is going to happen. They involve multiple factors such as thoughts, ideas, behaviors, locations, and time. Risks change with conditions, people can reduce risks by changing, selecting, and controlling conditions that are closely related to risks. However, policies for changing, selecting, and controlling conditions are often uncertain. In the process of software development, what risks do people care about? What is the impact of changes in customer requirements, development environment, target machine, time, and cost on the risks of software projects? What opportunities must people seize and take measures to effectively reduce risks and successfully complete tasks? All these problems are inevitable and need to be properly handled during software development. Software Engineering Risk Analysis includes four parts: risk identification, risk estimation, risk evaluation and risk management.

 

1. Risk Identification

From a macro perspective, risks can be divided into three types: project risks, technical risks, and commercial risks. The adverse effects on software projects due to project budget, progress, manpower, resources, customers, and needs are referred to as project risks. Potential problems that may occur during software design, implementation, interface, verification and maintenance, such as the ambiguity of specification descriptions, the adoption of outdated or immature technologies, etc, the hazards to software projects are referred to as technical risks. Developing a high-quality software that no one needs, or the sales department does not know how to sell the software product, or the developed product does not conform to the company's product sales strategy, is called a commercial risk. Some of these risks are predictable and some are unpredictable. To help project managers and project planners fully understand the risks in the software development process, Boehm recommends designing and using risk detection tables to identify various risks. Example 1 provides a reference "personnel allocation risk detection ".

Example 1: personnel allocation risk detection.

(1) What are the levels of developers.

(2) technical support of developers.

(3) How many developers are there.

(4) Whether developers can participate in software development from start to end.

(5) can developers concentrate on software development.

(6) Do developers have correct expectations for their work.

(7) Whether the developer has received necessary training.

(8) whether the flow of developers can ensure the continuity of work.

You can use, to answer the above questions. The value must be 0, 5, and 1, 2, 3, and 4 respectively. A greater value indicates a higher risk. The staffing risk detection table reflects the impact of human factors on software projects and can be used to estimate the risks of human factors on software projects.

2. Risk Estimation

Software project management personnel can measure risks from two aspects: the factors that affect risks and the loss caused by risks. To estimate various risks, a risk measurement index system must be established; the consequences and losses of various risks must be specified; the impact of risks on software projects and software products must be estimated; the quantitative results of risk estimation must be provided.

3. Risk Assessment and Management

During risk analysis, [ri, Li, XI], a triple, is often used to describe risks. RI indicates risk, Li indicates the probability of risk occurrence, and XI indicates the impact of risk. I = ,... L is the risk number, indicating that there are a total of L types of risks in the software project. During software development, project overspending, delays, and performance degradation may lead to termination of the software project, therefore, risk analysis of most software projects requires three typical risk references: cost, progress, and performance. When the risk reference volume of a software project reaches or exceeds a critical point, the software project will be terminated. In the software development process, costs, progress, and performance are interrelated. For example, the increase in project investment costs should match the progress. When the cost and delay of the Project exceed a critical point, the project should also be terminated. Generally, the risk estimation process can be divided

Step 4: ① define the risk reference volume of the project; ② define the triple of each risk [ri, Li, XI]; ③ define the critical point of project forced termination; ④ predict the comprehensive impact of several risk combinations on the reference volume.

The triple [ri, Li, XI] is the basis of risk management. The risk posed by the flow of senior staff to the project is Ri. Based on historical experience or intuitive feeling, the probability of a senior employee leaving the research group is: Li = 70%. The impact of this event is that the project development time is extended by 15% and the project cost is increased by 20%. The project owner can take the following risk management measures:

(1) The causes of risks should be controlled before the project starts, and efforts should be made to mitigate the risk impact after the project starts.

(2) understand the reasons for the change of project developers, and control the above reasons during project development to minimize the flow of personnel.

(3) Appropriate measures should be taken in terms of work methods and technologies to prevent losses to work due to the flow of personnel.

(4) The project development information should be published and exchanged in a timely manner during the development process.

(5) establish an organizational unit, determine document standards, and generate documents in a timely manner.

(6) Conduct a collective review of the work so that most people can understand the details of the work and keep up with the progress of the work.

(7) Prepare reserve personnel for key technologies.

To reduce the risks arising from the flow of senior staff to software projects, management personnel can take measures to cultivate reserve talents. In the software development process, we should try to involve more people in the overall design and key technology research work. Implementation of these measures requires a certain amount of manpower, time, and funding. Managers should analyze the situation objectively and make correct decisions based on the principles of reducing risks and losses.

There are about 30 to 40 risks in the development of a large software. If three to seven risk management steps are required for each risk, risk management can also constitute a sub-project in the software development process. People must understand that risk management requires not only human resources, but also financial support.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.