Risks to software development projects are often minimized or completely ignored because they are not as tangible as the risk of projects for other industries. The risks here and in the same way are able to implement the software development project in any other industry.
In the information area, most project managers had experience in designing the software development project to the smallest details, designing the plan's efforts for each task went to the last hour, then there were unforeseen problems that would spin the project and make it impossible in time or the originally planned service set.
Successful project managers must be skillful risk managers in every industry. Indeed, the insurance sector formalized the position of the risk manager. To successfully address the risks of the software development project, you must first identify these risks. This article was written to give you some tips and techniques for you. There are some terms that can not be applied directly to identifying risks that are considered useful before identifying risks. Some of these definitions are:
- Risk Event – This event that will impact the project if this occurs
- Threat – A risk event that will have a negative impact on the scope, quality, schedule or budget the project must take place.
- Opportunity – Not all risks pose a threat, some options that will have a positive impact on the scope, quality, schedule, or budget if that happens. Threats should be avoided or their effects reduced and opportunities promoted or their effects increased. – Problem – It is likely that a risk event occurs. This is what gambling businessmen call.
- Impact – Usually refers to a comparative cardinal assigned to a risk event or a regular rank. This can refer to an absolute monetary value, duration, feature set or quality level
- Risk tolerance – This applies to the entity's risk-taking approach. Conservative? Risk tolerance – The organization's risk tolerance is generally expressed as a cardinal or system component, and the likelihood and effect of the risk events to produce a comparator. Risks with a probability / effect that exceed this threshold can be avoided or alleviated. Risks with a score below the threshold are acceptable
- Risk-Based – This is the amount assigned to the project to manage the risks. It must be divided into two amounts: one for dealing with identified risks, one for dealing with the identified risks or about unknown unknowns.
The software development project manager can address multiple risks to identify risks: common risks (risks associated with any software development project), identified risks to the reporting organization on the basis of the SDLC methodology selected for the project, to developers, material developers, Workshops and Surveys
There are a number of risks that are common to any software development project regardless of size, complexity, technical components, tools, skills, and clients. Below is the list below:
- Missing Requirements – Requirements for developing the software system to meet the project's business objectives and objectives.
- Missing Requirements – Accepted Requirements but Initial Intent is Lost or Misinterpreted during the Capture Process
- Key or Critical Resources Take Project – These resources are usually single contributors or team members who are scarce they have the skills they offer with strong demand for a performing organization. The potential impact of losing the resource can be increased for any time when critical tasks are assigned to it
- Bad Estimate – Estimates of software development efforts are either underestimated (bad) or excessive (bad). Underestimation is the most common event. Work should normally be extended as long as you overestimate the total time.
- Missing or incomplete skills – The outcome of this risk event is the same as the result of a poor estimate, but the risk should be mitigated. The qualification of a junior programmer as an intermediate programmer can be a significant increase in efforts that are needed to produce output or are unable to complete their production
. – Risk events must be recorded by the project manager at the beginning of any risk identification activity, even though it is likely that another member of the team will identify them. Visible to risk identification practices will prevent the team from losing time during their calling and encouraging thinking about related risks ("… what if Jane could be called for a higher priority project?" Fred lost project? ")
These risks are unique to the project organization. These may include part of the risks in the list of common risks and other sources, but include risks that have no other source.
The project manager must consult with archives of previous joint software development projects on common risks where project records have been archived. Collect all the risk records of all previous projects (or at least to provide a representative risk register) and try to reconcile the risks with all risks. It is very unlikely that the risks will be common to any project where the records have a good selection, but to carefully examine the risks that occur in two or more registers for the project's applicability.
Assess project leaders in past software development projects in the organization where archives are not available. It may be that these project managers may also have archived project elements, including risk registers, in their personal location, even if the organization does not have a structured approach to archiving. The advantage of experienced project manager experience from previous projects will also be useful to decipher the risks inherent in archived risk registers
. Risks will not be included in the bilingual language between different registers (or between different project managers). To analyze the risk event statement, you must determine whether two or more risk events are identical to the various descriptions.
SDLC Special Risks
Your software development project is exposed to certain risks and protects others depending on which SDLC (Software Development Life Cycle) method is used for the project. Avoiding risk is an important aspect of selecting a project SDLC and the project needs to choose SDLC, which avoids or reduces the impact of the most likely risks in your case. To this end, identifying risks and selecting SDLC is like chicken and egg: it is difficult to determine what happens first. Here's a tip for sequencing two. Select SDLC from the type of software developed and the organization you developed it (What is your organization's experience with relevant devices and components?) What experiences do each SDLC have? ). Once you have decided on SDLC, you can determine the risks involved and if your risk level exceeds your organization's risk appetite, you can visit your choice again.
There are risks or SDLC categories. Some of the most common risks associated with the most popular types or categories of SDLC
The projects that use the waterfall method will be most likely to affect all the risk events affecting the roadmap and this is because there are no intermediate checkpoints in the method, early to recognize the problems. Delaying any activity of requirements for user acceptability testing delays the final delivery of the project. Risk events in the "delay" category include: lack of tools or components (eg programming languages, test tools), delays due to underestimation of efforts, delays due to inexperience and delays due to delays.
Delay is not the only risk event that the waterfall project tends to. Waterfall projects are not properly designed to disseminate the project's learning, so mistakes made in a development area can be repeated in other areas and will not occur until project completion. These errors would mean that development may take longer or plan than it was originally permitted to be redesigned, this scope decreases as a result of bad code dropping or product quality deterioration.
The waterfall method is used in larger projects that have a longer duration than other development methods that are prone to change. The task of the Change Management process is to handle all the requested changes in an orderly manner, but with the increase in the duration of the project, the chances will be met in the same way that the project will be overwhelmed by changes requests and analysis buffers. used.
Quick Application Development (RAD)
Quick Application Development is designed to shorten the time required to develop software applications. The primary advantage of this approach is the elimination of change requests – the theory is that if it provides fast enough traffic, no changes are required. However, this is a two-headed sword. The fact that the method relies on the lack of change requests largely limits the capacity of the project to be absorbed.
The most likely risks associated with this method will be related to the use of this method for use. The market or business may change during the project and can not respond to the originally modified request. Or the schedule is delayed until the change is made or the change is made, which creates a system that does not meet the customer's needs.
The RAD method requires a relatively small group and a relatively small service to support fast rotation. One possible result is that a small team is a skill that is not needed for the team. The other thing is that there is no redundancy in the skills, which means that the team's illness is not absorbed without the delay of the schedule or without assistance.
A distinctive feature of this development method is a project manager. This role is replaced by a team leader. Team management can be a project manager, but it is unlikely that the artist organization is looking for and experienced an experienced project manager to fill this role. This method prevents project manager management from avoiding some of the difficulties of project management best practices in simplifying development. The risk introduced by this approach is the lack of necessary discipline in the team: change management, requirement management, scheduling management, quality management, cost management, human resource management, procurement management and risk management
. because of the lack of project management discipline, the project is open to failing to change the change properly, resulting in ignoring changes or making incorrect changes. The lack of experience in human resource management can lead to unresolved conflicts or inappropriate work definitions
The most important iterative methods are Rational (Unified Process) and Agile RUP. These methods use the design and development iterative approach, summarizing here. This method is used to accommodate changes to projects for dynamic business. The cycle of definition, design, construction and testing of the requirements is done in iteratively for each cycle that passes for weeks (how long will the cycles depend on the methodology). Iterative developments allow the project team to learn past mistakes and to effectively change the changes.
The Iterative Methods are all based on the ability to build a system for components that can be designed, built, tested and deployed. One of the advantages of this method is its ability to produce an early model in the project. One of the risks of this method is the risk that the architecture does not support the separation of the system into components that can be demonstrated on their own. This is a risk of not learning a bug that can not be found until users are testing the system.
The Trade in Iterative Development: Develops a basic function that can be first demonstrated that results in most learning. Choosing the core functionality of development can be a risk of not learning enough about the developed system to promote future iterations. Choosing the most complex or toughest component can be the risk that the customer does not require the system.
Activity Specific Risks
Each activity in the development cycle has its own risk sequence independent of the methodology chosen. The task of collecting the requirements involves the following risks: the collected requirements may be incomplete, the collected requirements may be misleading or the collection of requirements may take too long
The design part of the cycle involves the following risk: design does not properly interpret the requirements that the built-in function does not meet the customer's needs. Planning can be done in such a way that it requires more complexity than needed in the code. Design can be described as making it impossible for a programmer to create a code that works properly. The draft can be described in a way that is ambiguous or difficult to follow, requires a lot of follow-up questions or a risk of poor execution. From a commercial specification to a detailed design document, there are several design phases. Interpreting the Requirements for Each Section Makes Disclosed Requirements Wrong Interpretation
Programmers may even misinterpret the specifications when they are perfectly written and endangering the development of an application that does not meet the requirements. Testing the unit, function, and system can be slip-free and may cause errors in the QA environment that will take more time to resolve. Different programmers can interpret the same specification when developing various modules or features that need to work together. For example, some of the functional specification can be dealt with by entering both one module and the other output that is output to two different programmers. The risk is that the difference will only be found until software integration and system testing
Testing here concerns quality assurance testing and user acceptance testing. Although these two activities are different from the perspective of the investigator, it is quite enough to unite our purpose. Actual testing efforts may exceed the planned effort due to the number of errors found. Too many mistakes in testing result in excessive overhaul and re-testing. Test script writers can interpret descriptors of their employees, such as analysts, programmers, or clients. User acceptance testers come from the business community, so they are inclined to reduce or eliminate the risk of business demands.
Subject Sensors (SMEs)
The relevant experts are key to the success of the project due to their knowledge. Experts on the subject can contribute to all aspects of the project, but are particularly important for compiling the requirements, analyzing change requests, business analysis, risk identification, risk analysis, and testing. A key risk for SMEs is that the key SMEs in their project may not be available when promised. This will be particularly damaging if the SME is responsible for critical delivery.
Risk Workshops are well suited for identifying risks. The advantage of the workshop is that they gather a group of material experts in a room to share their knowledge. The result should identify the risks that could not be identified by the individual assessment of SMEs and the identification of mitigating strategies for multiple risk events
Counseling on the management of productive workshops does not fall within the scope of this article that I will give you some tips that can help you starting at
- Calling the Right SMEs – Cover All Phases and Activities of the Project
- Communicate with every detail of the project you are aware of. These include implementation, milestones, priorities, etc.
- Get active sponsorship for the project sponsor. This includes participation in the workshop where this is feasible.
- Call at least one SME for each area or phase
- Group the group as subgroups according to specializations or project phases, with a large number of SMEs.
- Make sure that different groups or SMEs communicate their risks to encourage their new territory.
The risk workshop does not end with the identification of risks. Investigations, their comparison, probability and impact assessment, and their mitigation or avoidance strategies must be evaluated.
Surveys or surveys are an acceptable alternative to risk workshops where subject managers are not located. However, the lack of synergy that you get with a workshop is yours. Any information that may be useful to the relevant experts identified at the beginning of the task is disclosed. If this is done, you can send forms for SMEs that take on the risk events, the source of the risk, the impact of the risk event for the project, etc.
and look for risk events that are either a different approach to describing the same risks that allow them to combine the two risk events or manage the same mitigation strategy.
Another disadvantage of lack of participation is the survey or query method. You may receive a single SME in a project phase or in a specialist field, but you need to involve reluctant contributors. Do not hesitate to ask the sponsor of the project to get the required level of participation. You may still be able to send invitations and survey forms originally.
To date, we have been connected to all the sources of identified risks that we have discussed with the design phase of the project. Appropriate implementation during planning will allow you to collect a comprehensive risk list but tend to reflect more accurately the risk of earlier project phases than at later stages. After creating the initial risk register, you need to keep this document while knowing more about the project by completing the work and the risks are out of date because work at risk has been completed.
Team meetings are the ideal place to update risk records. The issues that we can anticipate when a team discusses its results to complete their implementation often relate to the risk of delivery deadlines. It is worth distinguishing a segment of the meeting to review the impact and probability scores of existing risks in order to determine the impact of a one-week transition. Consider the team to identify potential new risks. The risks that were unnoticeable when the work was designed for the first time could become apparent as the start time of the work is closer to the job or more. The project can identify a new job as it has completed the intended work for which the risks were originally not identified.
It intends to engage in special risk strategic meetings with SMEs in case the team does not sufficiently know the project's risks. actively contribute to the up-to-date risk register. This approach is beyond team meetings when the software development project is large enough to require subprojects. Check each of the active risks in the inventory and analyze the effect on time passes. Typically, the work approaches the likelihood of the risk event and / or the effect will increase. As we do more work, the likelihood and effect will decrease.
You must be aware of the plan for the completed work plan. The risks associated with the work that has just been completed are out of date and can no longer be part of the risk probability and impact assessment