Understanding of Risk Analysis in Software Engineering

Importance of risk analysis in software projects can4) Risks related to Software Engineering Process:
be judged from the fact that, no SoftwareClear cut definition of the entire process of software
Development Life Cycle is viewed as complete unlessengineering is of paramount importance for the
it has passed through active consideration to areassuccess of the product. A badly planned process will
having several types of risks associated with them.result into a software product posing great threats to
The vulnerable areas covered under the process ofitself as well as to the organization.
risk analysis areFollowing guidelines / checklist can be helpful in
1) Assessment of Riskidentifying the software engineering related threats
2) Characterization of Risk& planning their counter measures.
3) Communication of the Risk- Ensure the availability of a documented process
4) Risk Managementplanned for the development of the software product.
5) Defining the Risk Related Policies- Ensure that all the participants of the product
Following terms related to Risk Analysis need to bedevelopment team (whether in-house or third party
understood clearlypeoples) is religiously following the documented
Let us try to understand as to what is Risk Analysis?process
It is a technique employed to identify and assess- Ensure the availability of a mechanism for monitoring
various factors, which may jeopardize the success ofthe activities & performance of third party
a project or achieving a goal. These factors can posedevelopers & testers, if any.
some sort of threat to the project. Thus risk analysis- Ensure the active participation of someone who can
covers the process of scientific assessment of suchregularly monitor the technical reviews conducted by
threats vulnerable to the attainment of thethe development teams as well as the testing teams.
organizational goals.- Ensure the proper documentation of outcome of the
Risk analysis technique is helpful in defining preventivetechnical reviews detailing the resources deployed to
measures to reduce the probability occurrence of suchunearth what type of software bugs.
threatening factors. It includes identification of various- Ensure the availability of a configuration management
countermeasures to successfully deal with suchmechanism for ensuring adequate consistency in
constraints with an objective to avoid devastatingdesign, development and testing of the product in line
effects on the organization's competitiveness in thewith the basic requirements already defined.
trade.- Ensure the availability of a mechanism to handle the
One of the risk analysis technique gaining popularity inchanges in product requirements raised by the
IT sector is known as FRAP - (Facilitated Riskcustomer from time to time. Such system should be
Analysis Process)able to analyze the impact of such changes on the
What is Risk Assessment?software product
Risk assessment involves finding out the quantity and5) Risks related to the Technology of Development:
quality of risk associated with a situation of knownMany times technological factors also pose great
threat. It covers thorough evaluation of existing securitythreat to the success of the software product.
& environment related aspects with a view toFollowing guidelines / checklist can be helpful in
assess the probability of harmful effects of the threatsidentifying the technology related threats &
to the organization. Risk assessment is the first andplanning their counter measures.
foremost step in a risk management process.- An absolutely new technology being used for building
What is Business Impact Analysis or BIA?the software application can be a threat to the
Business impact analysis refers to the process oforganization.
finding out the functions critical to the operations of the- Unless proper interface is developed between the
organization. The outcome of business impact analysissoftware & hardware of some new
effort is having differentiation between critical andconfigurations, there can be a cause of threat.
non-critical functions in the organization. A function is- Unless function, performance and interface of the
viewed as critical when its implications aredatabase system has been proven across the
unacceptable to the organization, or when it is dictatedapplication area in question, there can be a cause of
by the law or demanded by the customer or havingthreat.
constraint of internal operations or having unacceptable- Requirement of some absolutely new or highly
financial implications.specialized interface as expected by the product can
What is Risk Management?also pose a threat
Risk management is a structured methodology of- Demand of some specialized requirements of
handling uncertainty associated with a threat. Riskparticular type of design and testing tools and
management includes development of strategies totechniques can be a cause of concern or risk.
handle the risk either by- Too much of structured requirements imposed by
- Transfer of the risk to some other partythe customer can a lot of pressure on the
- Taking actions so as to completely avoid the riskperformance of the product
- Taking measures aimed at reducing the damaging- Inadequacy of productivity-related metrics and quality
effects of the inevitable riskrelated metrics available to the product development
- Taking decision to accept some or all of theteams can pose risk of emergence of poor quality
consequences of a particular risk.product
Few of the Risks associated with software product6) Risks associated with development & Testing
are described as under:Tools:
1) Risks related to the Size of the Product:Different types of development and testing tools can
The size of the software product also can posealso be a cause of concern many a times during the
threat when it gets subjected to unexpectedly highSDLC.
deviation compared to the expectations. As a best- Use of some typical methods for analysis can be a
practice, the expectations from the product arecause of concern.
compared with similar situations encountered in the- Use of some typical methodologies for
past & learning from the past happenings.documentation can be a cause of concern.
Some of the risks associated with the size of the- Use of some typical methods to design the test
software product can be:cases can be a cause of concern.
- Judgement on the size of the product can be a- Use of typical tools for managing the project
threatactivities can be a cause of concern.
- Judgement on the number of users using the product- Use of particular tools for configuration management
can be a threatduring the SDLC can be a cause of concern
- Judgement on the size of the associated database- Use of particular tools for prototyping purposes can
can be a threatbe a cause of concern
- Uncontrolled changes in the product requirements can- Use of particular tools for providing support to the
be a threat to the product sizesoftware testing process can be a cause of concern
2) Risks having Impact on the Business:- Use of particular tools for managing the
There are certain types of threats or risks, which candocumentation can be a cause of concern
have effect on the performance of the business. Such7) Risks related to the developmental Environment:
risks are like:Environment provided for development of the product
- Quality of the software product having an impact onalso plays a key role in the success of the product.
revenue of the company.Some of the factors or situations described below can
- Product delivery dates having impact on thepose certain amount of risk.
company business, including costs of delayed delivery.- Availability of an adequate tool for the management
- Inconsistent customer needs having impact on theof the software product & its development
company business.processes.
- Drastic change in number of users expected to use- Availability of an adequate tool for performing design
the product having impact on the company business.and analysis activities.
- Inadequacy of help / documentation as expected by- Adequacy of performance of tools deployed for
the customer.design and analysis of the product being created
3) Risks related to Customers:- Availability of a suitable code generators or compiler
Every customer has a different personality, so arecompatible with the product being created
their needs. We can categorize customers in the- Availability of a suitable testing tools compatible with
following way according to their behavior &the product being created.
reaction to the product delivered to them.- Availability of a suitable configuration management
- Type of customers who happily accept a product astools compatible with the product being created.
it is when delivered- Compatibility of the databases with the environment
- Type of customers who are of complaining natureunder which they are deployed.
& usually tend to grumble on the quality of the- Compatibility or proper integration of all software
product delivered to them. Such customers pose atools with each other
reasonable amount of threat to the project manager- Adequacy of skills / training to all concerned team
handling the projectmembers as regards application of the tools.
- Type of customers who happen to have past8) Risks related to the quality of development
association with the product developing companypersonnel:
- Type of customers who have good technicalA product coming out of the hands of personnel of
knowledge of the productlower skill levels shall be certainly a cause of risk to the
- Type of customers who have fairly goodorganization. Following checklist shall be helpful in
understanding of the usage of the productbridging the gaps in this area.
- Type of customers who have a good understanding- Deployment of personnel having best possible skills
of process of software engineeringappropriate to the project
- Type of customers who are ready to participate in- When in a team, proper combination of various
the process of reviews during the SDLCpersonnel with different temperament & skill levels
- Type of customers who are not much aware of theis important.
product & start using it as & when it comes- Availability of the nominated personnel during the
- Type of customers who are technically clear aboutcomplete duration of the project is of key importance.
their requirements / expectations from the productThe project will get seriously affected If the persons
& are able to define the scope of the projectleave in between, due to any reason.
clearly